This workflow corresponds to n8n.io template #8143 — we link there as the canonical source.
This workflow follows the Agent → Google Calendar 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "6998d72b-838f-4a59-8560-7d88d1175fb1",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-256,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "837572ff-3894-4f86-8ba8-daea15659167",
"name": "News Sources",
"type": "n8n-nodes-base.set",
"position": [
656,
576
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e46cd88e-facc-4e54-a8fc-20d0b18c557e",
"name": "news_sources",
"type": "array",
"value": "=[\n \"techcrunch\",\n \"wired\",\n \"the-verge\",\n \"mit-technology-review\",\n \"ars-technica\",\n \"venturebeat\",\n \"engadget\",\n \"hacker-news\",\n \"techcrunch\",\n \"wired\"\n]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c353f693-dbe7-46e8-8154-3b9fd575ded5",
"name": "Split Out News Sources",
"type": "n8n-nodes-base.splitOut",
"position": [
864,
576
],
"parameters": {
"options": {},
"fieldToSplitOut": "news_sources"
},
"typeVersion": 1
},
{
"id": "3525a88a-7d15-4565-8bf1-077b579d139f",
"name": "Get Headlines from NewsApi",
"type": "n8n-nodes-base.httpRequest",
"position": [
1088,
576
],
"parameters": {
"url": "https://newsapi.org/v2/top-headlines",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "from",
"value": "={{ (d => (d.setDate(d.getDate() - 1), d))(new Date()).toISOString().split('T')[0] }}"
},
{
"name": "pageSize",
"value": "3"
},
{
"name": "sources",
"value": "={{ $json.news_sources }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "ddfb0b20-0e27-4564-ac52-5ef7626899bf",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
1296,
576
],
"parameters": {
"options": {},
"fieldToSplitOut": "articles"
},
"typeVersion": 1
},
{
"id": "27ef2c2d-ccdc-49f1-b3aa-02ba34d10ce5",
"name": "Config",
"type": "n8n-nodes-base.set",
"position": [
-48,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6969de71-e834-466d-a938-376b754cf4f8",
"name": "user_name",
"type": "string",
"value": "Atta"
},
{
"id": "37a31674-b246-4349-9317-365ca17120fb",
"name": "city_name",
"type": "string",
"value": "Breda"
},
{
"id": "2f338375-76b4-4cd2-8ee7-42b2be86a3a0",
"name": "city_lat",
"type": "string",
"value": "51.5719"
},
{
"id": "684ffebe-99fc-43bf-846e-f9c1c3253b94",
"name": "city_lon",
"type": "string",
"value": "4.7683"
},
{
"id": "e66eede2-0700-49e3-bf31-871a911ae68f",
"name": "output_language",
"type": "string",
"value": "English (US)"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e07a64e3-697b-4f03-99b3-02533e661946",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
2528,
-16
],
"parameters": {
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "76ed3c26-74d8-452a-b480-701ff42921e6",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
-672
],
"parameters": {
"color": 5,
"width": 704,
"height": 448,
"content": "## User location weather summary\nThis part of the workflow retrieves the 15-hour weather forecast from the OpenWeatherMap API, and the AI generates a conversational summary of the weather."
},
"typeVersion": 1
},
{
"id": "88c8f24b-0bc5-4571-9b7e-8d27ed3706a7",
"name": "Get Today Meetings",
"type": "n8n-nodes-base.googleCalendar",
"position": [
1008,
0
],
"parameters": {
"options": {},
"timeMax": "={{$now.endOf('day')}}",
"timeMin": "={{$now.startOf('day')}}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "user@example.com",
"cachedResultName": "user@example.com"
},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"googleCalendarOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "42a8f8fa-bd90-4516-bd67-8b8c0b5f184e",
"name": "Calendar Summary",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1536,
0
],
"parameters": {
"text": "=Here is the calendar data:\n{{ $json.events.toJsonString() }}",
"options": {
"systemMessage": "=You are an expert AI podcast scriptwriter for the \"Good morning\" podcast. Your current task is to create the \"Today's Schedule\" segment.\n\nThe segment should be a brief, conversational exchange between the two hosts: \"{{ $('Config').item.json.user_name }}'s AI Assistant\" and \"Byte\".\n\n**Instructions:**\n\n1. **Segment Introduction: Start with a simple transition into the calendar.** \"{{ $('Config').item.json.user_name }}'s AI Assistant\" should introduce the segment (e.g., \"Next up, let's take a look at your schedule.\").\n2. **Analyze the Calendar Data:** You will receive a list of calendar events. This list might be empty.\n3. **Handle an Empty Schedule:** If the list is empty, generate a positive message stating that the schedule is clear.\n4. **Summarize a Busy Schedule:** If there are events, summarize the day by highlighting 1-3 key events with their titles and start times.\n5. **Avoid Repetition: You must not say the user's name, the date, or the podcast name.** This is a middle segment of the podcast.\n6. **Use Speaker Tags:** Use the established tags: `[{{ $('Config').item.json.user_name }}'s AI Assistant]:` and `[Byte]:`.\n7. Output laguage must be {{ $('Config').item.json.output_language }}.\n\n---\nNow, analyze the following calendar data and generate the middle podcast script segment."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "116682f1-0889-4670-b971-70f65c9d2b16",
"name": "Gemini_Calendar",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1536,
208
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "4677116a-e0a8-4e50-9f48-6c64b42b4f31",
"name": "Gemini_Weather",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1440,
-368
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "018ee18a-14cd-45ef-83bc-7987010aac77",
"name": "Weather Summary",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1440,
-544
],
"parameters": {
"text": "=User Name: {{ $('Config').item.json.user_name }}\nToday's Date: {{ $now.toISO().split('T')[0] }}\n\nHere is the weather forecast data:\n{{ $json.list.toJsonString() }}",
"options": {
"systemMessage": "=You are an expert AI podcast scriptwriter for the \"Good morning\" podcast. Your current task is to create the opening segment, which is a friendly and brief weather forecast.\n\nThe segment should be a short, natural-sounding conversation between the two hosts: \"{{ $('Config').item.json.user_name }}'s AI Assistant\" and \"Byte\".\n\n**Instructions:**\n\n1. **Podcast Opening: You MUST start the entire script by having \"{{ $('Config').item.json.user_name }}'s AI Assistant\" deliver the personalized greeting with the user's name and the full date, followed by a transition into the weather.** (e.g., \"Good Morning {{ $('Config').item.json.user_name }}. It's Tuesday, August 26th, 2025. Let's start with a look at your weather forecast in {{ $('Config').item.json.city_name }}.\")\n2. **Deliver the Forecast:** \"Byte\" should then deliver the weather details based on the provided data.\n3. **State the High Temperature:** You must point out the high temperature of the day and the time it is expected to occur.\n4. **Keep it Brief:** The entire segment should be natural and concise.\n5. **Use Speaker Tags:** Use the established tags: `[{{ $('Config').item.json.user_name }}'s AI Assistant]:` and `[Byte]:`.\n6. Output laguage must be {{ $('Config').item.json.output_language }}.\n\n---\nNow, analyze the following weather data for {{ $('Config').item.json.city_name }} and generate the podcast script's opening segment."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "f42a5e08-f20d-4a22-b0b5-4f9d48b713c7",
"name": "Open Weather Map",
"type": "n8n-nodes-base.httpRequest",
"position": [
1136,
-544
],
"parameters": {
"url": "https://api.openweathermap.org/data/2.5/forecast",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth",
"queryParameters": {
"parameters": [
{
"name": "lat",
"value": "={{ $json.city_lat }}"
},
{
"name": "lon",
"value": "={{ $json.city_lon }}"
},
{
"name": "units",
"value": "metric"
},
{
"name": "cnt",
"value": "5"
}
]
}
},
"credentials": {
"httpQueryAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "2fd05384-14a3-4ada-9bfc-284a3aede9c8",
"name": "Get Useful Fields",
"type": "n8n-nodes-base.set",
"position": [
1488,
576
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "68dc8c1d-3d7d-421f-bdbe-33a7dfbe081b",
"name": "source",
"type": "string",
"value": "={{ $json.source.name }}"
},
{
"id": "dd5ffde2-0ab0-413e-a19c-c079de642f4e",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "8cd25bb7-9ee0-4782-8ec4-eb60911a673d",
"name": "description",
"type": "string",
"value": "={{ $json.description }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "142b6c11-48fd-4cd2-bf99-1092be4869ad",
"name": "Aggregate Headlines",
"type": "n8n-nodes-base.aggregate",
"position": [
1696,
576
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "headlines"
},
"typeVersion": 1
},
{
"id": "fe69e8e7-72a3-4ad7-832c-b4148ba27d7f",
"name": "News Summary",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1904,
576
],
"parameters": {
"text": "=Here are the headlines:\n{{ $json.headlines.toJsonString() }}\n",
"options": {
"systemMessage": "=You are an expert AI podcast scriptwriter for the \"Good morning\" podcast. Your current task is to create the final news segment.\n\nThe segment should be a conversational exchange between the two hosts: \"{{ $('Config').item.json.user_name }}'s AI Assistant\" and \"Byte\", covering the day's top tech and local news.\n\n**Instructions:**\n\n1. **Segment Introduction: Start with a simple transition into the news.** \"{{ $('Config').item.json.user_name }}'s AI Assistant\" should introduce the segment (e.g., \"And finally, for a look at today's top news.\").\n2. **Synthesize and Group:** Synthesize the key themes from the provided headlines.\n3. **Conversational Flow:** Create a natural dialogue between the hosts about the news.\n4. **Concise and Engaging:** The entire script should aim for a total length of approximately 250-300 words, suitable for under three minutes of audio. Maintain an engaging, friendly, yet informative tone.\n5. **Avoid Repetition: You must not say the user's name or the date.**\n6. **Podcast Closing: As this is the final segment, \"{{ $('Config').item.json.user_name }}'s AI Assistant\" must deliver the concluding sign-off for the entire podcast.** (e.g., \"And that\u2019s your full briefing. Have a productive day.\")\n7. **Use Speaker Tags:** Use the established tags: `[{{ $('Config').item.json.user_name }}'s AI Assistant]:` and `[Byte]:`.\n8. Output laguage must be {{ $('Config').item.json.output_language }}.\n\n---\nNow, analyze the following headlines and generate the final podcast script segment."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "b97ddb8a-fd3b-432d-997f-48843d0d577d",
"name": "Gemini_News",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1904,
784
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "91dcaedd-fe02-4b6c-8adc-22caf1008f6c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
848,
-128
],
"parameters": {
"color": 4,
"width": 1088,
"height": 464,
"content": "## User Calendar summary\nThis part of the workflow gathers the user\u2019s meetings and events from the Google calendar for today and generates a conversational summary of them."
},
"typeVersion": 1
},
{
"id": "f7dba045-3d3e-4fa0-a967-0ecc06d74a5a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
432
],
"parameters": {
"color": 2,
"width": 1600,
"height": 496,
"content": "## News summary\nThis part of the workflow collects headline news from the top 10 technology websites. Users can also add keywords to retrieve more relevant news based on their interests. The workflow uses the NewsAPI service to fetch the news, and AI then generates a conversational summary."
},
"typeVersion": 1
},
{
"id": "de072c56-c44d-4f68-abc7-b7a1312ae0e6",
"name": "Aggregate Podcast Parts",
"type": "n8n-nodes-base.aggregate",
"position": [
2736,
0
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "output"
}
]
}
},
"typeVersion": 1
},
{
"id": "a22f5377-b06a-4ce4-b416-3f24be377a20",
"name": "Generate Podcast Audio",
"type": "n8n-nodes-base.httpRequest",
"position": [
3152,
0
],
"parameters": {
"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent",
"method": "POST",
"options": {},
"jsonBody": "={\n \"contents\": [{\n \"parts\":[{\n \"text\": {{ (\"TTS the following conversation between [\"+$('Config').item.json.user_name+\"'s AI Assistant] and [Byte]:\"+$('Aggregate Podcast Parts').item.json.output).toJsonString() }}\n }]\n }],\n \"generationConfig\": {\n \"responseModalities\": [\"AUDIO\"],\n \"speechConfig\": {\n \"multiSpeakerVoiceConfig\": {\n \"speakerVoiceConfigs\": [{\n \"speaker\": \"[{{ $('Config').item.json.user_name }}'s AI Assistant]\",\n \"voiceConfig\": {\n \"prebuiltVoiceConfig\": {\n \"voiceName\": \"Fenrir\"\n }\n }\n }, {\n \"speaker\": \"[Byte]\",\n \"voiceConfig\": {\n \"prebuiltVoiceConfig\": {\n \"voiceName\": \"Kore\"\n }\n }\n }]\n }\n }\n },\n \"model\": \"gemini-2.5-flash-preview-tts\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpBasicAuth": {
"name": "<your credential>"
},
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "dce60ddf-2b86-4fc3-a8b5-de61b30c8ade",
"name": "Set Filename",
"type": "n8n-nodes-base.set",
"position": [
2944,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b25058da-e1f1-4a98-8478-deafcecfbf17",
"name": "output_filename",
"type": "string",
"value": "=goodmorning-{{ $now.toISO()}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d3ab3734-3100-486c-8150-1231bc49e511",
"name": "Convert Audio to File",
"type": "n8n-nodes-base.convertToFile",
"position": [
3376,
0
],
"parameters": {
"options": {
"fileName": "={{ $('Set Filename').item.json.output_filename }}.pcm",
"mimeType": "={{ $json.candidates[0].content.parts[0].inlineData.mimeType }}"
},
"operation": "toBinary",
"sourceProperty": "candidates[0].content.parts[0].inlineData.data"
},
"typeVersion": 1.1
},
{
"id": "95a1881c-b232-4b02-a765-2f1d7f1d139e",
"name": "Write Audio File on Disk",
"type": "n8n-nodes-base.readWriteFile",
"position": [
3600,
0
],
"parameters": {
"options": {},
"fileName": "=/users/attaks/{{ $('Set Filename').item.json.output_filename }}.pcm",
"operation": "write"
},
"typeVersion": 1
},
{
"id": "83132d17-fe1e-4d49-bbc2-5f4751c97edd",
"name": "Convert Audio to MP3",
"type": "n8n-nodes-base.executeCommand",
"position": [
3824,
0
],
"parameters": {
"command": "=ffmpeg -y -f s16le -ar 24000 -ac 1 -i /users/attaks/{{ $('Set Filename').item.json.output_filename }}.pcm -b:a 192k /users/attaks/{{ $('Set Filename').item.json.output_filename }}.mp3\n"
},
"typeVersion": 1
},
{
"id": "18eed1a7-a283-4534-bcfa-b2c91f5418fd",
"name": "Read Audio File from Disk",
"type": "n8n-nodes-base.readWriteFile",
"position": [
4048,
0
],
"parameters": {
"options": {},
"fileSelector": "=/users/attaks/{{ $('Set Filename').item.json.output_filename }}.mp3"
},
"typeVersion": 1
},
{
"id": "0f3ef4e1-fd0a-4aae-bc12-3b472e6f77eb",
"name": "Send Podcast to Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
4272,
0
],
"parameters": {
"chatId": "123456789",
"operation": "sendAudio",
"binaryData": true,
"additionalFields": {
"title": "=Good Morning: {{ $now.toISO().split('T')[0]}}"
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "68ea21cc-4745-46aa-a96f-17801f216125",
"name": "Route",
"type": "n8n-nodes-base.noOp",
"position": [
160,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5185cf6b-d0c9-4b01-8aa2-b7e9efbf7fb6",
"name": "Aggregate Events",
"type": "n8n-nodes-base.aggregate",
"position": [
1280,
0
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "events"
},
"typeVersion": 1
}
],
"connections": {
"Merge": {
"main": [
[
{
"node": "Aggregate Podcast Parts",
"type": "main",
"index": 0
}
]
]
},
"Route": {
"main": [
[
{
"node": "Get Today Meetings",
"type": "main",
"index": 0
},
{
"node": "Open Weather Map",
"type": "main",
"index": 0
},
{
"node": "News Sources",
"type": "main",
"index": 0
}
]
]
},
"Config": {
"main": [
[
{
"node": "Route",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Get Useful Fields",
"type": "main",
"index": 0
}
]
]
},
"Gemini_News": {
"ai_languageModel": [
[
{
"node": "News Summary",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"News Sources": {
"main": [
[
{
"node": "Split Out News Sources",
"type": "main",
"index": 0
}
]
]
},
"News Summary": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"Set Filename": {
"main": [
[
{
"node": "Generate Podcast Audio",
"type": "main",
"index": 0
}
]
]
},
"Gemini_Weather": {
"ai_languageModel": [
[
{
"node": "Weather Summary",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Gemini_Calendar": {
"ai_languageModel": [
[
{
"node": "Calendar Summary",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Weather Summary": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Events": {
"main": [
[
{
"node": "Calendar Summary",
"type": "main",
"index": 0
}
]
]
},
"Calendar Summary": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Open Weather Map": {
"main": [
[
{
"node": "Weather Summary",
"type": "main",
"index": 0
}
]
]
},
"Get Useful Fields": {
"main": [
[
{
"node": "Aggregate Headlines",
"type": "main",
"index": 0
}
]
]
},
"Get Today Meetings": {
"main": [
[
{
"node": "Aggregate Events",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Headlines": {
"main": [
[
{
"node": "News Summary",
"type": "main",
"index": 0
}
]
]
},
"Convert Audio to MP3": {
"main": [
[
{
"node": "Read Audio File from Disk",
"type": "main",
"index": 0
}
]
]
},
"Convert Audio to File": {
"main": [
[
{
"node": "Write Audio File on Disk",
"type": "main",
"index": 0
}
]
]
},
"Generate Podcast Audio": {
"main": [
[
{
"node": "Convert Audio to File",
"type": "main",
"index": 0
}
]
]
},
"Split Out News Sources": {
"main": [
[
{
"node": "Get Headlines from NewsApi",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Podcast Parts": {
"main": [
[
{
"node": "Set Filename",
"type": "main",
"index": 0
}
]
]
},
"Send Podcast to Telegram": {
"main": [
[]
]
},
"Write Audio File on Disk": {
"main": [
[
{
"node": "Convert Audio to MP3",
"type": "main",
"index": 0
}
]
]
},
"Read Audio File from Disk": {
"main": [
[
{
"node": "Send Podcast to Telegram",
"type": "main",
"index": 0
}
]
]
},
"Get Headlines from NewsApi": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Config",
"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.
googleCalendarOAuth2ApigooglePalmApihttpBasicAuthhttpHeaderAuthhttpQueryAuthtelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Instead of manually checking separate apps for your calendar, weather, and news each morning, this workflow consolidates the most important information into a single, convenient audio briefing. The "Good Morning Podcast" is designed to be a 3-minute summary of your day ahead,…
Source: https://n8n.io/workflows/8143/ — 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.
This workflow creates a multi-talented AI assistant named Simran that interacts with users via Telegram. It can handle text and voice messages, understand the user's intent, and perform various tasks.
RAG CHATBOT Main. Uses telegram, telegramTrigger, lmChatOpenAi, n8n-nodes-mcp. Event-driven trigger; 87 nodes.
Transform your salon/service business with this streamlined Telegram automation system featuring Claude integration, zero-setup database management, and intelligent conversation handling. Claude MCP I
🤖🧑💻 AI Agent for Top n8n Creators Leaderboard Reporting. Uses httpRequest, lmChatOpenAi, executeWorkflowTrigger, toolWorkflow. Event-driven trigger; 49 nodes.
🤖🧑💻 AI Agent for Top n8n Creators Leaderboard Reporting. Uses httpRequest, lmChatOpenAi, executeWorkflowTrigger, toolWorkflow. Event-driven trigger; 49 nodes.