AutomationFlowsAI & RAG › Daily Calendar Digest: Format Google Calendar Events with Claude 3.5 Sonnet…

Daily Calendar Digest: Format Google Calendar Events with Claude 3.5 Sonnet…

Original n8n title: Daily Calendar Digest: Format Google Calendar Events with Claude 3.5 Sonnet for Telegram

ByPatrik Schick @patrikdescodino on n8n.io

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…

Cron / scheduled trigger★★★★☆ complexityAI-powered12 nodesAnthropic ChatGoogle CalendarInformation ExtractorTelegram
AI & RAG Trigger: Cron / scheduled Nodes: 12 Complexity: ★★★★☆ AI nodes: yes Added:

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 →

Download .json
{
  "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.

Pro

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 →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Overview

Google Calendar, Gmail, Google Drive +3
AI & RAG

Sign up for Decodo — get better pricing here

@Decodo/N8N Nodes Decodo, Information Extractor, OpenAI Chat +4
AI & RAG

Influencer 2.0. Uses formTrigger, form, informationExtractor, lmChatOpenAi. Event-driven trigger; 93 nodes.

Form Trigger, Form, Information Extractor +13
AI & RAG

Episode 18 Scary Stories TikTok final. Uses httpRequest, lmChatOpenAi, lmChatOllama, lmChatDeepSeek. Event-driven trigger; 83 nodes.

HTTP Request, OpenAI Chat, Ollama Chat +12
AI & RAG

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.

OpenAI, Gmail Trigger, Google Sheets +3