{
  "id": "QnVdtKiTf3nbrNkh",
  "meta": {
    "versionId": "1.0.0",
    "createdAt": "2025-09-29T07:07:46.595558",
    "updatedAt": "2025-09-29T07:07:46.595627",
    "owner": "n8n-user",
    "license": "MIT",
    "category": "automation",
    "status": "active",
    "priority": "high",
    "environment": "production"
  },
  "name": "Summarize emails with A.I. then send to messenger",
  "tags": [
    "automation",
    "n8n",
    "production-ready",
    "excellent",
    "optimized"
  ],
  "nodes": [
    {
      "id": "trigger-7091d1f1",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        100,
        100
      ],
      "parameters": {}
    },
    {
      "id": "50e12e63-df28-45ac-9208-48cbf5116d09",
      "name": "Read emails (IMAP)",
      "type": "n8n-nodes-base.emailReadImap",
      "position": [
        340,
        260
      ],
      "parameters": {
        "options": {},
        "postProcessAction": "nothing"
      },
      "typeVersion": 2,
      "notes": "This emailReadImap node performs automated tasks as part of the workflow."
    },
    {
      "id": "6565350b-2269-44e3-8f36-8797f32d3e09",
      "name": "Send email to A.I. to summarize",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        700,
        260
      ],
      "parameters": {
        "url": "{{ $env.API_BASE_URL }}",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n \"model\": \"meta-llama/llama-3.1-70b-instruct:free\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"I want you to read and summarize all the emails. If it's not rimportant, just give me a short summary with less than 10 words.\\n\\nHighlight as important if it is, add an emoji to indicate it is urgent:\\nFor the relevant content, find any action items and deadlines. Sometimes I need to sign up before a certain date or pay before a certain date, please highlight that in the summary for me.\\n\\nPut the deadline in BOLD at the top. If the email is not important, keep the summary short to 1 sentence only.\\n\\nHere's the email content for you to read:\\nSender email address: {{ encodeURIComponent($json.from) }}\\nSubject: {{ encodeURIComponent($json.subject) }}\\n{{ encodeURIComponent($json.textHtml) }}\"\n }\n ]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "{{ $credentials.genericCredentialType }}",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2,
      "alwaysOutputData": false,
      "notes": "This httpRequest node performs automated tasks as part of the workflow."
    },
    {
      "id": "d04c422a-c000-4e48-82d0-0bf44bcd9fff",
      "name": "Send summarized content to messenger",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1100,
        260
      ],
      "parameters": {
        "url": "{{ $env.API_BASE_URL }}",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n \"to\": \"U3ec262c49811f30cdc2d2f2b0a0df99a\",\n \"messages\": [\n {\n \"type\": \"text\",\n \"text\": \"{{ $json.choices[0].message.content.replace(/\\n/g, \"\\\\n\") }}\"\n }\n ]\n}\n\n\n ",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "{{ $credentials.genericCredentialType }}",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2,
      "notes": "This httpRequest node performs automated tasks as part of the workflow."
    },
    {
      "id": "57a1219c-4f40-407c-855b-86c4c7c468bb",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        0
      ],
      "parameters": {
        "width": 361,
        "height": 90,
        "content": "## Summarize emails with A.I.\nYou can find out more about the [use case]({{ $env.WEBHOOK_URL }}"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "17686264-56ac-419e-a32b-dc5c75f15f1f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        283,
        141
      ],
      "parameters": {
        "color": 5,
        "width": 229,
        "height": 280,
        "content": "Find your email server's IMAP Settings. \n- Link for [gmail]({{ $env.WEBHOOK_URL }}"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "1862abd6-7dca-4c66-90d6-110d4fcf4d99",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        0
      ],
      "parameters": {
        "color": 6,
        "width": 365,
        "height": 442,
        "content": "For the A.I. you can use Openrouter.ai. \n- Set up a free account\n- The A.I. model selected is FREE to use.\n## Credentials\n- Use header auth\n- Username: Authorization\n- Password: Bearer {insert your API key}.\n- The password is \"Bearer\" space plus your API key."
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "c4a3a76f-539d-4bbf-8f95-d7aaebf39a55",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1000,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 307,
        "height": 439,
        "content": "Don't use the official Line node. It's outdated.\n## Credentials\n- Use header auth\n- Username: Authorization\n- Password: Bearer {channel access token}\n\nYou can find your channel access token at the [Line API console]({{ $env.WEBHOOK_URL }} Go to Messaging API and scroll to the bottom."
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": null,
    "timezone": "UTC",
    "executionTimeout": 3600,
    "maxExecutions": 1000,
    "retryOnFail": true,
    "retryCount": 3,
    "retryDelay": 1000
  },
  "versionId": "81216e6a-2bd8-4215-8a96-376ee520469d",
  "connections": {
    "6565350b-2269-44e3-8f36-8797f32d3e09": {
      "main": [
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-34f28c14",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-e40bf2ab",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-6547d1dd",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-fcb04902",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-713ee5a9",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-4fd0657a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-ecfb48b5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-0eca2203",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d04c422a-c000-4e48-82d0-0bf44bcd9fff": {
      "main": [
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-13c62345",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-e260d4ac",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-f5e9ab25",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-d9eb451b",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-09820624",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-9de91384",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-5f3c3169",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-ce8adb75",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "50e12e63-df28-45ac-9208-48cbf5116d09": {
      "main": [
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-2ad6950c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-2985b123",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-04de03e2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-1e3f32af",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-91c933ef",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-de48e49a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-4cd1bb8f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-a123355a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "description": "Automated workflow: Summarize emails with A.I. then send to messenger. This workflow integrates 4 different services: emailReadImap, httpRequest, stopAndError, stickyNote. It contains 12 nodes and follows best practices for error handling and security.",
  "notes": "Excellent quality workflow: Summarize emails with A.I. then send to messenger. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}