Demo - Agente de voz de WhatsApp
Este es unMiscellaneous, AI Chatbot, Multimodal AIflujo de automatización del dominio deautomatización que contiene 18 nodos.Utiliza principalmente nodos como Webhook, GmailTool, RespondToWebhook, GoogleCalendarTool, McpTrigger. Usar Twilio, VAPI, Google Calendar y OpenAI para crear un asistente de voz para WhatsApp
- •Punto final de HTTP Webhook (n8n generará automáticamente)
- •Cuenta de Google y credenciales de API de Gmail
- •Clave de API de OpenAI
- •URL y Clave de API de Supabase
Nodos utilizados (18)
Categoría
{
"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": "Crear Evento en Calendario",
"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": "Obtener Eventos del Calendario",
"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": "Actualizar Evento del Calendario",
"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": "Eliminar Evento del Calendario",
"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": "Enviar Notificación por Correo",
"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": "Servidor MCP – Calendario",
"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": "Servidor MCP – 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": "Servidor MCP – Base de Conocimiento",
"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": "Webhook Entrante (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": "Responder a Webhook (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": "Nota Adhesiva 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": "Nota Adhesiva 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": "Nota Adhesiva 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": "Nota Adhesiva",
"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": "Nota Adhesiva 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": "Nota Adhesiva 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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Varios, Chatbot de IA, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Nabin Bhandari
@knabinbhandariCompartir este flujo de trabajo