Automatisierte Buchungen für Immobilien und Restaurants mit KI-Sprachanrufen via Telegram
Dies ist ein Personal Productivity, AI Chatbot-Bereich Automatisierungsworkflow mit 28 Nodes. Hauptsächlich werden Filter, Switch, Webhook, Telegram, HttpRequest und andere Nodes verwendet. Automatisierte Buchungen für Immobilien und Restaurants über AI-Sprachanrufe via Telegram
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •Telegram Bot Token
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Gemini API Key
Verwendete Nodes (28)
Kategorie
{
"meta": {
"instanceId": "3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2"
},
"nodes": [
{
"id": "6c5d6cf8-0dfa-48a5-8872-cf5cc69e049b",
"name": "Abschnitt: Webhook-Trigger & Nachgesprächsanalyse",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1776,
2320
],
"parameters": {
"width": 1080,
"height": 576,
"content": "**Webhook & Post-call Analysis**\n- Retell Webhook\n- Filter call_ended events\n- AI analyzes transcript"
},
"typeVersion": 1
},
{
"id": "9782dbb6-bae4-4888-8c90-232d1e64c3de",
"name": "Gemini 2.0 Flash",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-768,
1616
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Pz5rkKL1ZRGrSYoQ",
"name": "key studio google"
}
},
"typeVersion": 1
},
{
"id": "996cc320-5576-4751-a5e0-bd8c0f562f4f",
"name": "Retell Create Call",
"type": "n8n-nodes-base.httpRequest",
"position": [
-224,
1408
],
"parameters": {
"url": "https://api.retellai.com/v2/create-phone-call",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.output }}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "GQi0JW5mlXfIppTf",
"name": "retellai"
},
"httpHeaderAuth": {
"id": "0BDVybffgPLfET7n",
"name": "retelai"
}
},
"typeVersion": 4.2
},
{
"id": "a1aae24d-ec39-4545-b09a-07cc0e5c752e",
"name": "Retell Webhook-Trigger",
"type": "n8n-nodes-base.webhook",
"position": [
-1648,
2464
],
"webhookId": "retell-webhook-agent",
"parameters": {
"path": "retell-webhook-agent",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1.1
},
{
"id": "f65ae764-312f-407e-9666-2b4b6ed93a62",
"name": "KI-Agent Parse Call",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1232,
2464
],
"parameters": {
"text": "=Aquí esta la respuesta de Retellai con los datos y la transcripcion de la llamada analizala: {{ $json.body.call.transcript }} call.status {{ $json.body.call.call_status }} disconection_reason: {{ $json.body.call.disconnection_reason }} ",
"options": {
"systemMessage": "=[ROL]\nEres un experto en análisis de transcripciones de llamadas. Tu trabajo es decidir si la cita quedó REALMENTE confirmada y, solo entonces, crear el evento en Google Calendar con tu tool.\n\n[ENTRADAS DISPONIBLES]\n- now: {{ $now }} (fecha/hora actual)\n- transcript: transcripción completa de la llamada (agent/user)\n- disconnection_reason: motivo de fin de llamada (ej.: agent_hangup, user_hangup, inactivity, voicemail_reached, error_*)\n- started_at / ended_at / duration\n- direccion_fallback: direccion (dirección que yo tenía preparada)\n- precio: precio \n\n[CRITERIOS PARA CONSIDERAR “VISITA CONFIRMADA”]\nDebes cumplir TODOS:\n1) Fin de llamada correcto: disconnection_reason ∈ {agent_hangup, user_hangup, call_transfer}. Rechaza voicemail_reached, inactivity, max_duration_reached, dial_*, error_*.\n2) Confirmación explícita del INTERLOCUTOR (no del agente). Acepta frases inequívocas como:\n - “sí, perfecto”, “de acuerdo”, “ok”, “confirmo”, “queda para …”, “quedamos …”, “nos vemos …”, “me viene bien …”.\n3) Fecha y hora claras:\n - Convierte lenguaje natural (“jueves”, “mañana”, “a las cinco”) a fecha/hora (YYYY-MM-DD, HH:mm) en zona horaria de España.\n - La hora debe estar DENTRO de alguna franja de slots_json para ese día (from ≤ hora < to).\n - Si el usuario propone fuera de franja, NO confirmes; marca fallo.\n4) Dirección:\n - Si el usuario dijo la dirección, úsala tal cual (normaliza números en dígitos: “sesenta y siete” → “67” y respeta tildes: “López”).\n - Si no se dijo, usa direccion_fallback.\n5) Coherencia final:\n - En los últimos turnos debe verse un resumen o aceptación de la cita (del agente o del usuario). Si termina por silencio u omisión, NO confirmes.\n\n[CUANDO NO CONFIRMAR]\n- transcript vacío o casi sin contenido.\n- Falta de confirmación explícita del usuario.\n- Hora fuera de slots_json o sin fecha/hora claras.\n- Cualquier disconnection_reason distinto a los permitidos.\n- Cierre confuso (ej.: solo el agente resume pero el usuario no acepta).\n\n[EXTRACCIÓN DE DATOS]\n- fecha: YYYY-MM-DD\n- hora: HH:mm (24h)\n- direccion: string\n- nombre_contacto y telefono_contacto si aparecen (opcionales)\n- who_hung_up: “agent” / “user” / “other” (según disconnection_reason)\n- resumen_llamada: 1–2 frases objetivas (qué se acordó o por qué falló)\n\n[ACCIÓN DE CALENDARIO]\n- Solo si “Visita confirmada” según las reglas de arriba: crea evento en Google Calendar (usa tu tool) con:\n - title: \"Visita piso – direccion\"\n - start: fecha + hora (zona horaria España)\n - end: start + 30 o 45 min (elige 45 min por defecto si no se indicó duración)\n - description: incluir nombre_contacto, telefono_contacto (si hay), disconnection_reason, precio (si relevante) y el resumen_llamada.\n- Si NO cumple, NO crees evento.\n\n[FORMATO DE SALIDA – SIEMPRE ASÍ]\n\n- ✅ Visita confirmada!\n - Si el evento se creó: añade en la segunda línea “✅ Evento creado en tu calendario.”\n - Si falló al crear por un error técnico: “⚠️ Confirmada pero el evento no se pudo crear: <motivo>”\n- ❌ No se ha podido confirmar la cita.\n- Si fue FALLO, añade “Motivo: <razón>” (p. ej., “hora fuera de disponibilidad”, “sin confirmación explícita”, “voicemail”, etc.)\n- Evaluación final que tal fue la llamada,sono convincente? fue bien?\n\n\n\n[POLÍTICAS DE INTERPRETACIÓN]\n- Fechas relativas: interpreta “jueves” como el próximo jueves posterior a started_at.\n- Horas: normaliza “cinco de la tarde” → 17:00.\n- Nombres y calles: respeta tildes (López, Alcalá). “sesenta y siete” → “67”.\n- Si hay varias fechas/horas en la conversación, usa la ÚLTIMA confirmada por el USUARIO.\n- Si slots_json no tiene ese día/hora, NO confirmes.\n\n[EJEMPLOS RÁPIDOS]\n- Usuario: “El jueves a las 17:00.” (slots_json: solo ≥ 19:00) → ❌ No confirmado (fuera de franja).\n- Usuario: “Quedamos el jueves a las 19:00.” + dirección dicha → ✅ Confirmada y crear evento.\n- Agente: “Queda para el jueves a las 19:00, ¿correcto?” Usuario: (silencio) → ❌ No confirmado.\n"
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "e7d4003b-97dc-4839-9886-021ff1f0f3e5",
"name": "Gemini 2.0 Flash 2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-1232,
2688
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Pz5rkKL1ZRGrSYoQ",
"name": "key studio google"
}
},
"typeVersion": 1
},
{
"id": "07d76d6b-97e0-44c3-aa6e-1de1b6be8a76",
"name": "Notify Success",
"type": "n8n-nodes-base.telegram",
"position": [
-944,
2448
],
"webhookId": "9275ea18-e94f-4a3a-86f4-fb02b92f3fe0",
"parameters": {
"text": "=\n{{ $json.output }}",
"chatId": "=245284777",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "Yz85NEO7PkLjqZYt",
"name": "agentsocialmediaAIbot"
}
},
"typeVersion": 1.1
},
{
"id": "0394bc79-5900-43fb-a8f6-f26d6c31a9cb",
"name": "Get an event in Google Kalender",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
-672,
1648
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', `Ver si hay disponibilidad ese día y hora en el calendario`, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "bfbpki3lq30nv2hs07kdrudmco@group.calendar.google.com",
"cachedResultName": "alpa y muton"
},
"operation": "get"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "YGoukaJSksnL1Jfq",
"name": "Google Calendar account jc.caverogracia"
}
},
"typeVersion": 1.3
},
{
"id": "5bb4a072-bfa9-4769-a902-bbadf2e8e179",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-544,
1552
],
"parameters": {
"autoFix": true,
"jsonSchemaExample": "{\n \"from_number\": \"+34949960018\",\n \"to_number\": \"complete_llm\",\n \"retell_llm_dynamic_variables\": {\n \"direccion\": \"complete_llm\",\n \"slots_disponibles\": \"complete_llm\"\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "d2515717-c624-4eec-ab39-4bde25c452e1",
"name": "Google Gemini-Chat-Modell",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-544,
1728
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Pz5rkKL1ZRGrSYoQ",
"name": "key studio google"
}
},
"typeVersion": 1
},
{
"id": "c3887391-2f0f-4d7d-8ad1-dbcc6390f312",
"name": "Filter",
"type": "n8n-nodes-base.filter",
"position": [
-1424,
2464
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e970c523-87ca-43f2-8eb8-6cb3a4811b95",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.event }}",
"rightValue": "call_ended"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a9f6708f-7028-4a5f-9dfe-3e188a3b7d20",
"name": "Create an event in Google Kalender",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
-1088,
2704
],
"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": "bfbpki3lq30nv2hs07kdrudmco@group.calendar.google.com",
"cachedResultName": "alpa y muton"
},
"additionalFields": {
"summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
"attendees": [
"alessiapavone1991@gmail.com",
"jc.caverogracia@gmail.com"
],
"description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}"
},
"useDefaultReminders": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "YGoukaJSksnL1Jfq",
"name": "Google Calendar account jc.caverogracia"
}
},
"typeVersion": 1.3
},
{
"id": "4e18400a-65d1-4951-91b1-5cf142396ca6",
"name": "Telegram-Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1696,
1680
],
"webhookId": "ea1688c0-4e5b-4439-b21e-054c1ceb2aa9",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "Yz85NEO7PkLjqZYt",
"name": "agentsocialmediaAIbot"
}
},
"typeVersion": 1.2
},
{
"id": "ee853319-7d74-44c2-bde1-6d9be7ce3d33",
"name": "Send a text message",
"type": "n8n-nodes-base.telegram",
"position": [
-1488,
1680
],
"webhookId": "0ffac095-d83a-48ff-96e8-9fb3223634d2",
"parameters": {
"text": "Comenzando llamada",
"chatId": "={{ $json.message.chat.id }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "Yz85NEO7PkLjqZYt",
"name": "agentsocialmediaAIbot"
}
},
"typeVersion": 1.2
},
{
"id": "be55dfc4-a7b5-483c-8701-9c8163ffb13f",
"name": "Gemini 2.0 Flash1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-768,
2144
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Pz5rkKL1ZRGrSYoQ",
"name": "key studio google"
}
},
"typeVersion": 1
},
{
"id": "8d309cbf-b0b6-4598-a28b-024c5ff7154d",
"name": "Retell Create Call1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-224,
1904
],
"parameters": {
"url": "https://api.retellai.com/v2/create-phone-call",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.output }}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "0BDVybffgPLfET7n",
"name": "retelai"
}
},
"typeVersion": 4.2
},
{
"id": "acaf744a-3e24-4e79-9d12-eb75b8f3eb9f",
"name": "Get an event in Google Kalender1",
"type": "n8n-nodes-base.googleCalendarTool",
"position": [
-656,
2176
],
"parameters": {
"eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', `Ver si hay disponibilidad ese día y hora en el calendario`, 'string') }}",
"options": {},
"calendar": {
"__rl": true,
"mode": "list",
"value": "bfbpki3lq30nv2hs07kdrudmco@group.calendar.google.com",
"cachedResultName": "alpa y muton"
},
"operation": "get"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "YGoukaJSksnL1Jfq",
"name": "Google Calendar account jc.caverogracia"
}
},
"typeVersion": 1.3
},
{
"id": "76c3d2af-9370-4614-8319-b733a0ffedb4",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-544,
2160
],
"parameters": {
"autoFix": true,
"jsonSchemaExample": "{\n \"from_number\": \"+34949960018\",\n \"to_number\": \"complete_llm\",\n \"override_agent_id\": \"agent_6f8860a113d84673ea6e52cfe2\",\n \"retell_llm_dynamic_variables\": {\n \"num_personas\": \"complete_llm\",\n \"hora_deseada\": \"complete_llm\"\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "7d88c75e-a24c-4d31-9401-8192442e8780",
"name": "Google Gemini-Chat-Modell1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-544,
2272
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Pz5rkKL1ZRGrSYoQ",
"name": "key studio google"
}
},
"typeVersion": 1
},
{
"id": "d3abfa2a-6f9a-4ba6-bbfc-a93ab1b0d4db",
"name": "KI-Agent Reserva Restaurantes",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-704,
2016
],
"parameters": {
"text": "=Eres un asistente experto en reservar mesa en restaurantes\n\n**Comando recibido:** {{ $('Telegram Trigger').item.json.message.text }}\n\n**Tu tarea:**\n1. **Extraer datos del comando** `/cita <telefono> [direccion] [notas]`\n - Normaliza el teléfono a formato E.164 español (+34XXXXXXXXX)\n - Valida que sea móvil español (6,7,8,9 + 8 dígitos)\n - Extrae número de personas y la hora deseada\n\n\n2. **Preparar llamada con Retell AI:**\n - Teléfono destino: el extraído del comando\n - Genera un prompt natural para el agente de voz:\n * Solicitar visita al piso en [dirección]\n * Proponer los 3 slots disponibles\n * Confirmar: dirección\n * Ser breve y profesional\n - Incluir metadata: chatId, direccion, intentos:0\n\n3. **Devolver JSON** para hacer la llamada:\n```json\n{\n \"from_number\": \"+34949960018\",\n \"to_number\": \"complete_llm\",\n \"override_agent_id\": \"agent_6f8860a113d84673ea6e52cfe2\",\n \"retell_llm_dynamic_variables\": {\n \"num_personas\": \"complete_llm\",\n \"hora_deseada\": \"complete_llm\"\n }\n}\n```\n\n\n**Timezone:** Europe/Madrid\n**Fecha actual:** {{ $now.toISO() }}",
"options": {
"systemMessage": "Eres un asistente de IA experto en scheduling y automatización. Usas herramientas para obtener datos de calendarios y generar llamadas telefónicas. Siempre devuelves JSON válido y bien estructurado."
},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 1.7
},
{
"id": "e4308412-51fe-4f44-8fe3-5b3f5a0feb2f",
"name": "Schalter",
"type": "n8n-nodes-base.switch",
"position": [
-1280,
1680
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "pisos",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7fafd93a-8ce4-4ddd-a983-4e3934efe1bb",
"operator": {
"type": "string",
"operation": "notStartsWith"
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.text }}",
"rightValue": "/reserva"
}
]
},
"renameOutput": true
},
{
"outputKey": "Reserva restaurante",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "611dbffc-c663-48c9-9e10-c045f26f4505",
"operator": {
"type": "string",
"operation": "startsWith"
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.text }}",
"rightValue": "/reserva"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "199a1023-342c-48c9-9851-e313a22ac3f6",
"name": "Setzenup Notes1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2464,
1744
],
"parameters": {
"width": 608,
"height": 624,
"content": "**QUICK SETUP: RetellAI, Telegram & Google Calendar**\n\n**1. RetellAI (Voice Calling)**\n - Create an agent at Retell.ai and get your API Key.\n - In n8n, create \"HTTP Bearer YOUR_TOKEN_HERE\" credentials with that API key.\n - Assign the credentials to the `Retell Create Call` nodes.\n - In RetellAI, set the webhook to point to your `Retell Webhook` node's URL.\n - Set your outbound phone number (`from_number`).\n\n**2. Telegram (Bot)**\n - Create a bot with @BotFather to get the token.\n - In n8n, create \"Telegram API\" credentials with the token.\n - Assign the credentials to the Telegram nodes.\n - Get your Chat ID by starting a conversation with the bot and use it where needed (e.g., `Notify Success`).\n\n**3. Google Calendar**\n - In Google Cloud, enable the Google Calendar API and create OAuth 2.0 credentials.\n - Add the n8n callback URL to the authorized redirect URIs.\n - In n8n, create and authorize \"Google Calendar OAuth2 API\" credentials.\n - Replace the sample Calendar ID with yours in the calendar nodes.\n\n**Final Checklist:**\n- [ ] Replace all sample data (IDs, phone numbers).\n- [ ] Run a full test by sending a command from Telegram.\n- [ ] Adjust the timezone if necessary."
},
"typeVersion": 1
},
{
"id": "cd2945c3-53e9-4abe-8e7b-0d2cba4b9037",
"name": "Abschnitt: Trigger",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1728,
1584
],
"parameters": {
"width": 200,
"height": 288,
"content": "**Triggers**\n- Telegram Trigger"
},
"typeVersion": 1
},
{
"id": "4079fb64-f95c-4227-a886-8e1a2bb7fa33",
"name": "Abschnitt: Parsing & Routing",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
1584
],
"parameters": {
"width": 420,
"height": 288,
"content": "**Parsing & Routing**\n- Switch routes commands\n- Initial Telegram reply"
},
"typeVersion": 1
},
{
"id": "d5831d91-7d57-45f6-9c2a-13f8f3cf1a09",
"name": "Abschnitt: Agent – Property Viewings",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
1264
],
"parameters": {
"width": 516,
"height": 608,
"content": "**Agent: Property Viewings**\n- LLM generates call JSON\n- Calendar availability logic"
},
"typeVersion": 1
},
{
"id": "3d64406e-42e0-4e8f-8380-9475f267234a",
"name": "KI-Agent: Property Viewings",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-768,
1408
],
"parameters": {
"text": "=Eres un asistente experto en agendar visitas a pisos.\n\n**Comando recibido:** {{ $('Telegram Trigger').item.json.message.text }}\n\n**Tu tarea:**\n1. **Extraer datos del comando** `/cita <telefono> [direccion] [notas]`\n - Normaliza el teléfono a formato E.164 español (+34XXXXXXXXX)\n - Valida que sea móvil español (6,7,8,9 + 8 dígitos)\n - Extrae dirección y notas\n\n2. **Consultar con tu tool Google Calendar y ver que huecos están ocupados y cuales no** \n - Usa la herramienta de Google Calendar\n - Obtén todos los eventos existentes\n\n3. **Generar slots disponibles** según horarios:\n - Lunes-Jueves: ≥19:00\n - Viernes: ≥16:00\n - Sábado-Domingo: 11:00-21:00\n - Duración: 30 min + 20 min buffer = 50 min bloque\n - Intervalos: cada 30 minutos\n - Filtra colisiones con eventos del calendario\n - Selecciona los mejores 5 slots\n - las fechas en slots disponibles pasalas en texto no en números por ejemplo y dale 3 opciones depende del día de hoy, si es más pronto de las 19:00 dile: tengo disponible hoy a partir de las 7 de la tarde, mañana y pasado igual (contando con que no sea viernes o festivo). Si hoy es jueves por ejemplo le dirías tengo disponible hoy a partir de las 7, mañana a partir de las 4 y fin de semana a cualquier hora a partir de las 11\n\n4. **Preparar llamada con Retell AI:**\n - Teléfono destino: el extraído del comando\n - Genera un prompt natural para el agente de voz:\n * Solicitar visita al piso en [dirección]\n * Proponer los 3 slots disponibles\n * Confirmar: dirección\n * Ser breve y profesional\n - Incluir metadata: chatId, direccion, intentos:0\n\n5. **Devolver JSON** para hacer la llamada:\n```json\n{\n \"from_number\": \"+34949960018\",\n \"to_number\": \"complete_llm\",\n \"retell_llm_dynamic_variables\": {\n \"direccion\": \"complete_llm\",\n \"slots_disponibles\": \"complete_llm\"\n }\n}\n```\n\n\n**Timezone:** Europe/Madrid\n**Fecha actual:** {{ $now.toISO() }}",
"options": {
"systemMessage": "Eres un asistente de IA experto en scheduling y automatización. Usas herramientas para obtener datos de calendarios y generar llamadas telefónicas. Siempre devuelves JSON válido y bien estructurado."
},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 1.7
},
{
"id": "7b44caf1-1760-4b86-ac5c-111414917495",
"name": "Abschnitt: Retell AI Calls1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
1264
],
"parameters": {
"width": 360,
"height": 800,
"content": "**Retell AI Calls**\n- Create outbound calls via HTTP"
},
"typeVersion": 1
},
{
"id": "7b9e4403-19f6-43e2-bb32-8cbb0428578a",
"name": "Abschnitt: Agent – Restaurant Reservations1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
1872
],
"parameters": {
"width": 516,
"height": 528,
"content": "**Agent: Restaurant Reservations**\n- LLM prepares booking call\n- Collects party size and time"
},
"typeVersion": 1
}
],
"pinData": {
"Retell Webhook": [
{
"body": {
"call": {
"call_id": "call_a6151608cedfc832a311902e2d4",
"latency": {
"e2e": {
"max": 5054,
"min": 278,
"num": 13,
"p50": 1733,
"p90": 3193.8010253906255,
"p95": 4039.999853515623,
"p99": 4851.199970703124,
"values": [
574,
1733,
3363.999755859375,
1970,
1425.0009765625,
5054,
1649,
2453,
1536.001953125,
1808,
278,
2513.006103515625,
1702.0048828125
]
},
"llm": {
"max": 4103,
"min": 816,
"num": 13,
"p50": 1162,
"p90": 2499.8000000000006,
"p95": 3220.399999999998,
"p99": 3926.4799999999987,
"values": [
1824,
1049,
2632,
1162,
865,
4103,
1128,
1653,
816,
1103,
1234,
1971,
897
]
},
"tts": {
"max": 318,
"min": 243,
"num": 13,
"p50": 278,
"p90": 309.8,
"p95": 313.8,
"p99": 317.15999999999997,
"values": [
305,
285,
273,
282,
269,
243,
250,
274,
266,
299,
318,
278,
311
]
}
},
"agent_id": "agent_b9373d40edb62df778a7e5846b",
"call_cost": {
"combined_cost": 21.65,
"product_costs": [
{
"cost": 9.9166667,
"product": "elevenlabs_tts",
"unit_price": 0.1166667
},
{
"cost": 11.3333333,
"product": "gpt_5_high_priority",
"unit_price": 0.1333333
},
{
"cost": 0.4,
"product": "gpt_5_mini_text_testing"
}
],
"total_duration_seconds": 85,
"total_duration_unit_price": 0.25
},
"call_type": "phone_call",
"direction": "outbound",
"to_number": "+34612403687",
"agent_name": "Single-Prompt Agent",
"transcript": "User: ¿Te vas?\nUser: ¿Qué ¿Le va?\nAgent: No, \nUser: Le va.\nAgent: Buenas, soy Juan \nUser: Dígame.\nAgent: Gracias. Te llamo para agendar una visita al piso en Avenida del Manzanares, 20.\n¿Puedes hablar ahora?\nUser: Hola, ¿diga?\nUser: ¿Me oye?\nAgent: Sí, te oigo. Te llamo para agendar una \nUser: Oyes? Ahora.\nAgent: visita al piso \nAgent: Sí, te oigo.\nUser: Se, es que se corta, \nAgent: Te llamo para agendar una \nUser: estoy yo metido en un en un sótano trabajando.\nUser: Espera, espera un segundo, espere.\nAgent: Sin problema. ¿Cuándo te viene mejor que te llame? Puedo llamarte \nUser: No, ahora, ahora, ya \nAgent: hoy a las siete de la \nUser: le oigo, que he salido, es que estamos trabajando en unos traseros, dígame.\nAgent: Perfecto. Te llamo para agendar una visita al piso en Avenida del Manzanares, 20. ¿Qué día te viene bien?\nUser: Pues por las tardes, de seis a ocho, ¿es particular o agencia?\nAgent: Es particular. ¿Te viene bien el jueves 9 de octubre a partir de las siete de la tarde?\nUser: Perfecto.\nAgent: Perfecto, queda para el jueves 9 de octubre a las siete de la tarde.\n¿La dirección exacta del \nUser: Perfecto.\nAgent: piso?\nUser: Sí, ahí en el veinte.\nAgent: Perfecto, \nUser: El portal.\nAgent: Perfecto, queda \nAgent: Perfecto, quedamos así muchas gracias. hasta luego\n",
"call_status": "ended",
"duration_ms": 84385,
"from_number": "+34949960018",
"agent_version": 8,
"end_timestamp": 1759917188812,
"recording_url": "https://dxc03zgurdly9.cloudfront.net/3348e2dfc49d2bb52dc090412bc3687d0233a2e8a6c54f0047831702f5975a4c/recording.wav",
"public_log_url": "https://dxc03zgurdly9.cloudfront.net/3348e2dfc49d2bb52dc090412bc3687d0233a2e8a6c54f0047831702f5975a4c/public.log",
"llm_token_usage": {
"values": [
1160,
1174,
1174,
1188,
1188,
1233,
1240,
1267,
1306,
1318,
1375,
1427,
1458,
1493,
1509,
1522
],
"average": 1314.5,
"num_requests": 16
},
"start_timestamp": 1759917104427,
"opt_in_signed_url": false,
"transcript_object": [
{
"role": "user",
"words": [
{
"end": 1.8519999,
"word": "¿Te ",
"start": 1.6119999
},
{
"end": 2.092,
"word": "vas?",
"start": 1.8519999
}
],
"content": "¿Te vas?"
},
{
"role": "user",
"words": [
{
"end": 4.052,
"word": "¿Qué ",
"start": 3.6519999
},
{
"end": 4.7919997,
"word": "¿Le ",
"start": 4.4719999999999995
},
{
"end": 5.031999999999999,
"word": "va?",
"start": 4.7919997
}
],
"content": "¿Qué ¿Le va?"
},
{
"role": "agent",
"words": [
{
"end": 5.044,
"word": "No, ",
"start": 4.8
}
],
"content": "No, ",
"metadata": {
"response_id": 1
}
},
{
"role": "user",
"words": [
{
"end": 7.342,
"word": "Le ",
"start": 7.021999999999999
},
{
"end": 7.5020001999999995,
"word": "va.",
"start": 7.342
}
],
"content": "Le va."
},
{
"role": "agent",
"words": [
{
"end": 7.276,
"word": "Buenas, ",
"start": 6.893
},
{
"end": 7.427,
"word": "soy ",
"start": 7.276
},
{
"end": 7.613,
"word": "Juan ",
"start": 7.427
}
],
"content": "Buenas, soy Juan ",
"metadata": {
"response_id": 3
}
},
{
"role": "user",
"words": [
{
"end": 10.962,
"word": "Dígame.",
"start": 10.481999
}
],
"content": "Dígame."
},
{
"role": "agent",
"words": [
{
"end": 11.934,
"word": "Gracias.",
"start": 11.04
},
{
"end": 12.155125,
"word": " Te ",
"start": 11.980125
},
{
"end": 12.456125,
"word": "llamo ",
"start": 12.155125
},
{
"end": 12.677125,
"word": "para ",
"start": 12.456125
},
{
"end": 13.072125,
"word": "agendar ",
"start": 12.677125
},
{
"end": 13.223125,
"word": "una ",
"start": 13.072125
},
{
"end": 13.617125,
"word": "visita ",
"start": 13.223125
},
{
"end": 13.780125,
"word": "al ",
"start": 13.617125
},
{
"end": 14.093125,
"word": "piso ",
"start": 13.780125
},
{
"end": 14.198125,
"word": "en ",
"start": 14.093125
},
{
"end": 14.558125,
"word": "Avenida ",
"start": 14.198125
},
{
"end": 14.720125,
"word": "del ",
"start": 14.558125
},
{
"end": 15.301125,
"word": "Manzanares, ",
"start": 14.720125
},
{
"end": 15.730125,
"word": "20.\n",
"start": 15.301125
},
{
"end": 16.125125,
"word": "¿Puedes ",
"start": 15.730125
},
{
"end": 16.392125,
"word": "hablar ",
"start": 16.125125
},
{
"end": 16.903125,
"word": "ahora?",
"start": 16.392125
}
],
"content": "Gracias. Te llamo para agendar una visita al piso en Avenida del Manzanares, 20.\n¿Puedes hablar ahora?",
"metadata": {
"response_id": 5
}
},
{
"role": "user",
"words": [
{
"end": 18.412,
"word": "Hola, ",
"start": 17.772000000000002
},
{
"end": 18.572,
"word": "¿diga?",
"start": 18.572
}
],
"content": "Hola, ¿diga?"
},
{
"role": "user",
"words": [
{
"end": 20.881999,
"word": "¿Me ",
"start": 20.402
},
{
"end": 21.121999,
"word": "oye?",
"start": 20.881999
}
],
"content": "¿Me oye?"
},
{
"role": "agent",
"words": [
{
"end": 22.895,
"word": "Sí, ",
"start": 22.675
},
{
"end": 23.035,
"word": "te ",
"start": 22.895
},
{
"end": 23.569,
"word": "oigo.",
"start": 23.035
},
{
"end": 23.754666748046876,
"word": " Te ",
"start": 23.591666748046876
},
{
"end": 24.137666748046875,
"word": "llamo ",
"start": 23.754666748046876
},
{
"end": 24.346666748046875,
"word": "para ",
"start": 24.137666748046875
},
{
"end": 24.717666748046874,
"word": "agendar ",
"start": 24.346666748046875
},
{
"end": 24.868666748046873,
"word": "una ",
"start": 24.717666748046874
}
],
"content": "Sí, te oigo. Te llamo para agendar una ",
"metadata": {
"response_id": 7
}
},
{
"role": "user",
"words": [
{
"end": 22.942,
"word": "Oyes? ",
"start": 22.622
},
{
"end": 25.102,
"word": "Ahora.",
"start": 24.702
}
],
"content": "Oyes? Ahora."
},
{
"role": "agent",
"words": [
{
"end": 25.205666748046873,
"word": "visita ",
"start": 24.868666748046873
},
{
"end": 25.321666748046876,
"word": "al ",
"start": 25.205666748046873
},
{
"end": 25.623666748046876,
"word": "piso ",
"start": 25.321666748046876
}
],
"content": "visita al piso ",
"metadata": {
"response_id": 7
}
},
{
"role": "agent",
"words": [
{
"end": 30.62,
"word": "Sí, ",
"start": 30.272
},
{
"end": 30.76,
"word": "te ",
"start": 30.62
},
{
"end": 31.317,
"word": "oigo.",
"start": 30.76
}
],
"content": "Sí, te oigo.",
"metadata": {
"response_id": 8
}
},
{
"role": "user",
"words": [
{
"end": 32.502,
"word": "Se, ",
"start": 32.102000000000004
},
{
"end": 32.662,
"word": "es ",
"start": 32.502
},
{
"end": 32.742,
"word": "que ",
"start": 32.662
},
{
"end": 32.902,
"word": "se ",
"start": 32.742
},
{
"end": 33.222,
"word": "corta, ",
"start": 32.902
}
],
"content": "Se, es que se corta, "
},
{
"role": "agent",
"words": [
{
"end": 32.229,
"word": " Te ",
"start": 32.055
},
{
"end": 32.496,
"word": "llamo ",
"start": 32.229
},
{
"end": 32.717,
"word": "para ",
"start": 32.496
},
{
"end": 33.112,
"word": "agendar ",
"start": 32.717
},
{
"end": 33.274,
"word": "una ",
"start": 33.112
}
],
"content": " Te llamo para agendar una ",
"metadata": {
"response_id": 8
}
},
{
"role": "user",
"words": [
{
"end": 33.462,
"word": "estoy ",
"start": 33.222
},
{
"end": 33.622,
"word": "yo ",
"start": 33.462
},
{
"end": 33.942,
"word": "metido ",
"start": 33.622
},
{
"end": 34.102000000000004,
"word": "en ",
"start": 33.942
},
{
"end": 34.342,
"word": "un ",
"start": 34.102000000000004
},
{
"end": 34.582,
"word": "en ",
"start": 34.342
},
{
"end": 34.662,
"word": "un ",
"start": 34.582
},
{
"end": 35.062,
"word": "sótano ",
"start": 34.662
},
{
"end": 35.462,
"word": "trabajando.",
"start": 35.062
}
],
"content": "estoy yo metido en un en un sótano trabajando."
},
{
"role": "user",
"words": [
{
"end": 36.642,
"word": "Espera, ",
"start": 36.162
},
{
"end": 36.802,
"word": "espera ",
"start": 36.642
},
{
"end": 36.962,
"word": "un ",
"start": 36.802
},
{
"end": 37.362,
"word": "segundo, ",
"start": 36.962
},
{
"end": 37.602000000000004,
"word": "espere.",
"start": 37.362
}
],
"content": "Espera, espera un segundo, espere."
},
{
"role": "agent",
"words": [
{
"end": 39.623,
"word": "Sin ",
"start": 39.402
},
{
"end": 40.273,
"word": "problema.",
"start": 39.623
},
{
"end": 40.64466674804687,
"word": " ¿Cuándo ",
"start": 40.31866674804687
},
{
"end": 40.725666748046876,
"word": "te ",
"start": 40.64466674804687
},
{
"end": 40.87666674804687,
"word": "viene ",
"start": 40.725666748046876
},
{
"end": 41.12066674804687,
"word": "mejor ",
"start": 40.87666674804687
},
{
"end": 41.23666674804687,
"word": "que ",
"start": 41.12066674804687
},
{
"end": 41.329666748046876,
"word": "te ",
"start": 41.23666674804687
},
{
"end": 41.851666748046874,
"word": "llame?",
"start": 41.329666748046876
},
{
"end": 42.164625,
"word": " Puedo ",
"start": 41.863625
},
{
"end": 42.629625,
"word": "llamarte ",
"start": 42.164625
}
],
"content": "Sin problema. ¿Cuándo te viene mejor que te llame? Puedo llamarte ",
"metadata": {
"response_id": 10
}
},
{
"role": "user",
"words": [
{
"end": 43.432002,
"word": "No, ",
"start": 43.032000000000004
},
{
"end": 43.672,
"word": "ahora, ",
"start": 43.432002
},
{
"end": 43.832,
"word": "ahora, ",
"start": 43.672
},
{
"end": 43.992,
"word": "ya ",
"start": 43.832
}
],
"content": "No, ahora, ahora, ya "
},
{
"role": "agent",
"words": [
{
"end": 43.186625,
"word": "hoy ",
"start": 42.629625
},
{
"end": 43.349625,
"word": "a ",
"start": 43.186625
},
{
"end": 43.511625,
"word": "las ",
"start": 43.349625
},
{
"end": 43.801625,
"word": "siete ",
"start": 43.511625
},
{
"end": 43.883625,
"word": "de ",
"start": 43.801625
},
{
"end": 44.010625,
"word": "la ",
"start": 43.883625
}
],
"content": "hoy a las siete de la ",
"metadata": {
"response_id": 10
}
},
{
"role": "user",
"words": [
{
"end": 44.072,
"word": "le ",
"start": 43.992
},
{
"end": 44.392,
"word": "oigo, ",
"start": 44.072
},
{
"end": 44.472003,
"word": "que ",
"start": 44.392
},
{
"end": 44.552,
"word": "he ",
"start": 44.472003
},
{
"end": 44.872,
"word": "salido, ",
"start": 44.552
},
{
"end": 44.952002,
"word": "es ",
"start": 44.872
},
{
"end": 45.032000000000004,
"word": "que ",
"start": 44.952002
},
{
"end": 45.272002,
"word": "estamos ",
"start": 45.032000000000004
},
{
"end": 45.592,
"word": "trabajando ",
"start": 45.272002
},
{
"end": 45.672,
"word": "en ",
"start": 45.592
},
{
"end": 45.832,
"word": "unos ",
"start": 45.672
},
{
"end": 46.392,
"word": "traseros, ",
"start": 45.832
},
{
"end": 46.712,
"word": "dígame.",
"start": 46.392
}
],
"content": "le oigo, que he salido, es que estamos trabajando en unos traseros, dígame."
},
{
"role": "agent",
"words": [
{
"end": 50.094,
"word": "Perfecto.",
"start": 49.281
},
{
"end": 50.279791748046875,
"word": " Te ",
"start": 50.11679174804687
},
{
"end": 50.54679174804688,
"word": "llamo ",
"start": 50.279791748046875
},
{
"end": 50.743791748046874,
"word": "para ",
"start": 50.54679174804688
},
{
"end": 51.09179174804687,
"word": "agendar ",
"start": 50.743791748046874
},
{
"end": 51.231791748046874,
"word": "una ",
"start": 51.09179174804687
},
{
"end": 51.544791748046876,
"word": "visita ",
"start": 51.231791748046874
},
{
"end": 51.660791748046876,
"word": "al ",
"start": 51.544791748046876
},
{
"end": 51.98579174804688,
"word": "piso ",
"start": 51.660791748046876
},
{
"end": 52.102791748046876,
"word": "en ",
"start": 51.98579174804688
},
{
"end": 52.450791748046875,
"word": "Avenida ",
"start": 52.102791748046876
},
{
"end": 52.566791748046874,
"word": "del ",
"start": 52.450791748046875
},
{
"end": 53.297791748046876,
"word": "Manzanares, ",
"start": 52.566791748046874
},
{
"end": 53.99479174804687,
"word": "20. ",
"start": 53.297791748046876
},
{
"end": 54.19175,
"word": "¿Qué ",
"start": 54.04075
},
{
"end": 54.34275,
"word": "día ",
"start": 54.19175
},
{
"end": 54.44775,
"word": "te ",
"start": 54.34275
},
{
"end": 54.67975,
"word": "viene ",
"start": 54.44775
},
{
"end": 55.15575,
"word": "bien?",
"start": 54.67975
}
],
"content": "Perfecto. Te llamo para agendar una visita al piso en Avenida del Manzanares, 20. ¿Qué día te viene bien?",
"metadata": {
"response_id": 11
}
},
{
"role": "user",
"words": [
{
"end": 56.781997,
"word": "Pues ",
"start": 56.542
},
{
"end": 57.022,
"word": "por ",
"start": 56.781997
},
{
"end": 57.101996,
"word": "las ",
"start": 57.022
},
{
"end": 57.422,
"word": "tardes, ",
"start": 57.101996
},
{
"end": 57.501998,
"word": "de ",
"start": 57.422
},
{
"end": 57.742,
"word": "seis ",
"start": 57.501998
},
{
"end": 57.902,
"word": "a ",
"start": 57.742
},
{
"end": 58.222,
"word": "ocho, ",
"start": 57.902
},
{
"end": 58.382,
"word": "¿es ",
"start": 58.222
},
{
"end": 58.941996,
"word": "particular ",
"start": 58.382
},
{
"end": 59.182,
"word": "o ",
"start": 58.941996
},
{
"end": 59.501998,
"word": "agencia?",
"start": 59.182
}
],
"content": "Pues por las tardes, de seis a ocho, ¿es particular o agencia?"
},
{
"role": "agent",
"words": [
{
"end": 61.317,
"word": "Es ",
"start": 61.166
},
{
"end": 61.967,
"word": "particular.",
"start": 61.317
},
{
"end": 62.175791748046876,
"word": " ¿Te ",
"start": 62.01279174804687
},
{
"end": 62.407791748046876,
"word": "viene ",
"start": 62.175791748046876
},
{
"end": 62.605791748046876,
"word": "bien ",
"start": 62.407791748046876
},
{
"end": 62.67479174804687,
"word": "el ",
"start": 62.605791748046876
},
{
"end": 62.96479174804688,
"word": "jueves ",
"start": 62.67479174804687
},
{
"end": 63.185791748046874,
"word": "9 ",
"start": 62.96479174804688
},
{
"end": 63.26679174804688,
"word": "de ",
"start": 63.185791748046874
},
{
"end": 63.71979174804687,
"word": "octubre ",
"start": 63.26679174804688
},
{
"end": 63.81279174804688,
"word": "a ",
"start": 63.71979174804687
},
{
"end": 64.23079174804687,
"word": "partir ",
"start": 63.81279174804688
},
{
"end": 64.33479174804687,
"word": "de ",
"start": 64.23079174804687
},
{
"end": 64.49779174804688,
"word": "las ",
"start": 64.33479174804687
},
{
"end": 64.83479174804687,
"word": "siete ",
"start": 64.49779174804688
},
{
"end": 64.91579174804687,
"word": "de ",
"start": 64.83479174804687
},
{
"end": 65.04379174804687,
"word": "la ",
"start": 64.91579174804687
},
{
"end": 65.58879174804687,
"word": "tarde?",
"start": 65.04379174804687
}
],
"content": "Es particular. ¿Te viene bien el jueves 9 de octubre a partir de las siete de la tarde?",
"metadata": {
"response_id": 12
}
},
{
"role": "user",
"words": [
{
"end": 67.262,
"word": "Perfecto.",
"start": 66.782004
}
],
"content": "Perfecto."
},
{
"role": "agent",
"words": [
{
"end": 69.627,
"word": "Perfecto, ",
"start": 69.186
},
{
"end": 69.848,
"word": "queda ",
"start": 69.627
},
{
"end": 69.999,
"word": "para ",
"start": 69.848
},
{
"end": 70.127,
"word": "el ",
"start": 69.999
},
{
"end": 70.637,
"word": "jueves ",
"start": 70.127
},
{
"end": 70.87,
"word": "9 ",
"start": 70.637
},
{
"end": 70.951,
"word": "de ",
"start": 70.87
},
{
"end": 71.311,
"word": "octubre ",
"start": 70.951
},
{
"end": 71.369,
"word": "a ",
"start": 71.311
},
{
"end": 71.496,
"word": "las ",
"start": 71.369
},
{
"end": 71.74,
"word": "siete ",
"start": 71.496
},
{
"end": 71.822,
"word": "de ",
"start": 71.74
},
{
"end": 71.926,
"word": "la ",
"start": 71.822
},
{
"end": 72.46,
"word": "tarde.",
"start": 71.926
},
{
"end": 72.669125,
"word": "\n¿La ",
"start": 72.495125
},
{
"end": 73.029125,
"word": "dirección ",
"start": 72.669125
},
{
"end": 73.342125,
"word": "exacta ",
"start": 73.029125
},
{
"end": 73.493125,
"word": "del ",
"start": 73.342125
}
],
"content": "Perfecto, queda para el jueves 9 de octubre a las siete de la tarde.\n¿La dirección exacta del ",
"metadata": {
"response_id": 13
}
},
{
"role": "user",
"words": [
{
"end": 73.912,
"word": "Perfecto.",
"start": 73.512
}
],
"content": "Perfecto."
},
{
"role": "agent",
"words": [
{
"end": 74.039125,
"word": "piso?",
"start": 73.493125
}
],
"content": "piso?",
"metadata": {
"response_id": 13
}
},
{
"role": "user",
"words": [
{
"end": 75.872,
"word": "Sí, ",
"start": 75.552
},
{
"end": 76.19200000000001,
"word": "ahí ",
"start": 75.872
},
{
"end": 76.271995,
"word": "en ",
"start": 76.19200000000001
},
{
"end": 76.432,
"word": "el ",
"start": 76.271995
},
{
"end": 76.591994,
"word": "veinte.",
"start": 76.432
}
],
"content": "Sí, ahí en el veinte."
},
{
"role": "agent",
"words": [
{
"end": 76.594,
"word": "Perfecto, ",
"start": 76.106
}
],
"content": "Perfecto, ",
"metadata": {
"response_id": 14
}
},
{
"role": "user",
"words": [
{
"end": 79.201995,
"word": "El ",
"start": 79.042
},
{
"end": 79.521995,
"word": "portal.",
"start": 79.201995
}
],
"content": "El portal."
},
{
"role": "agent",
"words": [
{
"end": 79.674,
"word": "Perfecto, ",
"start": 79.221
},
{
"end": 79.883,
"word": "queda ",
"start": 79.674
}
],
"content": "Perfecto, queda ",
"metadata": {
"response_id": 15
}
},
{
"role": "agent",
"words": [
{
"end": 81.886,
"word": "Perfecto, ",
"start": 81.398
},
{
"end": 82.222,
"word": "quedamos ",
"start": 81.886
},
{
"end": 82.431,
"word": "así ",
"start": 82.222
},
{
"end": 82.733,
"word": "muchas ",
"start": 82.431
},
{
"end": 83.453,
"word": "gracias. ",
"start": 82.733
},
{
"end": 83.778125,
"word": "hasta ",
"start": 83.499125
},
{
"end": 84.382125,
"word": "luego",
"start": 83.778125
}
],
"content": "Perfecto, quedamos así muchas gracias. hasta luego",
"metadata": {
"response_id": 16
}
}
],
"data_storage_setting": "everything",
"disconnection_reason": "agent_hangup",
"telephony_identifier": {
"twilio_call_sid": "CA6cd82de6747f0f0c58005f88f49622e0"
},
"transcript_with_tool_calls": [
{
"role": "user",
"words": [
{
"end": 1.8519999,
"word": "¿Te ",
"start": 1.6119999
},
{
"end": 2.092,
"word": "vas?",
"start": 1.8519999
}
],
"content": "¿Te vas?"
},
{
"role": "user",
"words": [
{
"end": 4.052,
"word": "¿Qué ",
"start": 3.6519999
},
{
"end": 4.7919997,
"word": "¿Le ",
"start": 4.4719999999999995
},
{
"end": 5.031999999999999,
"word": "va?",
"start": 4.7919997
}
],
"content": "¿Qué ¿Le va?"
},
{
"role": "agent",
"words": [
{
"end": 5.044,
"word": "No, ",
"start": 4.8
}
],
"content": "No, ",
"metadata": {
"response_id": 1
}
},
{
"role": "user",
"words": [
{
"end": 7.342,
"word": "Le ",
"start": 7.021999999999999
},
{
"end": 7.5020001999999995,
"word": "va.",
"start": 7.342
}
],
"content": "Le va."
},
{
"role": "agent",
"words": [
{
"end": 7.276,
"word": "Buenas, ",
"start": 6.893
},
{
"end": 7.427,
"word": "soy ",
"start": 7.276
},
{
"end": 7.613,
"word": "Juan ",
"start": 7.427
}
],
"content": "Buenas, soy Juan ",
"metadata": {
"response_id": 3
}
},
{
"role": "user",
"words": [
{
"end": 10.962,
"word": "Dígame.",
"start": 10.481999
}
],
"content": "Dígame."
},
{
"role": "agent",
"words": [
{
"end": 11.934,
"word": "Gracias.",
"start": 11.04
},
{
"end": 12.155125,
"word": " Te ",
"start": 11.980125
},
{
"end": 12.456125,
"word": "llamo ",
"start": 12.155125
},
{
"end": 12.677125,
"word": "para ",
"start": 12.456125
},
{
"end": 13.072125,
"word": "agendar ",
"start": 12.677125
},
{
"end": 13.223125,
"word": "una ",
"start": 13.072125
},
{
"end": 13.617125,
"word": "visita ",
"start": 13.223125
},
{
"end": 13.780125,
"word": "al ",
"start": 13.617125
},
{
"end": 14.093125,
"word": "piso ",
"start": 13.780125
},
{
"end": 14.198125,
"word": "en ",
"start": 14.093125
},
{
"end": 14.558125,
"word": "Avenida ",
"start": 14.198125
},
{
"end": 14.720125,
"word": "del ",
"start": 14.558125
},
{
"end": 15.301125,
"word": "Manzanares, ",
"start": 14.720125
},
{
"end": 15.730125,
"word": "20.\n",
"start": 15.301125
},
{
"end": 16.125125,
"word": "¿Puedes ",
"start": 15.730125
},
{
"end": 16.392125,
"word": "hablar ",
"start": 16.125125
},
{
"end": 16.903125,
"word": "ahora?",
"start": 16.392125
}
],
"content": "Gracias. Te llamo para agendar una visita al piso en Avenida del Manzanares, 20.\n¿Puedes hablar ahora?",
"metadata": {
"response_id": 5
}
},
{
"role": "user",
"words": [
{
"end": 18.412,
"word": "Hola, ",
"start": 17.772000000000002
},
{
"end": 18.572,
"word": "¿diga?",
"start": 18.572
}
],
"content": "Hola, ¿diga?"
},
{
"role": "user",
"words": [
{
"end": 20.881999,
"word": "¿Me ",
"start": 20.402
},
{
"end": 21.121999,
"word": "oye?",
"start": 20.881999
}
],
"content": "¿Me oye?"
},
{
"role": "agent",
"words": [
{
"end": 22.895,
"word": "Sí, ",
"start": 22.675
},
{
"end": 23.035,
"word": "te ",
"start": 22.895
},
{
"end": 23.569,
"word": "oigo.",
"start": 23.035
},
{
"end": 23.754666748046876,
"word": " Te ",
"start": 23.591666748046876
},
{
"end": 24.137666748046875,
"word": "llamo ",
"start": 23.754666748046876
},
{
"end": 24.346666748046875,
"word": "para ",
"start": 24.137666748046875
},
{
"end": 24.717666748046874,
"word": "agendar ",
"start": 24.346666748046875
},
{
"end": 24.868666748046873,
"word": "una ",
"start": 24.717666748046874
}
],
"content": "Sí, te oigo. Te llamo para agendar una ",
"metadata": {
"response_id": 7
}
},
{
"role": "user",
"words": [
{
"end": 22.942,
"word": "Oyes? ",
"start": 22.622
},
{
"end": 25.102,
"word": "Ahora.",
"start": 24.702
}
],
"content": "Oyes? Ahora."
},
{
"role": "agent",
"words": [
{
"end": 25.205666748046873,
"word": "visita ",
"start": 24.868666748046873
},
{
"end": 25.321666748046876,
"word": "al ",
"start": 25.205666748046873
},
{
"end": 25.623666748046876,
"word": "piso ",
"start": 25.321666748046876
}
],
"content": "visita al piso ",
"metadata": {
"response_id": 7
}
},
{
"role": "agent",
"words": [
{
"end": 30.62,
"word": "Sí, ",
"start": 30.272
},
{
"end": 30.76,
"word": "te ",
"start": 30.62
},
{
"end": 31.317,
"word": "oigo.",
"start": 30.76
}
],
"content": "Sí, te oigo.",
"metadata": {
"response_id": 8
}
},
{
"role": "user",
"words": [
{
"end": 32.502,
"word": "Se, ",
"start": 32.102000000000004
},
{
"end": 32.662,
"word": "es ",
"start": 32.502
},
{
"end": 32.742,
"word": "que ",
"start": 32.662
},
{
"end": 32.902,
"word": "se ",
"start": 32.742
},
{
"end": 33.222,
"word": "corta, ",
"start": 32.902
}
],
"content": "Se, es que se corta, "
},
{
"role": "agent",
"words": [
{
"end": 32.229,
"word": " Te ",
"start": 32.055
},
{
"end": 32.496,
"word": "llamo ",
"start": 32.229
},
{
"end": 32.717,
"word": "para ",
"start": 32.496
},
{
"end": 33.112,
"word": "agendar ",
"start": 32.717
},
{
"end": 33.274,
"word": "una ",
"start": 33.112
}
],
"content": " Te llamo para agendar una ",
"metadata": {
"response_id": 8
}
},
{
"role": "user",
"words": [
{
"end": 33.462,
"word": "estoy ",
"start": 33.222
},
{
"end": 33.622,
"word": "yo ",
"start": 33.462
},
{
"end": 33.942,
"word": "metido ",
"start": 33.622
},
{
"end": 34.102000000000004,
"word": "en ",
"start": 33.942
},
{
"end": 34.342,
"word": "un ",
"start": 34.102000000000004
},
{
"end": 34.582,
"word": "en ",
"start": 34.342
},
{
"end": 34.662,
"word": "un ",
"start": 34.582
},
{
"end": 35.062,
"word": "sótano ",
"start": 34.662
},
{
"end": 35.462,
"word": "trabajando.",
"start": 35.062
}
],
"content": "estoy yo metido en un en un sótano trabajando."
},
{
"role": "user",
"words": [
{
"end": 36.642,
"word": "Espera, ",
"start": 36.162
},
{
"end": 36.802,
"word": "espera ",
"start": 36.642
},
{
"end": 36.962,
"word": "un ",
"start": 36.802
},
{
"end": 37.362,
"word": "segundo, ",
"start": 36.962
},
{
"end": 37.602000000000004,
"word": "espere.",
"start": 37.362
}
],
"content": "Espera, espera un segundo, espere."
},
{
"role": "agent",
"words": [
{
"end": 39.623,
"word": "Sin ",
"start": 39.402
},
{
"end": 40.273,
"word": "problema.",
"start": 39.623
},
{
"end": 40.64466674804687,
"word": " ¿Cuándo ",
"start": 40.31866674804687
},
{
"end": 40.725666748046876,
"word": "te ",
"start": 40.64466674804687
},
{
"end": 40.87666674804687,
"word": "viene ",
"start": 40.725666748046876
},
{
"end": 41.12066674804687,
"word": "mejor ",
"start": 40.87666674804687
},
{
"end": 41.23666674804687,
"word": "que ",
"start": 41.12066674804687
},
{
"end": 41.329666748046876,
"word": "te ",
"start": 41.23666674804687
},
{
"end": 41.851666748046874,
"word": "llame?",
"start": 41.329666748046876
},
{
"end": 42.164625,
"word": " Puedo ",
"start": 41.863625
},
{
"end": 42.629625,
"word": "llamarte ",
"start": 42.164625
}
],
"content": "Sin problema. ¿Cuándo te viene mejor que te llame? Puedo llamarte ",
"metadata": {
"response_id": 10
}
},
{
"role": "user",
"words": [
{
"end": 43.432002,
"word": "No, ",
"start": 43.032000000000004
},
{
"end": 43.672,
"word": "ahora, ",
"start": 43.432002
},
{
"end": 43.832,
"word": "ahora, ",
"start": 43.672
},
{
"end": 43.992,
"word": "ya ",
"start": 43.832
}
],
"content": "No, ahora, ahora, ya "
},
{
"role": "agent",
"words": [
{
"end": 43.186625,
"word": "hoy ",
"start": 42.629625
},
{
"end": 43.349625,
"word": "a ",
"start": 43.186625
},
{
"end": 43.511625,
"word": "las ",
"start": 43.349625
},
{
"end": 43.801625,
"word": "siete ",
"start": 43.511625
},
{
"end": 43.883625,
"word": "de ",
"start": 43.801625
},
{
"end": 44.010625,
"word": "la ",
"start": 43.883625
}
],
"content": "hoy a las siete de la ",
"metadata": {
"response_id": 10
}
},
{
"role": "user",
"words": [
{
"end": 44.072,
"word": "le ",
"start": 43.992
},
{
"end": 44.392,
"word": "oigo, ",
"start": 44.072
},
{
"end": 44.472003,
"word": "que ",
"start": 44.392
},
{
"end": 44.552,
"word": "he ",
"start": 44.472003
},
{
"end": 44.872,
"word": "salido, ",
"start": 44.552
},
{
"end": 44.952002,
"word": "es ",
"start": 44.872
},
{
"end": 45.032000000000004,
"word": "que ",
"start": 44.952002
},
{
"end": 45.272002,
"word": "estamos ",
"start": 45.032000000000004
},
{
"end": 45.592,
"word": "trabajando ",
"start": 45.272002
},
{
"end": 45.672,
"word": "en ",
"start": 45.592
},
{
"end": 45.832,
"word": "unos ",
"start": 45.672
},
{
"end": 46.392,
"word": "traseros, ",
"start": 45.832
},
{
"end": 46.712,
"word": "dígame.",
"start": 46.392
}
],
"content": "le oigo, que he salido, es que estamos trabajando en unos traseros, dígame."
},
{
"role": "agent",
"words": [
{
"end": 50.094,
"word": "Perfecto.",
"start": 49.281
},
{
"end": 50.279791748046875,
"word": " Te ",
"start": 50.11679174804687
},
{
"end": 50.54679174804688,
"word": "llamo ",
"start": 50.279791748046875
},
{
"end": 50.743791748046874,
"word": "para ",
"start": 50.54679174804688
},
{
"end": 51.09179174804687,
"word": "agendar ",
"start": 50.743791748046874
},
{
"end": 51.231791748046874,
"word": "una ",
"start": 51.09179174804687
},
{
"end": 51.544791748046876,
"word": "visita ",
"start": 51.231791748046874
},
{
"end": 51.660791748046876,
"word": "al ",
"start": 51.544791748046876
},
{
"end": 51.98579174804688,
"word": "piso ",
"start": 51.660791748046876
},
{
"end": 52.102791748046876,
"word": "en ",
"start": 51.98579174804688
},
{
"end": 52.450791748046875,
"word": "Avenida ",
"start": 52.102791748046876
},
{
"end": 52.566791748046874,
"word": "del ",
"start": 52.450791748046875
},
{
"end": 53.297791748046876,
"word": "Manzanares, ",
"start": 52.566791748046874
},
{
"end": 53.99479174804687,
"word": "20. ",
"start": 53.297791748046876
},
{
"end": 54.19175,
"word": "¿Qué ",
"start": 54.04075
},
{
"end": 54.34275,
"word": "día ",
"start": 54.19175
},
{
"end": 54.44775,
"word": "te ",
"start": 54.34275
},
{
"end": 54.67975,
"word": "viene ",
"start": 54.44775
},
{
"end": 55.15575,
"word": "bien?",
"start": 54.67975
}
],
"content": "Perfecto. Te llamo para agendar una visita al piso en Avenida del Manzanares, 20. ¿Qué día te viene bien?",
"metadata": {
"response_id": 11
}
},
{
"role": "user",
"words": [
{
"end": 56.781997,
"word": "Pues ",
"start": 56.542
},
{
"end": 57.022,
"word": "por ",
"start": 56.781997
},
{
"end": 57.101996,
"word": "las ",
"start": 57.022
},
{
"end": 57.422,
"word": "tardes, ",
"start": 57.101996
},
{
"end": 57.501998,
"word": "de ",
"start": 57.422
},
{
"end": 57.742,
"word": "seis ",
"start": 57.501998
},
{
"end": 57.902,
"word": "a ",
"start": 57.742
},
{
"end": 58.222,
"word": "ocho, ",
"start": 57.902
},
{
"end": 58.382,
"word": "¿es ",
"start": 58.222
},
{
"end": 58.941996,
"word": "particular ",
"start": 58.382
},
{
"end": 59.182,
"word": "o ",
"start": 58.941996
},
{
"end": 59.501998,
"word": "agencia?",
"start": 59.182
}
],
"content": "Pues por las tardes, de seis a ocho, ¿es particular o agencia?"
},
{
"role": "agent",
"words": [
{
"end": 61.317,
"word": "Es ",
"start": 61.166
},
{
"end": 61.967,
"word": "particular.",
"start": 61.317
},
{
"end": 62.175791748046876,
"word": " ¿Te ",
"start": 62.01279174804687
},
{
"end": 62.407791748046876,
"word": "viene ",
"start": 62.175791748046876
},
{
"end": 62.605791748046876,
"word": "bien ",
"start": 62.407791748046876
},
{
"end": 62.67479174804687,
"word": "el ",
"start": 62.605791748046876
},
{
"end": 62.96479174804688,
"word": "jueves ",
"start": 62.67479174804687
},
{
"end": 63.185791748046874,
"word": "9 ",
"start": 62.96479174804688
},
{
"end": 63.26679174804688,
"word": "de ",
"start": 63.185791748046874
},
{
"end": 63.71979174804687,
"word": "octubre ",
"start": 63.26679174804688
},
{
"end": 63.81279174804688,
"word": "a ",
"start": 63.71979174804687
},
{
"end": 64.23079174804687,
"word": "partir ",
"start": 63.81279174804688
},
{
"end": 64.33479174804687,
"word": "de ",
"start": 64.23079174804687
},
{
"end": 64.49779174804688,
"word": "las ",
"start": 64.33479174804687
},
{
"end": 64.83479174804687,
"word": "siete ",
"start": 64.49779174804688
},
{
"end": 64.91579174804687,
"word": "de ",
"start": 64.83479174804687
},
{
"end": 65.04379174804687,
"word": "la ",
"start": 64.91579174804687
},
{
"end": 65.58879174804687,
"word": "tarde?",
"start": 65.04379174804687
}
],
"content": "Es particular. ¿Te viene bien el jueves 9 de octubre a partir de las siete de la tarde?",
"metadata": {
"response_id": 12
}
},
{
"role": "user",
"words": [
{
"end": 67.262,
"word": "Perfecto.",
"start": 66.782004
}
],
"content": "Perfecto."
},
{
"role": "agent",
"words": [
{
"end": 69.627,
"word": "Perfecto, ",
"start": 69.186
},
{
"end": 69.848,
"word": "queda ",
"start": 69.627
},
{
"end": 69.999,
"word": "para ",
"start": 69.848
},
{
"end": 70.127,
"word": "el ",
"start": 69.999
},
{
"end": 70.637,
"word": "jueves ",
"start": 70.127
},
{
"end": 70.87,
"word": "9 ",
"start": 70.637
},
{
"end": 70.951,
"word": "de ",
"start": 70.87
},
{
"end": 71.311,
"word": "octubre ",
"start": 70.951
},
{
"end": 71.369,
"word": "a ",
"start": 71.311
},
{
"end": 71.496,
"word": "las ",
"start": 71.369
},
{
"end": 71.74,
"word": "siete ",
"start": 71.496
},
{
"end": 71.822,
"word": "de ",
"start": 71.74
},
{
"end": 71.926,
"word": "la ",
"start": 71.822
},
{
"end": 72.46,
"word": "tarde.",
"start": 71.926
},
{
"end": 72.669125,
"word": "\n¿La ",
"start": 72.495125
},
{
"end": 73.029125,
"word": "dirección ",
"start": 72.669125
},
{
"end": 73.342125,
"word": "exacta ",
"start": 73.029125
},
{
"end": 73.493125,
"word": "del ",
"start": 73.342125
}
],
"content": "Perfecto, queda para el jueves 9 de octubre a las siete de la tarde.\n¿La dirección exacta del ",
"metadata": {
"response_id": 13
}
},
{
"role": "user",
"words": [
{
"end": 73.912,
"word": "Perfecto.",
"start": 73.512
}
],
"content": "Perfecto."
},
{
"role": "agent",
"words": [
{
"end": 74.039125,
"word": "piso?",
"start": 73.493125
}
],
"content": "piso?",
"metadata": {
"response_id": 13
}
},
{
"role": "user",
"words": [
{
"end": 75.872,
"word": "Sí, ",
"start": 75.552
},
{
"end": 76.19200000000001,
"word": "ahí ",
"start": 75.872
},
{
"end": 76.271995,
"word": "en ",
"start": 76.19200000000001
},
{
"end": 76.432,
"word": "el ",
"start": 76.271995
},
{
"end": 76.591994,
"word": "veinte.",
"start": 76.432
}
],
"content": "Sí, ahí en el veinte."
},
{
"role": "agent",
"words": [
{
"end": 76.594,
"word": "Perfecto, ",
"start": 76.106
}
],
"content": "Perfecto, ",
"metadata": {
"response_id": 14
}
},
{
"role": "user",
"words": [
{
"end": 79.201995,
"word": "El ",
"start": 79.042
},
{
"end": 79.521995,
"word": "portal.",
"start": 79.201995
}
],
"content": "El portal."
},
{
"role": "agent",
"words": [
{
"end": 79.674,
"word": "Perfecto, ",
"start": 79.221
},
{
"end": 79.883,
"word": "queda ",
"start": 79.674
}
],
"content": "Perfecto, queda ",
"metadata": {
"response_id": 15
}
},
{
"role": "agent",
"words": [
{
"end": 81.886,
"word": "Perfecto, ",
"start": 81.398
},
{
"end": 82.222,
"word": "quedamos ",
"start": 81.886
},
{
"end": 82.431,
"word": "así ",
"start": 82.222
},
{
"end": 82.733,
"word": "muchas ",
"start": 82.431
},
{
"end": 83.453,
"word": "gracias. ",
"start": 82.733
},
{
"end": 83.778125,
"word": "hasta ",
"start": 83.499125
},
{
"end": 84.382125,
"word": "luego",
"start": 83.778125
}
],
"content": "Perfecto, quedamos así muchas gracias. hasta luego",
"metadata": {
"response_id": 16
}
},
{
"name": "end_call",
"role": "tool_call_invocation",
"type": "end_call",
"time_sec": 84.382,
"arguments": "{\"execution_message\":\"Perfecto, quedamos así muchas gracias. hasta luego\"}",
"tool_call_id": "483288aac56f0ec8"
}
],
"recording_multi_channel_url": "https://dxc03zgurdly9.cloudfront.net/3348e2dfc49d2bb52dc090412bc3687d0233a2e8a6c54f0047831702f5975a4c/recording_multichannel.wav",
"retell_llm_dynamic_variables": {
"direccion": "Avenida del Manzanares, 20",
"slots_disponibles": "Tengo disponibilidad para la visita: mañana, jueves 9 de octubre, a partir de las 7 de la tarde; el viernes 10 de octubre, a partir de las 4 de la tarde; y el fin de semana, a cualquier hora a partir de las 11 de la mañana."
},
"opt_out_sensitive_data_storage": false
},
"event": "call_ended"
},
"query": {},
"params": {},
"headers": {
"host": "n8n.img2html.com",
"accept": "application/json, text/plain, */*",
"cf-ray": "98b4bfe51c85302c-PDX",
"cdn-loop": "cloudflare; loops=1",
"x-real-ip": "104.23.160.65",
"cf-visitor": "{\"scheme\":\"https\"}",
"user-agent": "axios/1.11.0",
"cf-ipcountry": "US",
"content-type": "application/json",
"content-length": "30337",
"accept-encoding": "gzip, br",
"x-forwarded-for": "104.23.160.65",
"cf-connecting-ip": "100.20.5.228",
"x-forwarded-host": "n8n.img2html.com",
"x-forwarded-port": "443",
"x-forwarded-proto": "https",
"x-forwarded-server": "b8f473d76b4e",
"x-retell-signature": "v=1759917189905,d=3e173c516fc615996a9ee9c9418ddef445029378e82c83302436a6ec3ad9632e"
},
"webhookUrl": "https://n8n.img2html.com/webhook/retell-webhook-agent",
"executionMode": "production"
}
],
"Telegram Trigger": [
{
"message": {
"chat": {
"id": 245284777,
"type": "private",
"username": "Mutonby",
"first_name": "Juan Carlos 🦴"
},
"date": 1760454862,
"from": {
"id": 245284777,
"is_bot": false,
"username": "Mutonby",
"first_name": "Juan Carlos 🦴",
"language_code": "es"
},
"text": "919 01 49 71 Piso en venta en calle Antonio Lopez, 67 470.000 € ver a partir del jueves",
"message_id": 269
},
"update_id": 189771673
}
]
},
"connections": {
"c3887391-2f0f-4d7d-8ad1-dbcc6390f312": {
"main": [
[
{
"node": "AI Agent Parse Call",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "AI Agent: Property Viewings",
"type": "main",
"index": 0
}
],
[
{
"node": "AI Agent Reserva Restaurantes",
"type": "main",
"index": 0
}
]
]
},
"Retell Webhook": {
"main": [
[
{
"node": "c3887391-2f0f-4d7d-8ad1-dbcc6390f312",
"type": "main",
"index": 0
}
]
]
},
"9782dbb6-bae4-4888-8c90-232d1e64c3de": {
"ai_languageModel": [
[
{
"node": "AI Agent: Property Viewings",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "ee853319-7d74-44c2-bde1-6d9be7ce3d33",
"type": "main",
"index": 0
}
]
]
},
"be55dfc4-a7b5-483c-8701-9c8163ffb13f": {
"ai_languageModel": [
[
{
"node": "AI Agent Reserva Restaurantes",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"e7d4003b-97dc-4839-9886-021ff1f0f3e5": {
"ai_languageModel": [
[
{
"node": "AI Agent Parse Call",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AI Agent Parse Call": {
"main": [
[
{
"node": "07d76d6b-97e0-44c3-aa6e-1de1b6be8a76",
"type": "main",
"index": 0
}
]
]
},
"ee853319-7d74-44c2-bde1-6d9be7ce3d33": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "5bb4a072-bfa9-4769-a902-bbadf2e8e179",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5bb4a072-bfa9-4769-a902-bbadf2e8e179": {
"ai_outputParser": [
[
{
"node": "AI Agent: Property Viewings",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Google Gemini Chat Model1": {
"ai_languageModel": [
[
{
"node": "76c3d2af-9370-4614-8319-b733a0ffedb4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"76c3d2af-9370-4614-8319-b733a0ffedb4": {
"ai_outputParser": [
[
{
"node": "AI Agent Reserva Restaurantes",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"AI Agent: Property Viewings": {
"main": [
[
{
"node": "996cc320-5576-4751-a5e0-bd8c0f562f4f",
"type": "main",
"index": 0
}
]
]
},
"AI Agent Reserva Restaurantes": {
"main": [
[
{
"node": "8d309cbf-b0b6-4598-a28b-024c5ff7154d",
"type": "main",
"index": 0
}
]
]
},
"Get an event in Google Calendar": {
"ai_tool": [
[
{
"node": "AI Agent: Property Viewings",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get an event in Google Calendar1": {
"ai_tool": [
[
{
"node": "AI Agent Reserva Restaurantes",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create an event in Google Calendar": {
"ai_tool": [
[
{
"node": "AI Agent Parse Call",
"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 - Persönliche Produktivität, KI-Chatbot
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
Juan Carlos Cavero Gracia
@carlosgraciaFollow me in linkedin: https://www.linkedin.com/in/juan-carlos-cavero-gracia/
Diesen Workflow teilen