This workflow corresponds to n8n.io template #4245 — we link there as the canonical source.
This workflow follows the Agent → Gmail Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "c0Ti00TfFE1MdpZd",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "\ud83d\udce8 Send AI summaries of incoming emails from Gmail to Telegram",
"tags": [],
"nodes": [
{
"id": "28581eaf-47f8-43ad-81cf-688d8f77a630",
"name": "Prepare fields for agent",
"type": "n8n-nodes-base.set",
"position": [
-80,
-160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ffff425d-cd86-498a-9984-d4c97c082a7b",
"name": "summary_language",
"type": "string",
"value": "={{ $json.summary_language }}"
},
{
"id": "a6dc9f16-faa1-4d82-be3c-b80937563605",
"name": "from",
"type": "string",
"value": "={{ $json.from?.text || $json.from?.value?.[0]?.address || 'Unknown sender' }}"
},
{
"id": "c4f8daff-77e0-453f-82c2-751a8d6b8061",
"name": "subject",
"type": "string",
"value": "={{ $json.subject }}"
},
{
"id": "43c37703-1f05-4f20-9d6f-0f7c08be6462",
"name": "message",
"type": "string",
"value": "={{ $json.html || $json.text || 'No message content available' }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f72c5973-cc9d-4815-993c-ed7bd853fcc4",
"name": "When a new email arrives",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-520,
-160
],
"parameters": {
"simple": false,
"filters": {},
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "95fb2d1e-efbb-4163-9e75-b85cf3fd50bf",
"name": "Set summary language",
"type": "n8n-nodes-base.set",
"position": [
-300,
-160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "148dcae1-3b72-4c28-b143-18b4b9877295",
"name": "summary_language",
"type": "string",
"value": "english"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "8db9747f-c0a6-4044-837a-04212c8dbe56",
"name": "OpenAI Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
228,
60
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "8823b3ab-4e9b-4be6-bf6c-9772f1fcd17e",
"name": "Send summary to Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
516,
-160
],
"parameters": {
"text": "={{ $json.output }}",
"chatId": "SAMPLE CHAT ID - CHANGE IT",
"additionalFields": {
"parse_mode": "Markdown",
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"retryOnFail": true,
"typeVersion": 1.2,
"waitBetweenTries": 3000
},
{
"id": "ad603819-26e0-41e8-b4bb-99d30cbc4902",
"name": "Summary generation agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
140,
-160
],
"parameters": {
"text": "=Summarize the following email in this language: {{ $json.summary_language }}\n\nFrom: {{ $json.from }}\nSubject: {{ $json.subject }}\n\n{{ $json.message }}",
"options": {
"systemMessage": "You summarize emails in a short, natural, and informal way. Use a casual tone, like you're talking to a friend. Always write in the language specified by the user. Include who sent the email, what it\u2019s about, the most relevant details (like purchase info, prices, discounts, dates, or refund conditions), and ignore anything redundant or overly formal. Avoid robotic language, lists, or instructions like \u201ckeep this email.\u201d Just say what matters."
},
"promptType": "define"
},
"retryOnFail": true,
"typeVersion": 1.9,
"waitBetweenTries": 3000
},
{
"id": "89b1c4b0-3de4-4a81-a57b-a5e4951ea654",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
-680
],
"parameters": {
"color": 5,
"width": 1240,
"height": 480,
"content": "## \ud83d\udce8 Send AI summaries of incoming emails from Gmail to Telegram\n\n### \u2139\ufe0f ABOUT THIS WORKFLOW\nThis workflow will send you AI-generated summaries of all your Gmail incoming emails to Telegram.\n\n### \ud83d\udee0\ufe0f SETUP\n1. Create credentials for Gmail, Telegram, and OpenAI.\n2. Add the Gmail credential to the Gmail node.\n3. Add the OpenAI credential to the OpenAI Model node.\n4. Add the Telegram credential to the Telegram node.\n5. Set your Chat ID in the Telegram node; you can find it out by using Telegram's get ID bot.\n\n### \ud83c\udfa8 CUSTOMIZING THE SUMMARIES\nYou can customize the generated summaries by:\n- Changing the language in the \"Set summary language\" node. You can type anything you want here, you can even specify a specific zone dialect.\n- Modifying the prompts (in the \"Summary generation agent\" node)\n- Selecting another model (in the \"OpenAI Model\" node)\n- You can also replace the \"OpenAI Model\" node with another provider, such as Anthropic or DeepSeek."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v1",
"executionTimeout": -1
},
"versionId": "c6cbf099-6fdf-45c0-bb63-32132f175d10",
"connections": {
"OpenAI Model": {
"ai_languageModel": [
[
{
"node": "Summary generation agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Set summary language": {
"main": [
[
{
"node": "Prepare fields for agent",
"type": "main",
"index": 0
}
]
]
},
"Prepare fields for agent": {
"main": [
[
{
"node": "Summary generation agent",
"type": "main",
"index": 0
}
]
]
},
"Summary generation agent": {
"main": [
[
{
"node": "Send summary to Telegram",
"type": "main",
"index": 0
}
]
]
},
"When a new email arrives": {
"main": [
[
{
"node": "Set summary language",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2openAiApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow is for anyone who receives too many emails and wants to stay informed without drowning in their inbox.
Source: https://n8n.io/workflows/4245/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Automate your personal productivity with this intelligent n8n workflow that integrates Telegram, Google Sheets, and OpenAI (GPT-4o). This system uses multiple AI agents to manage work hours, tasks, fi
This workflow automatically transforms your messy inbox into a neatly organized space while ensuring you never miss a critical message. It connects to your Gmail account and triggers for every new ema
Managing customer support across multiple platforms like email and chat can be a huge time sink. Answering the same questions about order status repeatedly takes your focus away from growing your busi
This workflow is perfect for: Small to medium businesses looking to automate customer support E-commerce stores handling order inquiries and customer questions SaaS companies providing technical suppo
Multi-Channel Email Intelligence Agent. Uses lmChatOpenAi, outputParserStructured, gmailTrigger, agent. Event-driven trigger; 18 nodes.