Descripción del problema con el flujo de herramientas (Vapi + n8n):
Estoy integrando Vapi con mi servidor de n8n mediante un único webhook.
He definido dos herramientas en mi Assistant:
calendar_slots → para consultar disponibilidad
calendar_set_appointment → para crear la cita en Google Calendar
El comportamiento esperado es que el modelo llame siempre primero a calendar_slots y, solo después de recibir un slot confirmado, llame a calendar_set_appointment.
Problema actual
El Assistant en Vapi omite la llamada a calendar_slots y va directamente a calendar_set_appointment.
Esto ocurre aunque en el prompt de sistema esté claramente indicado que debe llamarse primero a calendar_slots.
Estoy recibiendo en el webhook de n8n llamadas que van directamente a calendar_set_appointment, lo que rompe el flujo (falta slot_start, slot_end y el flag de confirmación).
Probado tanto en modo Web (no es un problema de número real) como en producción.
Lo que ya he comprobado
Los webhooks en n8n funcionan bien (si llamo directo con Postman, cada uno responde correcto).
El workflow está activo y responde en /webhook/ (no en /webhook-test/).
En la configuración de mensajes, he puesto que function-call / tool-calls solo vayan al servidor, no al cliente.
También probé a re-publicar el assistant, pero sigue forzando set_appointment.
Pregunta / petición
¿Cómo puedo forzar en Vapi que siempre se invoque primero la herramienta calendar_slots?
¿Existe alguna forma en la configuración del Assistant (por ejemplo tool_choice: "required") o en el manejo de mensajes, para garantizar que el modelo no pueda saltarse calendar_slots antes de calendar_set_appointment?