Summarize Emails with AI and Send to LINE Messenger
Automate your inbox by summarizing emails with AI (Llama 3) and sending key takeaways, deadlines, and action items directly to LINE Messenger using n8n.
Overview
Automatically summarizes incoming emails using AI to extract important deadlines and action items, and sends the concise summary to LINE Messenger for quick review.
🧠 Description & Use Case
This workflow acts as a personal assistant for your inbox. It automatically reads emails from your account, uses a powerful AI model (Llama 3) to create intelligent summaries, and sends these summaries directly to you via LINE Messenger. It's designed to help you quickly identify important information, action items, and deadlines without having to manually sift through every email, saving you time and reducing inbox clutter.
🔄 How It Works:
-
Read Emails (IMAP): The workflow begins by connecting to your email server using the
Read emails (IMAP)node to fetch unread emails. -
AI Summarization: The content of each email (sender, subject, and body) is sent to an AI model via the OpenRouter API using an
HTTPRequestnode. The prompt instructs the AI to:- Create a concise summary.
- Identify and highlight important emails with an emoji (🚨).
- Extract and bold any deadlines or required actions, such as payment due dates or sign-up links.
- Keep summaries for unimportant emails very short (under 10 words).
-
Send to LINE Messenger: The final, formatted summary from the AI is sent as a push notification to your specified LINE user ID using another
HTTPRequestnode that connects to the LINE Messaging API.
✅ Real-World Use Cases:
- Parental Organization: Keep track of school newsletters, event schedules, and permission slip deadlines for your children without reading lengthy emails.
- Personal Finance Management: Get instant alerts for bill payment due dates, subscription renewals, or bank notifications.
- Shopping and Promotions: Quickly identify valuable, time-sensitive offers or coupon codes from promotional emails.
- Work-Life Balance: Stay informed about urgent work emails after hours without needing to constantly check your inbox. The summary helps you decide if a reply is needed immediately.
- Freelancer/Consultant: Efficiently track project updates, meeting requests, and client deadlines from multiple sources in one streamlined feed.
Instructions
Basic steps
- Download workflow JSON
- Import into n8n
- Configure node parameters as needed
- Test and enable the workflow
💡 Tips
After importing, verify all connectors and credentials match your environment.
Preview
Workflow Visualization
Nodes
Read emails (IMAP)
emailReadImap
Send email to A.I. to summarize
httpRequest
Send summarized content to messenger
httpRequest
Sticky Note
stickyNote
Sticky Note1
stickyNote
Sticky Note2
stickyNote
Sticky Note3
stickyNote
Statistics
View full JSON structure
{
"nodes": [
{
"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
},
{
"id": "6565350b-2269-44e3-8f36-8797f32d3e09",
"name": "Send email to A.I. to summarize",
"type": "n8n-nodes-base.httpRequest",
"position": [
700,
260
],
"parameters": {
"url": "https://openrouter.ai/api/v1/chat/completions",
"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": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "WY7UkF14ksPKq3S8",
"name": "Header Auth account 2"
}
},
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "d04c422a-c000-4e48-82d0-0bf44bcd9fff",
"name": "Send summarized content to messenger",
"type": "n8n-nodes-base.httpRequest",
"position": [
1100,
260
],
"parameters": {
"url": "https://api.line.me/v2/bot/message/push",
"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": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "SzcKjO9Nn9vZPL2H",
"name": "Header Auth account 5"
}
},
"typeVersion": 4.2
},
{
"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](https://rumjahn.com/how-a-i-saved-my-kids-school-life-and-my-marriage/)"
},
"typeVersion": 1
},
{
"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](https://www.getmailspring.com/setup/access-gmail-via-imap-smtp)"
},
"typeVersion": 1
},
{
"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
},
{
"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](https://developers.line.biz/console/). Go to Messaging API and scroll to the bottom."
},
"typeVersion": 1
}
],
"connections": {
"Read emails (IMAP)": {
"main": [
[
{
"node": "Send email to A.I. to summarize",
"type": "main",
"index": 0
}
]
]
},
"Send email to A.I. to summarize": {
"main": [
[
{
"node": "Send summarized content to messenger",
"type": "main",
"index": 0
}
]
]
}
}
}Actions
Technical Specs
Compatibility
License
This workflow template follows MIT license, you can freely use, modify and distribute.
Please comply with relevant third-party service terms when using.