Automatisches Senden von Protokollen aus Telegram an Airtable, Slack und Gmail
Experte
Dies ist ein AI Summarization, Multimodal AI-Bereich Automatisierungsworkflow mit 29 Nodes. Hauptsächlich werden If, Code, Wait, Gmail, Slack und andere Nodes verwendet. Meeting-Protokolle aus Telegram-Nachrichten mit GPT-4.1 erstellen und an Airtable, Slack, Gmail senden
Voraussetzungen
- •Google-Konto + Gmail API-Anmeldedaten
- •Slack Bot Token oder Webhook URL
- •Airtable API Key
- •Telegram Bot Token
- •OpenAI API Key
Verwendete Nodes (29)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"id": "VbaVgnhJ7phMHTY9",
"meta": {
"instanceId": "18b0d04ad5030054be4ab49562e84ea4a079ab4cb036003697394140227c7e76",
"templateCredsSetupCompleted": true
},
"name": "Automatic meeting records sent from Telegram to Airtable, Slack and Gmail",
"tags": [],
"nodes": [
{
"id": "af08414c-6227-4af0-831a-5832d7a2833c",
"name": "GPT-4 E-Mail-Generator-Modell",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-560,
1552
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "UaZZMb9MgNQPJ0Sn",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "98f24854-770a-45c7-b2b4-4be331d64ecc",
"name": "E-Mail senden",
"type": "n8n-nodes-base.gmail",
"position": [
752,
1456
],
"webhookId": "e367edf9-5bc0-474c-9b96-d694a2660ee2",
"parameters": {
"sendTo": "={{ $('Create a record').item.json.fields.Email }}",
"message": "={{ $('Create a record').item.json.fields.Report }}",
"options": {},
"subject": "={{ $('Create a record').item.json.fields.subject }}"
},
"credentials": {
"gmailOAuth2": {
"id": "h1ZY21K9DQNwgOhO",
"name": "GMAIL BAPTISTE FORT"
}
},
"typeVersion": 2.1
},
{
"id": "dfd67f2c-f977-4ef6-98c2-1433eca110dc",
"name": "Wenn",
"type": "n8n-nodes-base.if",
"position": [
-1888,
1280
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5c15ee72-c6b1-438e-aa5c-97d268cbb2cb",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{$json.type}}",
"rightValue": "voice"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "118fc989-2485-4e53-b2d3-17dfed0afe2a",
"name": "Warten",
"type": "n8n-nodes-base.wait",
"position": [
-1472,
1184
],
"webhookId": "df3b70ed-d349-4901-af35-3e5b4525fa97",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "b1c2fa2b-2d71-40c4-a36f-a086cce865ff",
"name": "Telegram-Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-2304,
1280
],
"webhookId": "8ad3fa54-7a0b-4af8-a781-bfa13addd189",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "hX6Qe2gkicVdj0xP",
"name": "Telegram account 3"
}
},
"typeVersion": 1.2
},
{
"id": "dbc0240b-13ef-49ba-8da4-4677a27b8a0a",
"name": "Sprachnachricht",
"type": "n8n-nodes-base.telegram",
"position": [
-1696,
1184
],
"webhookId": "ed77be89-0c45-4e0c-9fb1-533baaa650a4",
"parameters": {
"fileId": "={{$json.file_id}}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "hX6Qe2gkicVdj0xP",
"name": "Telegram account 3"
}
},
"typeVersion": 1.2
},
{
"id": "5ba230a3-bebe-4ee8-b160-8d0108adb6a8",
"name": "Sprachnachricht herunterladen",
"type": "n8n-nodes-base.telegram",
"position": [
-1280,
1184
],
"webhookId": "bce6d473-545e-4411-bd00-4b62e75e2d40",
"parameters": {
"fileId": "={{$json.result.file_id}}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "hX6Qe2gkicVdj0xP",
"name": "Telegram account 3"
}
},
"typeVersion": 1.2
},
{
"id": "8cfbe3e0-aad3-4ca8-95cd-654b9ad29605",
"name": "Transkription von Sprachnachrichten zu Text",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-1072,
1184
],
"parameters": {
"options": {},
"resource": "audio",
"operation": "transcribe"
},
"credentials": {
"openAiApi": {
"id": "cfxaRAuEstHmL61i",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "0ec4455b-d8c7-433d-abb6-9767fdc0f0b4",
"name": "WARTEN",
"type": "n8n-nodes-base.wait",
"position": [
-880,
1184
],
"webhookId": "4f6a1490-a64f-4176-a342-83ba6accaeb4",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "7b77efa8-1a8b-48f5-a821-e0e7a6d57a41",
"name": "Inhalt",
"type": "n8n-nodes-base.code",
"position": [
-1696,
1376
],
"parameters": {
"jsCode": "return [{ text: $json.content }]\n"
},
"typeVersion": 2
},
{
"id": "9626d70e-4123-4f13-b77c-dadb936669e5",
"name": "Nachricht oder Sprachnachricht?",
"type": "n8n-nodes-base.code",
"position": [
-2096,
1280
],
"parameters": {
"jsCode": "const updates = $json;\n\nif (updates.message?.text) {\n\treturn [\n\t\t{\n\t\t\tjson: {\n\t\t\t\ttype: \"text\",\n\t\t\t\tcontent: updates.message.text\n\t\t\t}\n\t\t}\n\t];\n}\n\nif (updates.message?.voice) {\n\treturn [\n\t\t{\n\t\t\tjson: {\n\t\t\t\ttype: \"voice\",\n\t\t\t\tfile_id: updates.message.voice.file_id\n\t\t\t}\n\t\t}\n\t];\n}\n\nreturn [];\n"
},
"typeVersion": 2
},
{
"id": "8cbf2f84-adfa-4877-b59d-31dad7a4a23d",
"name": "Besprechungsnachricht generieren",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-480,
1264
],
"parameters": {
"text": "==You are an assistant specialized in writing **meeting minutes to be sent by email**.\n\nFrom the text provided below (coming from a voice note or message): \n\n{{ $json.input.text }}\n\n**Goals:**\n1) **Detect the recipient's email address** in the text (or a similar form like \"send to firstname.lastname\"). \n - If the address is incomplete, complete it with `@gmail.com`. \n - If no address is found, use `contact@gmail.com`.\n\n2) **Understand the meeting context** and extract structured elements: \n - **Title/Topic** (project, client, subject) \n - **Date** (if missing, use today’s date in Europe/Paris timezone) \n - **Participants** (names or roles if mentioned) \n - **Decisions made** \n - **Action items** (with owners + deadlines if available) \n - **Next steps** \n - **Risks / blockers** (if present) \n - **Open questions / follow-ups** (if present)\n\n3) **Generate a clear and informative email subject**, for example: \n - \"Meeting Minutes — {Topic} — {Date}\" \n - \"Summary {Project/Client} — {Date}\"\n\n4) **Write the email body in HTML**, professional and easy to read: \n - Greeting \n - Context reminder (date, topic, participants) \n - Sections with bold titles: Decisions, Action Items (with owners & deadlines), Next Steps, Risks/Blockers, Open Questions/Follow-up \n - Conclusion + invitation to reply if corrections are needed \n - Signature with \"Best regards,\" (do not sign with a specific name)\n\n**Output constraints:** \n- No spelling or grammar mistakes. \n- Always return the result in the **strict JSON format below**, without any text around it:\n\n```json\n{\n \"email\": \"address@gmail.com\",\n \"subject\": \"Email subject\",\n \"body\": \"<p>Email body in HTML</p>\"\n}\n\n{{ $json.input.text }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.1
},
{
"id": "70d6a4e6-3197-4f9b-9fd5-dea831e0dc21",
"name": "Eintrag erstellen",
"type": "n8n-nodes-base.airtable",
"position": [
256,
1456
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app71jEl2tmr4VBrJ",
"cachedResultUrl": "https://airtable.com/app71jEl2tmr4VBrJ",
"cachedResultName": "Call report"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblcHaHToALXG4qjH",
"cachedResultUrl": "https://airtable.com/app71jEl2tmr4VBrJ/tblcHaHToALXG4qjH",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"Email": "={{ $json.Email }}",
"Report": "={{ $json.Report }}",
"subject": "={{ $json.subject }}"
},
"schema": [
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subject",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "subject",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Report",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Report",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "vKZ5Wl43rmNFe0My",
"name": "Airtable Personal Access Token account 3"
}
},
"typeVersion": 2.1
},
{
"id": "bb193e7c-6511-453f-a782-5ab19119d3b7",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
16,
1504
],
"parameters": {
"jsCode": "const src = $json.output ?? $json;\nconst email = String(src.email || \"contact@gmail.com\").trim();\nconst subject = String(src.subject || \"Compte rendu de réunion\").trim();\nconst body = String(src.body || \"\").trim();\n\n// Nettoyer le HTML et le transformer en texte lisible\nconst clean = body\n .replace(/<br\\s*\\/?>/gi, \"\\n\")\n .replace(/<\\/p>/gi, \"\\n\\n\")\n .replace(/<\\/?[^>]+(>|$)/g, \"\")\n .trim();\n\nreturn [{\n Email: email,\n subject: subject,\n Report: clean\n}];\n"
},
"typeVersion": 2
},
{
"id": "45d090e1-1ba9-4324-bf34-3f3fe1a1b0a3",
"name": "Nachricht senden",
"type": "n8n-nodes-base.slack",
"position": [
496,
1424
],
"webhookId": "3175a971-3530-4ab8-ab98-e91ea486676b",
"parameters": {
"text": "={{ $json.fields.subject}}\n\n{{ $json.fields.Report }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "=YOUR CHANNEL"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "ERqGlDjoRRcGe4Qj",
"name": "Slack account 2"
}
},
"typeVersion": 2.3
},
{
"id": "830ff5e8-0dd7-4167-9878-b0c4826f5b56",
"name": "Kurznotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2368,
896
],
"parameters": {
"width": 1792,
"height": 864,
"content": "## Message sent to Telegram as voice note or text? "
},
"typeVersion": 1
},
{
"id": "fbe9a6e9-f37f-4099-9795-320d96bea14d",
"name": "Kurznotiz 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2384,
1504
],
"parameters": {
"width": 336,
"height": 288,
"content": "\n"
},
"typeVersion": 1
},
{
"id": "7aa66a3d-6731-4e4f-9145-2ca40b4240d1",
"name": "Kurznotiz 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
1072
],
"parameters": {
"color": 2,
"width": 544,
"height": 688,
"content": "## Generate meeting minutes\n- **Node**: Agent (“Generate Meeting Message”) \n- **Prompt**: specialized for “meeting minutes” \n- **Model**: GPT-4.1-mini \n- **Output**: `{ email, subject, body }` \n👉 GPT creates a clean and structured meeting report. "
},
"typeVersion": 1
},
{
"id": "dc3f7261-2467-403a-be7c-11c5b696f209",
"name": "Kurznotiz 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-432,
1504
],
"parameters": {
"width": 384,
"height": 256,
"content": "## Enforce clean JSON\n\n- **Node**: Output Parser Structured \n- **JSON Example**: \njson {\"email\": \"address@gmail.com\",\"subject\":\"Subject\",\"body\":Email\"}\n\n👉 Ensures the output is always valid JSON."
},
"typeVersion": 1
},
{
"id": "3901f82e-b400-424a-9a51-bff0212e0a04",
"name": "E-Mail JSON erzwingen",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-176,
1536
],
"parameters": {
"jsonSchemaExample": "{\n \"email\": \"address@gmail.com\",\n \"subject\": \"Email subject\",\n \"body\": \"<p>Email body in HTML</p>\"\n}"
},
"typeVersion": 1.3
},
{
"id": "ab43f248-cef7-4591-8b15-37faa102f8bd",
"name": "Kurznotiz 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
1216
],
"parameters": {
"color": 4,
"height": 544,
"content": "## Cleanup / Airtable mapping\n- **Node**: Code \n- **Return**: `{ Email, subject, Report }` \n👉 Prepares the correct fields aligned with your Airtable table. "
},
"typeVersion": 1
},
{
"id": "076f6b32-e788-4bb7-85c4-0afb0caff168",
"name": "Kurznotiz 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
192,
1136
],
"parameters": {
"color": 6,
"height": 624,
"content": "## Store in Airtable\n- **Node**: Airtable (Create Record) \n- **Mapping**: \n - Email = `{{$json.Email}}` \n - subject = `{{$json.subject}}` \n - Report = `{{$json.Report}}` \n👉 Archives each meeting report in your Airtable base. "
},
"typeVersion": 1
},
{
"id": "e8bd763c-58de-458a-961b-96d66536dff0",
"name": "Kurznotiz 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
1232
],
"parameters": {
"color": 7,
"height": 528,
"content": "## Notify in Slack\n- **Node**: Slack (Send Message) \n- **Channel**: your team channel \n- **Message**: {{$json.fields.subject}}{{$json.fields.Report}}"
},
"typeVersion": 1
},
{
"id": "3e97aa2f-e270-4896-842d-f0db6bdf713e",
"name": "Kurznotiz 7",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
1120
],
"parameters": {
"color": 5,
"height": 640,
"content": "## Send the email\n- **Node**: Gmail (Send Email) \n- **sendTo**: `{{$('Create a record').item.json.fields.Email}}` \n- **subject**: `{{$('Create a record').item.json.fields.subject}}` \n- **message**: `{{$('Create a record').item.json.fields.Report}}` \n👉 Sends the complete meeting minutes to the recipients. "
},
"typeVersion": 1
},
{
"id": "2d6d9fdf-9473-42ea-ab9e-4ac1993e9648",
"name": "Kurznotiz 8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
912
],
"parameters": {
"color": 2,
"width": 182,
"content": "\n"
},
"typeVersion": 1
},
{
"id": "46a6e02b-bc0e-43fa-925c-7165a0153d42",
"name": "Kurznotiz 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
192,
1600
],
"parameters": {
"color": 5,
"width": 246,
"content": "\n"
},
"typeVersion": 1
},
{
"id": "3a92f0d9-8221-4c53-931a-0745bd76eef7",
"name": "Kurznotiz 10",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
1600
],
"parameters": {
"color": 7,
"width": 198,
"height": 192,
"content": "\n"
},
"typeVersion": 1
},
{
"id": "f934e87f-2486-4701-b3f3-38fd1fa37c2f",
"name": "Kurznotiz 11",
"type": "n8n-nodes-base.stickyNote",
"position": [
736,
1616
],
"parameters": {
"color": 7,
"width": 150,
"height": 144,
"content": "\n"
},
"typeVersion": 1
},
{
"id": "2f570729-0e5a-4b3a-aaff-4fd182ad5b2f",
"name": "Code-Struktur",
"type": "n8n-nodes-base.code",
"position": [
-768,
1376
],
"parameters": {
"jsCode": "const text = String($json.text || \"\").trim();\nconst lower = text.toLowerCase();\n\n// 1) Direct email in message\nconst emailMatch = text.match(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}/i);\nlet email = emailMatch ? emailMatch[0].toLowerCase() : null;\n\n// 2) Extract a domain hint from the message (fallback for building email)\nlet domainHint = null;\nconst domainRegex = /\\b([a-z0-9][a-z0-9-]{0,63}\\.)+[a-z]{2,}\\b/i;\nconst domainMatch = text.match(domainRegex);\nif (domainMatch) {\n const parts = domainMatch[0].toLowerCase().split('.').filter(Boolean);\n if (parts.length >= 2) {\n domainHint = `${parts[parts.length - 2]}.${parts[parts.length - 1]}`;\n }\n}\n\n// 3) If no direct email, try to build one from a \"send to / envoyer à\" style mention\nif (!email) {\n // Capture after signals like \"envoyer à\", \"envoie à\", \"à envoyer à\", \"send to\", \"to\"\n const toCue =\n /(à envoyer à|envoyer à|envoie à|envois à|envoi à|send to|to)\\s+([^\\n,;:]+)/i;\n const labelCue = /(mail|email|courriel|adresse)\\s*[:\\-]\\s*([^\\n,;:]+)/i;\n\n let target = null;\n const m1 = lower.match(toCue);\n const m2 = lower.match(labelCue);\n if (m1 && m1[2]) target = m1[2];\n else if (m2 && m2[2]) target = m2[2];\n\n if (target) {\n target = target\n .replace(/^[«\"'\\(\\[]+|[»\"'\\)\\]]+$/g, \"\") // trim quotes/brackets\n .trim();\n\n // If target already contains an email, use it\n const tEmail = target.match(/[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}/i);\n if (tEmail) {\n email = tEmail[0].toLowerCase();\n } else {\n // If target looks like \"firstname.lastname\" or \"firstname lastname\", normalize it\n // Remove common filler words\n target = target\n .replace(/\\b(chez|à|au|pour|de|du|la|le|l'|mr|mme|m\\.)\\b/g, \" \")\n .replace(/\\s+/g, \" \")\n .trim();\n\n // Keep only letters, spaces, dots, hyphens, underscores\n target = target.replace(/[^a-zàâäçéèêëîïôöùûüÿ\\s._-]/g, \"\");\n\n // Build local part\n const ascii = target\n .normalize(\"NFD\")\n .replace(/\\p{Diacritic}/gu, \"\")\n .toLowerCase();\n\n // Split by spaces, dots, underscores, hyphens\n const tokens = ascii.split(/[\\s._-]+/).filter(Boolean);\n\n let local = null;\n if (tokens.length >= 2) {\n local = `${tokens[0]}.${tokens[tokens.length - 1]}`;\n } else if (tokens.length === 1) {\n local = tokens[0];\n }\n\n if (local) {\n // If target contains something like \".com\" we treat it as a domain hint\n let domainFromTarget = null;\n const tDomain = target.match(domainRegex);\n if (tDomain) {\n const p = tDomain[0].split(\".\").filter(Boolean);\n if (p.length >= 2)\n domainFromTarget = `${p[p.length - 2]}.${p[p.length - 1]}`.toLowerCase();\n }\n\n const finalDomain = domainFromTarget || domainHint || \"gmail.com\";\n email = `${local}@${finalDomain}`.replace(/\\.{2,}/g, \".\");\n }\n }\n }\n}\n\n// 4) Final fallback\nif (!email) {\n email = \"contact@gmail.com\";\n}\n\n// Preserve your previous outputs too\nlet foundDomain = null;\nif (domainHint) foundDomain = domainHint;\n\nreturn [{\n input: { text },\n email,\n domain: foundDomain,\n domainUrl: foundDomain ? `https://${foundDomain}` : null\n}];\n"
},
"typeVersion": 2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "f3969a89-1668-4520-9ea6-9d66642ada23",
"connections": {
"dfd67f2c-f977-4ef6-98c2-1433eca110dc": {
"main": [
[
{
"node": "dbc0240b-13ef-49ba-8da4-4677a27b8a0a",
"type": "main",
"index": 0
}
],
[
{
"node": "7b77efa8-1a8b-48f5-a821-e0e7a6d57a41",
"type": "main",
"index": 0
}
]
]
},
"bb193e7c-6511-453f-a782-5ab19119d3b7": {
"main": [
[
{
"node": "70d6a4e6-3197-4f9b-9fd5-dea831e0dc21",
"type": "main",
"index": 0
}
]
]
},
"0ec4455b-d8c7-433d-abb6-9767fdc0f0b4": {
"main": [
[
{
"node": "2f570729-0e5a-4b3a-aaff-4fd182ad5b2f",
"type": "main",
"index": 0
}
]
]
},
"118fc989-2485-4e53-b2d3-17dfed0afe2a": {
"main": [
[
{
"node": "5ba230a3-bebe-4ee8-b160-8d0108adb6a8",
"type": "main",
"index": 0
}
]
]
},
"7b77efa8-1a8b-48f5-a821-e0e7a6d57a41": {
"main": [
[
{
"node": "2f570729-0e5a-4b3a-aaff-4fd182ad5b2f",
"type": "main",
"index": 0
}
]
]
},
"dbc0240b-13ef-49ba-8da4-4677a27b8a0a": {
"main": [
[
{
"node": "118fc989-2485-4e53-b2d3-17dfed0afe2a",
"type": "main",
"index": 0
}
]
]
},
"2f570729-0e5a-4b3a-aaff-4fd182ad5b2f": {
"main": [
[
{
"node": "8cbf2f84-adfa-4877-b59d-31dad7a4a23d",
"type": "main",
"index": 0
}
]
]
},
"45d090e1-1ba9-4324-bf34-3f3fe1a1b0a3": {
"main": [
[
{
"node": "98f24854-770a-45c7-b2b4-4be331d64ecc",
"type": "main",
"index": 0
}
]
]
},
"70d6a4e6-3197-4f9b-9fd5-dea831e0dc21": {
"main": [
[
{
"node": "45d090e1-1ba9-4324-bf34-3f3fe1a1b0a3",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "9626d70e-4123-4f13-b77c-dadb936669e5",
"type": "main",
"index": 0
}
]
]
},
"3901f82e-b400-424a-9a51-bff0212e0a04": {
"ai_outputParser": [
[
{
"node": "8cbf2f84-adfa-4877-b59d-31dad7a4a23d",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"9626d70e-4123-4f13-b77c-dadb936669e5": {
"main": [
[
{
"node": "dfd67f2c-f977-4ef6-98c2-1433eca110dc",
"type": "main",
"index": 0
}
]
]
},
"5ba230a3-bebe-4ee8-b160-8d0108adb6a8": {
"main": [
[
{
"node": "8cfbe3e0-aad3-4ca8-95cd-654b9ad29605",
"type": "main",
"index": 0
}
]
]
},
"8cbf2f84-adfa-4877-b59d-31dad7a4a23d": {
"main": [
[
{
"node": "bb193e7c-6511-453f-a782-5ab19119d3b7",
"type": "main",
"index": 0
}
]
]
},
"af08414c-6227-4af0-831a-5832d7a2833c": {
"ai_languageModel": [
[
{
"node": "8cbf2f84-adfa-4877-b59d-31dad7a4a23d",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"8cfbe3e0-aad3-4ca8-95cd-654b9ad29605": {
"main": [
[
{
"node": "0ec4455b-d8c7-433d-abb6-9767fdc0f0b4",
"type": "main",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - KI-Zusammenfassung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Automatisches Erstellen von E-Mails aus Telegram-Sprachnachrichten
Verwenden Sie Whisper, GPT-4 und Gmail, um Telegram-Sprachnachrichten in professionelle E-Mails umzuwandeln
Wait
Gmail
Telegram
+
Wait
Gmail
Telegram
11 NodesBaptiste Fort
Persönliche Produktivität
Vollständiger B2B-Vertriebsprozess: Apollo Lead-Generierung, Mailgun-Outreach und KI-Antwortverwaltung
Vollständiger B2B-Vertriebsprozess: Apollo Lead-Generierung, Mailgun Outreach und AI-Antwortmanagement
If
Set
Code
+
If
Set
Code
116 NodesPaul
Content-Erstellung
🎧 IT-Support-Stimme-Automatisierungsroboter – Telegram-Sprachnachrichten zu JIRA-Tickets (mit OpenAI Whisper)
Automatische Umwandlung von Telegram-Sprachnachrichten in JIRA-Tickets durch Whisper und GPT-4.1 Mini
If
Set
Code
+
If
Set
Code
25 NodesTrung Tran
Ticketverwaltung
Kalt-E-Mail-Workflow mit GPT-4-Antrieb, mit vollständig angepasster Folge-E-Mail-Serie von 3 E-Mails
Automatisierung personalisierter Kalt-E-Mail-Serien mit GPT-4, Mailgun und Supabase
If
Set
Code
+
If
Set
Code
100 NodesPaul
Lead-Pflege
1. Playlist-Details-Einstellungen für Roboter-Kopie
Erstelle KI-generierte YouTube-Musik-Playlists mit Suno, GPT-4, Runway und Creatomate
If
Set
Code
+
If
Set
Code
203 NodesJoseph
Content-Erstellung
Verwenden Sie NanoBanana und Seedance, um virale Werbeanzeigen zu erstellen und diese über upload-post in sozialen Medien zu veröffentlichen VIDE II
Erstellen Sie virale Multimedia-Werbung mit KI: NanoBanana, Seedance und Suno für soziale Medien
If
Set
Code
+
If
Set
Code
45 NodesDr. Firas
Verschiedenes
Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes29
Kategorie2
Node-Typen13
Autor
Externe Links
Auf n8n.io ansehen →
Diesen Workflow teilen