This workflow corresponds to n8n.io template #7266 — we link there as the canonical source.
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": "NESyp0PWCUmIyVaM",
"name": "Daily Calendar Digest: Send Events from Google Calendar to Telegram with Claude AI",
"tags": [
{
"id": "djaHxwkkobjYFHSD",
"name": "Time_trigger",
"createdAt": "2025-08-04T20:03:57.042Z",
"updatedAt": "2025-08-04T20:03:57.042Z"
},
{
"id": "OIkcx66LViipctPF",
"name": "Calendar",
"createdAt": "2025-08-04T21:58:38.044Z",
"updatedAt": "2025-08-04T21:58:38.044Z"
},
{
"id": "soI0f6nC5gfL5B7b",
"name": "Telegram",
"createdAt": "2025-08-04T19:52:57.456Z",
"updatedAt": "2025-08-04T19:52:57.456Z"
},
{
"id": "9kcsz79cjuoXWIKa",
"name": "info_extract",
"createdAt": "2025-08-06T19:49:00.933Z",
"updatedAt": "2025-08-06T19:49:00.933Z"
}
],
"nodes": [
{
"id": "708c9698-7dae-4355-928f-a91c39d41441",
"name": "Anthropic Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
896,
272
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-5-sonnet-20241022",
"cachedResultName": "Claude Sonnet 3.5 (New)"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "0110b3a5-3120-40c5-8783-6791348c8ed5",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
-128
],
"parameters": {
"content": "## Set a time\nSet a time when you want to get a reminder"
},
"typeVersion": 1
},
{
"id": "dfce79da-79cf-49f8-90f9-a0075872bc5d",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
-176
],
"parameters": {
"color": 3,
"width": 400,
"height": 368,
"content": "## Get all events for that day\nBy using 'get many events' and the time schedule, you get events for the current day.\n\n## Get ID, event, and time\nYou get the event, ID, and time of the events."
},
"typeVersion": 1
},
{
"id": "e9eb3b68-54c4-4e19-8123-dc11b2abf725",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
-176
],
"parameters": {
"color": 5,
"width": 400,
"height": 368,
"content": "## Combine all data into one\nBy aggregating and editing fields into a string"
},
"typeVersion": 1
},
{
"id": "0561b03a-41de-45b2-9295-60dc773474ad",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
-80
],
"parameters": {
"color": 7,
"width": 640,
"height": 272,
"content": "## Important extract of data\n\nAnd send it via Telegram"
},
"typeVersion": 1
},
{
"id": "92e643c7-da9c-4f25-8ba2-c8fad44b4109",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-320,
48
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 6
}
]
}
},
"typeVersion": 1.2
},
{
"id": "1660332e-a135-4c8d-aed3-f36eee30ca91",
"name": "Get many events",
"type": "n8n-nodes-base.googleCalendar",
"position": [
-96,
48
],
"parameters": {
"options": {},
"timeMax": "={{ $now.endOf('day') }}",
"timeMin": "={{ $now.startOf('day') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": ""
},
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "4852fca5-856e-4ad2-ad09-9c3bfef3a0fa",
"name": "ID, Summary, Time",
"type": "n8n-nodes-base.set",
"position": [
128,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "efeb6508-c015-4e86-b3a6-e79a8baf673e",
"name": "id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "0c45f801-f432-4864-b5f7-8397ffd8bf6e",
"name": "summary",
"type": "string",
"value": "={{ $json.summary }}"
},
{
"id": "99b015ef-7462-4d0c-800d-affdca9b626b",
"name": "dateTime",
"type": "string",
"value": "={{ $json.start.dateTime }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f147f0dd-eb9d-45ee-9076-14a68e83cdb1",
"name": "Combine data",
"type": "n8n-nodes-base.aggregate",
"position": [
352,
48
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "6d8f26f7-8f86-443c-9cc4-c5b8ccf01730",
"name": "Get string",
"type": "n8n-nodes-base.set",
"position": [
576,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "dc8e7306-f4d8-4eb5-8393-f8472c99f189",
"name": "data",
"type": "string",
"value": "={{ $json.data }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "47c10230-261a-435e-8264-4afa763dd80d",
"name": "Event extractor",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
800,
48
],
"parameters": {
"text": "={{ $json.data }}",
"options": {
"systemPromptTemplate": "You are event extractor. \nYour task is get event with date and time."
},
"attributes": {
"attributes": [
{
"name": "Summary",
"description": "Get all events"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "ec0b2302-f893-4432-b72c-112cfcbcf690",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
1216,
48
],
"parameters": {
"text": "={{ $json.output.Summary }}",
"chatId": "={{ your chat ID }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "12e5c5f6-aba1-473b-bac4-6b1021602a78",
"connections": {
"Get string": {
"main": [
[
{
"node": "Event extractor",
"type": "main",
"index": 0
}
]
]
},
"Combine data": {
"main": [
[
{
"node": "Get string",
"type": "main",
"index": 0
}
]
]
},
"Event extractor": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"Get many events": {
"main": [
[
{
"node": "ID, Summary, Time",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get many events",
"type": "main",
"index": 0
}
]
]
},
"ID, Summary, Time": {
"main": [
[
{
"node": "Combine data",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model1": {
"ai_languageModel": [
[
{
"node": "Event extractor",
"type": "ai_languageModel",
"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.
anthropicApigoogleCalendarOAuth2ApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Every day at 6:00 AM, the workflow pulls all events from your Google Calendar scheduled for that day. It extracts each event’s ID, title, and start time, aggregates them into one list, and converts them into a text string. This text is passed to an AI-powered Information…
Source: https://n8n.io/workflows/7266/ — 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.
Overview
Sign up for Decodo — get better pricing here
Influencer 2.0. Uses formTrigger, form, informationExtractor, lmChatOpenAi. Event-driven trigger; 93 nodes.
Episode 18 Scary Stories TikTok final. Uses httpRequest, lmChatOpenAi, lmChatOllama, lmChatDeepSeek. Event-driven trigger; 83 nodes.
This workflow acts as your personal inbox assistant. It automatically filters, classifies, and responds to incoming emails using AI, saving you from manually sorting through leads or inquiries 24/7.