Saltar al contenido principal
Actualizado el Oct 9, 2026

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​

CampoQué hace
Retraso en segundosExpresió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​

SalidaSignificado
replyDelayMsLa sobrescritura ahora guardada en la conversación, en milisegundos (0 = responder de inmediato), o null cuando se borró

Léela con maps.get(workflow.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ámetroTipoDescripción
delay_secondsnumberSegundos 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": {"expr": "delay_seconds", "onFailure": "throw"}}

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_resposta con delay_seconds entre 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.
  • 0 es 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.