#Derivar una conversación de tu agente de IA a una persona
Derivar a una persona es la forma en que un agente de IA le pasa una conversación a alguien de tu equipo cuando no debe, o no puede, resolverla solo. Con Vatio lo declaras en tu vatio.yml: handoff.when lista los casos con tus propias palabras, after_turns pone un piso, y el horario de atención, que quien lleva el negocio configura en la página Negocio del inbox, dice cuándo hay alguien de turno. La conversación aparece en espera en el inbox, quien responde la toma, y el agente la retoma cuando se la devuelven, en WhatsApp, Instagram y la web por igual.
#Qué es derivar y por qué importa
Algunas conversaciones necesitan una persona: un despacho que llegó dañado, un cobro en disputa, un cliente molesto, cualquier cosa que el negocio quiera que juzgue alguien de su equipo. Un agente que sigue adelante en esos momentos empeora las cosas; uno que deriva todo es un formulario de contacto con pasos extra.
En Vatio, derivar se arma con dos mitades. El criterio del modelo sigue las condiciones que escribes. Los gatillos determinísticos atrapan lo que el criterio podría dejar pasar: un visitante que pide un humano, o una conversación que se alargó demasiado. Y el agente es honesto de principio a fin. Dice de frente que es un asistente, y cuando deriva algo le dice al visitante que lo está consultando con un colega y que va a volver con una respuesta, sin inventar un trámite para cubrirlo. Varias jurisdicciones exigen revelar que una persona está hablando con una máquina; revisa lo que exige la tuya.
#Cómo funciona
- Declarar
handoffle da al agente la tool para derivar. Sin el bloque, no tiene cómo escalar. - El agente la llama cuando aplica una condición de
handoff.wheny no puede resolver el caso él mismo. Dos cosas la disparan de todas formas: un visitante que pide un humano con todas sus letras, y llegar aafter_turnsmensajes del visitante. - La conversación queda marcada como en espera de una persona en el inbox. Vatio todavía no le avisa a nadie.
- El horario de atención decide qué hace el agente después:
| Dentro del horario | Fuera del horario | |
|---|---|---|
| El agente | Se queda en silencio, porque hay alguien para tomarla | Sigue respondiendo: ya prometió una persona, y quedarse callado encima es peor que ayudar |
- Quien responde toma la conversación, desde el inbox o desde la app de WhatsApp Business en tu propio número. El agente no se mete en ese chat.
- Vuelve al agente cuando alguien se la devuelve, o cuando vence el traspaso.
Sin horario configurado, se asume que siempre hay alguien, así que cada derivación deja al agente en silencio, también a las 3 de la mañana. Una derivación que nadie toma en una hora vuelve al agente, en vez de dejar al visitante con una promesa y silencio.
#Paso a paso
#1. Escribe handoff.when con tus palabras
Cada condición es una frase corta que va al prompt. Escribe los casos que nombró el negocio, tan específicos como los nombró:
handoff:
when:
- un mueble llegó dañado o incompleto
- el cliente pide una devolución o reclama un cobro
- una cotización de más de diez muebles, o para una empresa
«Un reclamo por un cobro» es una condición que un modelo puede reconocer. «Situaciones difíciles» no lo es.
#2. Pon after_turns como piso
handoff:
after_turns: 10
Pasados esos mensajes del visitante, la derivación ocurre aunque el modelo no la haya pedido. Cuenta los mensajes del visitante, no el intercambio. Elige un número mayor que el largo de una conversación normal que termina bien, para que solo lleguen ahí las que se trabaron.
#3. Pon el horario en que de verdad hay alguien
El horario no va en vatio.yml: lo configura quien lleva el negocio en la página Negocio del inbox, con una zona horaria y uno o más turnos por día, o con la opción de que siempre hay alguien disponible. Por ejemplo, America/Santiago, el lunes de 9:00 a 13:00 y de 14:00 a 18:00 (dos turnos, por la hora de almuerzo), el martes de 9:00 a 18:00 y el sábado de 10:00 a 14:00. Se aplica a todos los entornos apenas se guarda, y un bloque hours: que quede en un vatio.yml se ignora con una advertencia.
Un día sin turnos es un día en que no hay nadie de turno. El horario no decide cuándo responde el agente, que responde a toda hora. Decide si una derivación lo deja en silencio. El agente también recibe la semana completa, así que puede decirle a un cliente cuándo atienden. El detalle está en Horario de atención.
#4. Dile al agente qué reunir antes
Quien toma la conversación no debería tener que empezar de cero. Basta una línea en las instrucciones: «Antes de derivar una conversación sobre un pedido, pide el número de pedido».
#5. Haz push y pruébalo
vatio push
vatio chat "La mesa me llegó con una pata quebrada"
vatio chat --new "Quiero hablar con una persona"
vatio chat show
La primera debería terminar en una llamada a handoff, que chat show lista junto a las demás llamadas a tools del agente; la segunda la deriva el gatillo, piense lo que piense el modelo. En el inbox, con el entorno preview seleccionado, las dos deberían aparecer en espera.
#Tomar la conversación y devolverla
Los supervisores se invitan desde Equipo en el inbox. En el inbox ven cada conversación y las llamadas a tools del agente, y responder es tomar la conversación: el agente deja de responder en ese chat. En WhatsApp, una respuesta desde la app de WhatsApp Business en tu número conectado cuenta igual, así que el equipo puede seguir usando el teléfono.
Cuando terminan, Devolver al agente en el inbox le devuelve la conversación. Si nadie lo hace, el traspaso vence 8 horas después del último mensaje del visitante, y el agente retoma la próxima vez que escribe. Cada respuesta humana reinicia ese reloj, así que una conversación que alguien está atendiendo nunca vence en sus manos.
Mientras leen, los supervisores también pueden marcar una respuesta que debió ser una derivación y escribir lo que el agente debió hacer. Esa nota se vuelve un caso de eval, y la corrección muchas veces termina en handoff.when; mira Mejorar tu agente.
#Todavía nadie recibe un aviso
Díselo claramente a quien atiende el inbox: Vatio no envía una notificación cuando se deriva una conversación. Aparece en espera en el inbox, y nada más. Por eso:
- Alguien tiene que mirar el inbox durante el horario de atención.
- Si nadie mira los sábados, deja el sábado sin turnos. Así el agente sigue ayudando en vez de quedarse una hora en silencio mientras nadie llega.
#Un ejemplo completo
Muebles Quillay vende muebles por internet y atiende por WhatsApp y en su sitio. El equipo trabaja de lunes a viernes con hora de almuerzo y un sábado corto, y eso es lo que pusieron en la página Negocio del inbox: de lunes a jueves de 9:00 a 13:00 y de 14:00 a 18:00, el viernes de 9:00 a 13:00 y de 14:00 a 17:00, y el sábado de 10:00 a 14:00. El vatio.yml lleva el resto:
workspace: muebles-quillay
agent:
name: Muebles Quillay
personality: Cercano y breve. Palabras simples.
instructions: |
Ayudas a los clientes de Muebles Quillay con productos, plazos de
despacho y el estado de sus pedidos.
Pedidos: pide el número de pedido y el correo con que se hizo, y
llama a estado_pedido. Solo da una fecha de entrega que estado_pedido
haya devuelto.
Productos, zonas de despacho, armado y la política de devoluciones:
busca primero en knowledge_lookup. Si no encuentras la respuesta,
dilo y ofrece pasarle la pregunta al equipo.
Antes de derivar una conversación sobre un pedido, pide el número de
pedido para que quien la tome lo tenga.
Reglas que nunca rompes:
- Nunca prometas una devolución de dinero, un descuento ni un cambio.
- Nunca digas que un despacho se reprogramó si estado_pedido no lo dice.
tools: [estado_pedido, knowledge_lookup]
knowledge: [tienda]
handoff:
after_turns: 10
when:
- un mueble llegó dañado o incompleto
- el cliente pide una devolución o reclama un cobro
- una cotización de más de diez muebles, o para una empresa
- el cliente está molesto por un despacho que no llegó
Un sábado a las 16:00, fuera del horario:
Cliente: la mesa llegó con una pata quebrada [foto]
Agente: Lo siento, eso no debería pasar. ¿Me das tu número de pedido?
Cliente: MQ-20931
Agente: Gracias. Soy el asistente de Muebles Quillay, así que lo estoy consultando con un colega, y el equipo te va a responder por aquí el lunes en la mañana. ¿Te ayudo con algo más mientras tanto?
El agente pidió el número de pedido, como dicen las instrucciones, y después llamó a handoff porque un mueble llegó dañado. Como estaba fuera del horario, siguió respondiendo. El lunes alguien del equipo abre la conversación en el inbox, responde, y la conversación es suya hasta que la devuelve. El mismo mensaje un martes a las 11:00 habría dejado al agente en silencio de inmediato, con alguien de turno para responder.
#Errores comunes
- Un horario que no calza con la realidad. Dentro del horario configurado, una derivación deja al agente en silencio. Si nadie está mirando, el visitante espera hasta una hora antes de que el agente retome la conversación.
- Sin horario. Cada derivación deja al agente en silencio, también de noche.
- Condiciones vagas. «Cuando se complique» no es algo que un modelo pueda aplicar de forma consistente.
- Un
after_turnsmuy bajo. Una conversación larga pero sana, como una cotización con muchos detalles, se deriva a medio camino. - Un traspaso olvidado. El agente no vuelve a ese chat hasta que alguien se lo devuelve o pasan 8 horas desde el último mensaje del visitante. Si un agente «dejó de responder» un chat, revisa primero si alguien lo tomó.
- Pedirle al agente que se haga pasar por una persona. No escribas un nombre humano y una historia en las instrucciones; el agente les dice a los visitantes que es un asistente.
- Derivar en vez de corregir. Si la misma pregunta llega una y otra vez a las personas, márcala y dale al agente el conocimiento o la tool que le faltaba.
#Qué sigue
Para lo que el agente nunca debe decir, incluso antes de derivar, lee Salvaguardas. Para los detalles de WhatsApp, incluida la app Business, mira Un agente de IA en WhatsApp. La referencia está en la documentación de derivación.
Preguntas frecuentes
¿Cómo deriva un agente de IA una conversación a una persona?
En Vatio declaras un bloque handoff en el agente, en vatio.yml, y eso le da una tool para pedir una persona. Cuando la llama, o cuando se dispara un gatillo determinístico, la conversación aparece en espera en el inbox, y quien responda ahí o desde la app de WhatsApp Business la toma.
¿Vatio le avisa a mi equipo cuando se deriva una conversación?
Todavía no. Una derivación aparece en espera en el inbox y no se envía nada a ninguna parte. Alguien tiene que mirar el inbox durante el horario de atención, así que pon en la página Negocio del inbox las horas en que de verdad hay una persona.
¿Qué hace el agente fuera del horario de atención?
Sigue ayudando. Dentro del horario de atención, una derivación deja al agente en silencio para que una persona tome la conversación. Fuera de él, le dice al visitante que el equipo le va a responder y mientras tanto sigue atendiendo cualquier otra cosa.
¿Un cliente que pide hablar con una persona siempre la consigue?
Sí, desde que el agente tiene un bloque handoff. Un visitante que pide un humano con todas sus letras siempre dispara una derivación, y eso nunca depende del criterio del modelo. after_turns agrega un segundo piso determinístico: pasados esos mensajes del visitante, la derivación ocurre igual.
¿El agente se hace pasar por una persona?
No. Dice de frente que es un asistente, y cuando deriva algo le dice al visitante que lo está consultando con un colega y que va a volver con una respuesta, sin inventar una excusa. Varias jurisdicciones exigen revelarlo; revisa lo que te pide la tuya.
¿Cómo recupera el agente la conversación?
Un supervisor hace clic en Devolver al agente en el inbox. Si nadie lo hace, el traspaso vence 8 horas después del último mensaje del visitante, y el agente retoma la próxima vez que escribe. Una derivación que nadie toma en una hora también vuelve al agente.
Actualizado: