Definir retraso de respuesta
Usa esta acción cuando un contacto escribe en fragmentos — una sola idea repartida en varios mensajes rápidos — y el agente debe esperar el último fragmento antes de responder, para que todos reciban una respuesta en lugar de una respuesta cada uno.
Mejor para
- Contactos que envían "mensajes partidos" (tres o cuatro líneas cortas seguidas)
- Dejar que el agente ajuste su propio ritmo a mitad de conversación, mediante una herramienta
- Volver a respuestas rápidas cuando el contacto lo prefiera
Cómo funciona
Cada canal tiene una ventana de espera antes de responder (replyDebounceMs en las opciones del canal). Cuando llega un mensaje del contacto, el agente espera ese tiempo; si llega otro mensaje dentro de la ventana la espera se reinicia, y el agente responde a todo de una vez cuando la ventana se cierra.
Esta acción guarda una sobrescritura por conversación de esa ventana. Permanece en la conversación hasta que se cambie o se borre — no es por ejecución ni por mensaje.
Campos principales
| Campo | Qué hace |
|---|---|
| Retraso en segundos | Expresión CEL que evalúa a la espera, en segundos, después del último mensaje del contacto. 0 responde de inmediato; los valores por encima de 60 se limitan a 60. Déjalo vacío (o evalúa a null) para borrar la sobrescritura y volver a la configuración del canal |
El campo es una expresión CEL a propósito: una herramienta del agente solo llega a una acción a través de sus pasos actions[], y el paso vincula los argumentos de la herramienta. Un número simple solo podría guardar un valor fijo.
Qué pueden usar los pasos posteriores
| Salida | Significado |
|---|---|
replyDelayMs | La sobrescritura ahora guardada en la conversación, en milisegundos (0 = responder de inmediato), o null cuando se borró |
Léela con get(step(N), 'replyDelayMs'). Esta acción publica en la raíz del paso — no hay objeto data.
Entregarla al agente como herramienta
Crea una herramienta llamada ajustar_ritmo_de_resposta con un parámetro:
| Parámetro | Tipo | Descripción |
|---|---|---|
delay_seconds | number | Segundos de espera después del último mensaje del contacto antes de responder (0 a 60). Omítelo para volver al valor por defecto del canal. |
Agrega un paso a la herramienta con la acción Definir retraso de respuesta y vincula el campo al argumento:
delay_seconds: args.delay_seconds
Luego dile al agente cuándo usarla. Un prompt que funciona:
Si el contacto envía su mensaje en varios fragmentos cortos seguidos, llama a
ajustar_ritmo_de_respostacondelay_secondsentre 8 y 10 para responder a todos los fragmentos de una vez. Si pide respuestas más rápidas o empieza a escribir mensajes completos, llámala de nuevo con un valor pequeño (o sin valor para restablecer). No menciones la herramienta al contacto.
Consejos
- De 8 a 10 segundos es una buena ventana para quien escribe en fragmentos; por encima de 20 segundos empieza a parecer silencio.
0es un valor válido y significa "responder en cuanto llegue el mensaje" — útil para contactos que se quejan de lentitud.- La sobrescritura sobrevive entre ejecuciones. Si el hábito del contacto cambia, restablécela; nada lo hace por ti.
- En una ejecución manual de workflow no hay conversación, así que el paso falla con
agent_set_reply_delay_no_conversation. Está pensada para herramientas de agente y workflows ligados a una conversación.