{ "id": "QnVdtKiTf3nbrNkh", "meta": { "instanceId": "workflow-e2d9fe81", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:46.555406", "updatedAt": "2025-09-29T07:07:46.555418", "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-96f29fe0", "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" }, "credentials": { "imap": { "id": "gXtdakU9M02LBQc3", "name": "IMAP account" } }, "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" }, "credentials": { "httpHeaderAuth": { "id": "WY7UkF14ksPKq3S8", "name": "Header Auth account 2" } }, "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" }, "credentials": { "httpHeaderAuth": { "id": "SzcKjO9Nn9vZPL2H", "name": "Header Auth account 5" } }, "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-6ffb34ca", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-e5767356", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-4b8b6bbe", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-ee493dea", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-415244ac", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-0dbac0f9", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-c8d74a6e", "type": "main", "index": 0 } ], [ { "node": "error-handler-6565350b-2269-44e3-8f36-8797f32d3e09-c7edbb09", "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-a0805443", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-0dc5e4f8", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-210034b6", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-c2a1025a", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-f265675b", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-b59c85fd", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-4061ba2c", "type": "main", "index": 0 } ], [ { "node": "error-handler-d04c422a-c000-4e48-82d0-0bf44bcd9fff-bcda04bd", "type": "main", "index": 0 } ] ] }, "50e12e63-df28-45ac-9208-48cbf5116d09": { "main": [ [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-a71d07a7", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-3bb937c8", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-563385b1", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-aa0dbd72", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-93b980dc", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-c56aaf58", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-1f0ac9dd", "type": "main", "index": 0 } ], [ { "node": "error-handler-50e12e63-df28-45ac-9208-48cbf5116d09-06c658a3", "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." }