Demo - WhatsApp-Sprachagent
Dies ist ein Miscellaneous, AI Chatbot, Multimodal AI-Bereich Automatisierungsworkflow mit 18 Nodes. Hauptsächlich werden Webhook, GmailTool, RespondToWebhook, GoogleCalendarTool, McpTrigger und andere Nodes verwendet. Erstelle einen WhatsApp-Sprachassistenten mit Twilio, VAPI, Google Kalender und OpenAI
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •Google-Konto + Gmail API-Anmeldedaten
- •OpenAI API Key
- •Supabase URL und API Key
Verwendete Nodes (18)
{
"id": "hSC68gkBlh2XuLpG",
"meta": {
"instanceId": "b8a5093b5456db9e25d3dfee5ac3b3b01627b82a51b5b4c92c46527b44088cc7"
},
"name": "Demo- Whatsapp Voice Agent",
"tags": [],
"nodes": [
{
"id": "43b9c5a5-4d0b-4713-a9c5-ea00e24cc320",
"name": "Supabase Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
"position": [
1216,
-32
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"tableName": {
"__rl": true,
"mode": "list",
"value": "documents",
"cachedResultName": "documents"
},
"toolDescription": "Retrieve this tool to get pricing Informatio or any other General Inquiry."
},
"credentials": {
"supabaseApi": {
"id": "Q4GZ3W6mxCehoH23",
"name": "Supabase account"
}
},
"typeVersion": 1.3
},
{
"id": "07c67c64-9390-472d-807c-3c0c4a0405a7",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
1216,
112
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "I91cpgp1xdieYw6j",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "15ee6172-40e2-439b-bfce-a64850fdf4d1",
"name": "Kalendertermin erstellen",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
-240,
32
],
"parameters": {
"end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
"start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "nabin.busines@gmail.com",
"cachedResultName": "nabin.busines@gmail.com"
},
"additionalFields": {}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "ctueqxNJZ9Heg0WW",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "e5a95d98-88ee-4557-84f7-ee3a4bf56ad1",
"name": "Kalendertermine abrufen",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
-96,
32
],
"parameters": {
"options": {},
"timeMax": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}",
"timeMin": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "nabin.busines@gmail.com",
"cachedResultName": "nabin.busines@gmail.com"
},
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "ctueqxNJZ9Heg0WW",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "f22f3c2d-1e22-45d8-9cfd-8895733b862b",
"name": "Kalendertermin aktualisieren",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
48,
48
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "nabin.busines@gmail.com",
"cachedResultName": "nabin.busines@gmail.com"
},
"operation": "update",
"updateFields": {}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "ctueqxNJZ9Heg0WW",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "d56e75ab-7086-45cb-bf2c-dca53cfbbe8d",
"name": "Kalendertermin löschen",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
176,
80
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "nabin.busines@gmail.com",
"cachedResultName": "nabin.busines@gmail.com"
},
"operation": "delete"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "ctueqxNJZ9Heg0WW",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "d8c9f9d7-1fb2-4293-b411-1d72afd03c63",
"name": "E-Mail-Benachrichtigung senden",
"type": "n8n-nodes-base.gmailTool",
"position": [
720,
352
],
"webhookId": "028d9f35-e95f-48db-98cd-d5fbe5e5ddef",
"parameters": {
"sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "n8VNOucmPCeP3LOO",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "45496f90-c8a7-40a5-bbe3-2f0b183828e4",
"name": "MCP Server – Kalender",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
-240,
-240
],
"webhookId": "1902a1d2-f8a8-4601-b20c-90e824fe478d",
"parameters": {
"path": "1902a1d2-f8a8-4601-b20c-90e824fe478d"
},
"typeVersion": 2
},
{
"id": "9ebb9d32-59ea-4f52-ba5a-f6a57356ac8d",
"name": "MCP Server – Gmail",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
576,
160
],
"webhookId": "41a2ab5f-1a7d-440b-a1e3-1b2308dee744",
"parameters": {
"path": "41a2ab5f-1a7d-440b-a1e3-1b2308dee744"
},
"typeVersion": 2
},
{
"id": "566c8afb-cb1b-4216-a543-5b26cb5182e8",
"name": "MCP Server – Wissensdatenbank",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
1152,
-240
],
"webhookId": "3643c062-c554-43d8-84d1-692b886b780f",
"parameters": {
"path": "3643c062-c554-43d8-84d1-692b886b780f"
},
"typeVersion": 2
},
{
"id": "61ded9b5-737a-42bf-956e-60614c87fbe2",
"name": "Eingehender Webhook (VAPI)",
"type": "n8n-nodes-base.webhook",
"position": [
480,
-112
],
"webhookId": "81e240fc-d3fb-4ccd-b91a-0aacbf2d8f2a",
"parameters": {
"path": "81e240fc-d3fb-4ccd-b91a-0aacbf2d8f2a",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2.1
},
{
"id": "fe90d72c-fef0-4646-8d07-f90851015ed0",
"name": "Auf Webhook antworten (VAPI)",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
816,
-112
],
"parameters": {
"options": {
"responseHeaders": {
"entries": [
{
"name": "Content-Type",
"value": "application/xml"
}
]
}
},
"respondWith": "text",
"responseBody": "=<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Response>\n <Dial>\n <Sip>sip:15795503867@sip.vapi.ai</Sip>\n </Dial>\n</Response>\n"
},
"typeVersion": 1.4
},
{
"id": "2000941e-5340-4f44-91a2-4068a172f316",
"name": "Notizzettel 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-272,
-432
],
"parameters": {
"color": 4,
"width": 592,
"height": 768,
"content": "📅 Calendar MCP\nHandles Calendar actions:\n- Create\n- Fetch\n- Update\n- Delete\n"
},
"typeVersion": 1
},
{
"id": "e2af4a5c-aaac-4458-a26e-fda5db9c4fa5",
"name": "Notizzettel 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
64
],
"parameters": {
"color": 5,
"width": 496,
"height": 448,
"content": "📧 Gmail MCP\nSends confirmation/reminder emails\nbased on voice commands.\n"
},
"typeVersion": 1
},
{
"id": "68569b1b-a853-47f2-90b3-284594f44c53",
"name": "Notizzettel 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1088,
-384
],
"parameters": {
"color": 6,
"width": 400,
"height": 656,
"content": "📚 Knowledge Base MCP\nOpenAI generates embeddings from content.\nSupabase Vector Store saves/retrieves data\nfor knowledge base queries.\n"
},
"typeVersion": 1
},
{
"id": "36ab17f2-52f8-401b-af07-419cc50ccb4e",
"name": "Notizzettel",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-592
],
"parameters": {
"color": 2,
"width": 640,
"height": 624,
"content": "## Entry Point – Incoming Webhook (VAPI)\n\nThis is the starting point of the workflow. \n- A WhatsApp message or voice input is received via Twilio. \n- Twilio routes the audio stream to VAPI through the TwiML app. \n- VAPI processes the voice command and decides which MCP Server (Calendar, Gmail, Knowledge Base) should handle the request. \n- The request is then passed into this webhook in n8n for execution. \n\n### Flow:\nWhatsApp → Twilio (TwiML app) → VAPI → n8n Incoming Webhook \n"
},
"typeVersion": 1
},
{
"id": "22d6f683-025c-4023-9151-c5ef3f9b0dc8",
"name": "Notizzettel 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-304
],
"parameters": {
"color": 3,
"width": 272,
"height": 336,
"content": "This webhook is triggered by VAPI when a WhatsApp voice command is received via Twilio. \nVAPI interprets the user’s request and forwards it here. \nFrom this point, the workflow decides which MCP server (Calendar, Gmail, Knowledge Base) should process the action.\n"
},
"typeVersion": 1
},
{
"id": "74243893-60e4-4289-a9d5-8c9f363b897d",
"name": "Notizzettel 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
-304
],
"parameters": {
"color": 3,
"width": 272,
"height": 336,
"content": "This node sends the processed response back to VAPI. \nIt ensures that the result of the MCP server execution (e.g., calendar update, email confirmation, knowledge base query) \nis returned to the user via WhatsApp.\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "09fcb8e2-ec67-4f88-a908-d558030605fe",
"connections": {
"07c67c64-9390-472d-807c-3c0c4a0405a7": {
"ai_embedding": [
[
{
"node": "43b9c5a5-4d0b-4713-a9c5-ea00e24cc320",
"type": "ai_embedding",
"index": 0
}
]
]
},
"15ee6172-40e2-439b-bfce-a64850fdf4d1": {
"ai_tool": [
[
{
"node": "45496f90-c8a7-40a5-bbe3-2f0b183828e4",
"type": "ai_tool",
"index": 0
}
]
]
},
"d56e75ab-7086-45cb-bf2c-dca53cfbbe8d": {
"ai_tool": [
[
{
"node": "45496f90-c8a7-40a5-bbe3-2f0b183828e4",
"type": "ai_tool",
"index": 0
}
]
]
},
"e5a95d98-88ee-4557-84f7-ee3a4bf56ad1": {
"ai_tool": [
[
{
"node": "45496f90-c8a7-40a5-bbe3-2f0b183828e4",
"type": "ai_tool",
"index": 0
}
]
]
},
"43b9c5a5-4d0b-4713-a9c5-ea00e24cc320": {
"ai_tool": [
[
{
"node": "566c8afb-cb1b-4216-a543-5b26cb5182e8",
"type": "ai_tool",
"index": 0
}
]
]
},
"f22f3c2d-1e22-45d8-9cfd-8895733b862b": {
"ai_tool": [
[
{
"node": "45496f90-c8a7-40a5-bbe3-2f0b183828e4",
"type": "ai_tool",
"index": 0
}
]
]
},
"61ded9b5-737a-42bf-956e-60614c87fbe2": {
"main": [
[
{
"node": "fe90d72c-fef0-4646-8d07-f90851015ed0",
"type": "main",
"index": 0
}
]
]
},
"d8c9f9d7-1fb2-4293-b411-1d72afd03c63": {
"ai_tool": [
[
{
"node": "9ebb9d32-59ea-4f52-ba5a-f6a57356ac8d",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}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 - Verschiedenes, KI-Chatbot, 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
Nabin Bhandari
@knabinbhandariDiesen Workflow teilen