{
  "nodes": [
    {
      "name": "On clicking 'execute'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -100,
        470
      ],
      "parameters": {},
      "typeVersion": 1,
      "id": "node-cee6415d"
    },
    {
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Get news page",
      "position": [
        100,
        470
      ],
      "parameters": {
        "url": "{{ $env.BASE_URL }}",
        "options": {
          "fullResponse": true,
          "batchInterval": 500
        },
        "responseFormat": "file",
        "queryParametersUi": {
          "parameter": []
        },
        "headerParametersUi": {
          "parameter": []
        },
        "allowUnauthorizedCerts": true
      },
      "notesInFlow": true,
      "typeVersion": 1,
      "id": "node-439dd4e4"
    },
    {
      "name": "HTML Extract",
      "type": "n8n-nodes-base.htmlExtract",
      "notes": "extract news data",
      "position": [
        310,
        470
      ],
      "parameters": {
        "options": {},
        "sourceData": "binary",
        "extractionValues": {
          "values": [
            {
              "key": "news_title",
              "cssSelector": ".storylink",
              "returnArray": true
            },
            {
              "key": "news_url",
              "attribute": "href",
              "cssSelector": ".storylink",
              "returnArray": true,
              "returnValue": "attribute"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 1,
      "id": "node-40d60771"
    },
    {
      "name": "list news url",
      "type": "n8n-nodes-base.itemLists",
      "position": [
        500,
        570
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "news_url"
      },
      "typeVersion": 1,
      "id": "node-de5c580f"
    },
    {
      "name": "list news title",
      "type": "n8n-nodes-base.itemLists",
      "position": [
        500,
        390
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "news_title"
      },
      "typeVersion": 1,
      "id": "node-4972722d"
    },
    {
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        700,
        470
      ],
      "parameters": {
        "mode": "mergeByIndex"
      },
      "typeVersion": 1,
      "id": "node-ee39fa6f"
    },
    {
      "name": "Spreadsheet File",
      "type": "n8n-nodes-base.spreadsheetFile",
      "position": [
        870,
        470
      ],
      "parameters": {
        "options": {
          "fileName": "=Ycombinator_news_{{new Date().toISOString().split('T', 1)[0]}}.{{$parameter[\"fileFormat\"]}}",
          "sheetName": "Latest news"
        },
        "operation": "toFile"
      },
      "typeVersion": 1,
      "id": "node-2d559433"
    },
    {
      "name": "Send email notification",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1050,
        470
      ],
      "parameters": {
        "text": "=Here are the latest news attached!",
        "options": {},
        "subject": "Ycombinator news",
        "toEmail": "",
        "fromEmail": "",
        "attachments": "data"
      },
      "credentials": {
        "smtp": ""
      },
      "typeVersion": 1,
      "id": "node-bf39fba3"
    },
    {
      "id": "error-a5a84d1f",
      "name": "Error Handler",
      "type": "n8n-nodes-base.stopAndError",
      "typeVersion": 1,
      "position": [
        1000,
        400
      ],
      "parameters": {
        "message": "Workflow execution error",
        "options": {}
      }
    }
  ],
  "connections": {},
  "name": "Production Workflow",
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": null,
    "timezone": "UTC",
    "executionTimeout": 3600,
    "maxExecutions": 1000,
    "retryOnFail": true,
    "retryCount": 3
  },
  "meta": {
    "instanceId": "workflow-fe44f468",
    "versionId": "1.0.0",
    "createdAt": "2025-09-29T07:07:48.592513",
    "updatedAt": "2025-09-29T07:07:48.592527",
    "owner": "n8n-user",
    "license": "MIT",
    "category": "automation",
    "status": "active",
    "priority": "high",
    "environment": "production"
  },
  "tags": [
    "automation",
    "n8n",
    "production-ready",
    "excellent",
    "optimized"
  ],
  "description": "Production-ready workflow: Production Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}