Para el turno de conversación de un agente, este debe responder al usuario final con una respuesta a una pregunta, una consulta de información o una finalización de la sesión. Es posible que el agente también deba comunicarse con el servicio para generar respuestas dinámicas o tomar medidas durante un turno. La entrega se usa para lograr todo esto.
Una entrega puede contener cualquiera de los siguientes elementos:
- Mensajes de respuesta estática.
- Webhook llama para obtener respuestas dinámicas o para realizar acciones.
- Ajustes predeterminados de parámetros para establecer o anular los valores del parámetro
Durante el turno de un agente, es posible (y, a veces, conveniente) llamar a varias entregas, cada una de las cuales puede generar un mensaje de respuesta. Dialogflow CX mantiene estas respuestas en una cola de respuestas. Una vez que el turno del agente termina, Dialogflow CX envía las respuestas ordenadas al usuario final.
Casos prácticos de entrega
La entrega te permite proporcionar mensajes de respuesta en los siguientes lugares:
- Entrega de entrada de página
- Rutas
- Controladores de eventos
- Mensajes iniciales para formularios
- Controladores de solicitudes nuevas para formularios
Para cada uno de estos casos de uso, la consola abre un panel de edición de entregas.

Respuestas del agente (opciones de diálogo)
Define los mensajes de respuesta del agente en el momento del diseño cuando creas la entrega. En el entorno de ejecución, estas respuestas se agregan a la cola de respuestas.
Existen varios tipos de mensajes de respuesta, que se describen en las siguientes subsecciones. Cuando usas la consola, un panel de entregas tiene una tarjeta inicial de Diálogo del agente, pero puedes hacer clic en Agregar respuesta de diálogo para agregar más tarjetas para otros tipos de mensajes de respuesta.
Respuesta de texto estático
Los mensajes de respuesta de texto estático proporcionan un diálogo de texto al usuario. Si tus llamadas a la API de detección de intent o las llamadas de integración usan síntesis de voz, este texto genera contenido de audio. Para estos mensajes, el texto proporcionado usa el lenguaje de marcado de síntesis de voz (SSML).
Puedes definir varias tarjetas de respuesta de texto y varias respuestas de texto dentro de cada tarjeta. Si defines varias tarjetas, se concatenan para una sola respuesta en el entorno de ejecución. Si defines varias respuestas dentro de una tarjeta, uno de los mensajes de la tarjeta se elige de forma aleatoria en el entorno de ejecución.
Estos mensajes de texto pueden contener referencias de parámetros y funciones del sistema intercaladas.
Carga útil personalizada
Algunas integraciones son compatibles con una respuesta de carga útil personalizada para administrar respuestas enriquecidas. Estas cargas útiles personalizadas se deben proporcionar en el formato JSON definido en la documentación de la integración. Por ejemplo, consulta el formato de carga útil personalizado de Dialogflow CX Messenger.
Puedes incluir referencias de parámetros en el JSON de carga útil personalizado. Colócalas entre comillas dobles para tratarlas como valores de cadena JSON. Por ejemplo:
{
"someField": "$session.params.date"
}
El JSON de carga útil personalizada debe limitarse a 24 niveles de profundidad.
También puedes enviar una carga útil personalizada a las integraciones que desarrollas. Dialogflow CX no se encargará del procesamiento, por lo que tendrás que manejarlo con tu propia lógica empresarial.
Para obtener más información, consulta las plantillas de carga útil personalizadas.
Transferencia del agente humano
Esta respuesta le indica al emisor de la API de detección de intent que la conversación se debe transferir a un agente humano. Dialogflow CX solo usa esta señal para identificar las conversaciones que se transfieren con fines de medición y no altera el estado de la sesión.
Tu sistema o integración puede usar esta señal para realizar las acciones necesarias para transferir la conversación. Como Dialogflow CX no impone una estructura en estos datos, puedes elegir cualquier estructura que se adapte a tu sistema.
Metadatos de la conversación correcta
Esta respuesta le indica al emisor de la API de detección de intent que la conversación con el agente de Dialogflow CX se realizó correctamente. Dialogflow CX usa esta señal para identificar las conversaciones que se completaron de forma correcta con fines de medición y no altera el estado de la sesión de ninguna manera.
Tu sistema o integración puede usar esta señal para realizar las acciones necesarias. Dialogflow CX no impone ninguna estructura en estos datos, por lo que puedes elegir cualquier estructura que se adapte a tu sistema.
Reproducir audio grabado previamente
Esta respuesta reproduce un archivo de audio para las integraciones que admiten esta característica.
Los requisitos de formato de archivo de audio pueden diferir para diferentes integraciones. Por ejemplo, consulta los requisitos de Dialogflow CX Phone Gateway.
En el caso de las integraciones de telefonía de socios, el socio debe poder acceder a la URL del archivo de audio. El socio siempre puede acceder a una URL disponible públicamente, como un archivo público en Cloud Storage, es siempre accesible por el socio. El socio también puede proporcionar acceso restringido para archivos de audio. Consulta la documentación del socio para obtener más información.
Texto de audio de salida
Esta respuesta es similar a la texto, sin embargo, solo se aplica a la síntesis de voz. Si tu agente puede manejar sesiones de texto y de voz, puedes usar respuestas únicas de texto y texto de audio de salida para crear una experiencia del usuario diferente para texto en comparación con voz Si se proporciona texto de audio de salida para una sesión de voz, se ignoran las respuestas de texto sin formato.
Si tu agente maneja sesiones de texto y voz, y deseas los mismos mensajes de respuesta, solo usa respuestas de texto para sesiones de texto y voz.
El texto de audio de salida se concatena entre las respuestas de texto. Si las respuestas de texto del audio de salida son una mezcla de texto y SSML, el resultado concatenado se trata como SSML. Lo ideal es que uses texto o SSML de manera coherente.
Respuesta condicional
Este tipo de respuesta proporciona respuestas condicionales:
El formato general es el siguiente:
if [condition] [response] elif [condition] [response] elif [condition] [response] else [response] endif
Donde:
[condition]usa el mismo formato que las condiciones de enrutamiento.[response]es una respuesta de texto.- Los bloques
elifyelseson opcionales.
Por ejemplo:
if $session.params.user-age >= 21 Ok, you may enter. else Sorry, you cannot enter. endif
[condition] y [response] pueden usar funciones del sistema intercaladas para generar valores dinámicos durante las conversaciones. Para obtener más información, consulta las
funciones del sistema y las
condiciones de enrutamiento. El [condition] se resuelve según el estado de la sesión al comienzo de la entrega. Si el [response] depende del estado de la sesión, se resuelve según el estado de la sesión actualizado al final de la entrega.
En el caso de los agentes multilingües,
[condition] es común para todos los idiomas, mientras que [response] es
específico de un idioma. Cuando cambias [condition] para un idioma en la consola, esta parte se actualiza en todos los idiomas del agente. Como se vuelve una condición nueva, [response] se borra para todos los idiomas que no sea el idioma que seleccionaste cuando actualizaste [condition].
Transferencia de llamadas telefónicas
Las transferencias de llamadas solo están disponibles para el Dialogflow CX Phone Gateway.
En algunas integraciones de telefonía, puedes especificar un número de teléfono en EE.UU. para las transferencias de llamadas. En el entorno de ejecución, cuando el agente de Dialogflow CX activa una entrega con transferencia de llamadas, la llamada se transfiere al número especificado y se suspende el control del agente.
Respuesta de la herramienta del almacén de datos
Este tipo de respuesta configura las respuestas del agente que se muestran desde las herramientas del almacén de datos vinculadas . Si configuraste una herramienta del almacén de datos en esta entrega, se propagará automáticamente una tarjeta de respuesta de la herramienta del almacén de datos.
- Vínculos de origen: Establece la cantidad máxima de citas que se muestran al usuario después de la respuesta. Una cita es un vínculo a la fuente de información en el almacén de datos, que se renderiza como botones. El valor predeterminado es 1.
- Citas intercaladas: Limita la cantidad de citas intercaladas que se muestran por oración en lugar de enumerar vínculos después de la respuesta.
- Respuesta generativa de respaldo: Configura el agente para que intente una respuesta generada por IA si el almacén de datos muestra un resultado vacío. Si falla, el agente usa respuestas estáticas.
- Respuestas estáticas: Ingresa respuestas de texto estático en el campo final para enviarlas al usuario palabra por palabra.
Mensajes de respuesta específicos del canal
Cuando defines la entrega, puedes crear mensajes de respuesta específicos del canal para crear respuestas segmentadas para el chat de texto, la voz, los SMS o integraciones específicas que admitan canales. Los mensajes de respuesta que no son específicos de un canal se denominan mensajes de respuesta predeterminados.
En el entorno de ejecución, Dialogflow CX selecciona el mensaje de respuesta predeterminado o un mensaje de respuesta específico del canal cuando una solicitud de detección de intent especifica un canal. Como práctica recomendada, debes definir mensajes de respuesta predeterminados, incluso si usas mensajes de respuesta específicos del canal. Los mensajes de respuesta predeterminados actúan como un resguardo cuando tu sistema no puede proporcionar un canal válido.
Un nombre de canal es un campo personalizado que puedes establecer en cualquier texto. Si usas la API de Dialogflow CX directamente para las llamadas de tiempo de ejecución, puedes usar los nombres de canal que desees. Si usas una integración existente, debes usar los nombres de canal que reconoce la integración.
Cómo configurar mensajes de respuesta específicos del canal en el momento del diseño
Para proporcionar mensajes de respuesta específicos del canal para la entrega cuando usas la consola, haz lo siguiente:
- Haz clic en Agregar canal después de agregar mensajes de respuesta predeterminados para agregar mensajes de respuesta específicos del canal. Vuelve a hacer clic en Agregar canal para agregar canales adicionales.
Para proporcionar mensajes de respuesta específicos del canal para la entrega cuando usas la API, haz lo siguiente:
- Establece el campo
Fulfillment.messages[i].channelen el canal elegido para cada mensaje de respuesta. Si este campo no está configurado, la respuesta se trata como un mensaje de respuesta predeterminado.
Cómo utilizar mensajes de respuesta específicos del canal en el entorno de ejecución
Si usas una integración existente que admite canales, la implementación de la integración realiza estos pasos.
Para recibir un mensaje de respuesta específico del canal, debes especificar el canal en el mensaje de solicitud de detección de intent. Consulta el campo queryParams.channel en el método detectIntent del tipo Sessions.
Selecciona un protocolo y una versión para la referencia de sesión:
| Protocolo | V3 | V3beta1 |
|---|---|---|
| REST | Recurso de sesión | Recurso de sesión |
| RPC | Interfaz de sesión | Interfaz de sesión |
| C++ | SessionsClient | No disponible |
| C# | SessionsClient | No disponible |
| Go | SessionsClient | No disponible |
| Java | SessionsClient | SessionsClient |
| Node.js | SessionsClient | SessionsClient |
| PHP | No disponible | No disponible |
| Python | SessionsClient | SessionsClient |
| Ruby | No disponible | No disponible |
Dialogflow CX muestra el mensaje de respuesta predeterminado si una solicitud no define ningún canal o si la entrega no encuentra ningún canal coincidente.
Plantillas de carga útil personalizadas
Si usas cargas útiles personalizadas con frecuencia, usa plantillas de carga útil personalizadas. A veces, las cargas útiles personalizadas son grandes y complejas, por lo que el uso de plantillas simplifica el proceso de creación del agente.
Proporciona estas plantillas en la configuración del agente para que estén disponibles para la selección cuando crees la entrega para tu agente.
Por ejemplo, la carga útil de JSON para los botones "sí" y "no" se puede definir como plantillas de carga útil personalizadas. Cuando crees una entrega que requiera estos botones, selecciona la plantilla cuando crees la entrega.
Cuando seleccionas una plantilla para una carga útil personalizada de entrega, el contenido de la plantilla se inserta en la carga útil. Luego, puedes editar la carga útil según sea necesario.
Si cambias una plantilla, los cambios no se propagan automáticamente a todas las cargas útiles de entrega en las que se hizo referencia.
Para crear una plantilla de carga útil personalizada, consulta la configuración general del agente.
Para seleccionar una plantilla de carga útil personalizada cuando crees una entrega, haz clic en Seleccionar plantilla cuando crees una carga útil personalizada de entrega.
Llamadas de webhook
Cuando una entrega activa un webhook, el agente envía una solicitud a tu servicio. Tu webhook puede realizar acciones, proporcionar mensajes de respuesta dinámicos, anular los valores de los parámetros y cambiar la página actual.
A continuación, se describe la configuración de webhook para la entrega:
| X | Elemento |
|---|---|
| Habilitar webhook | Esto habilita el webhook para la entrega. |
| Webhook | Selecciona el recurso de webhook. |
| Etiqueta | La etiqueta de texto que proporciones aquí se propagará en el campo WebhookRequest.fulfillmentInfo.tag de la solicitud de webhook que se envía a tu servicio de webhook. Esto se puede usar para controlar el comportamiento del webhook de una manera específica de la entrega. |
| Mostrar una respuesta parcial | Permite cancelar la reproducción de una respuesta parcial. Para obtener más información, consulta Configuración avanzada de voz. |
Ajustes predeterminados de los parámetros
Usa la entrega para proporcionar ajustes predeterminados que establezcan o anulen los valores de parámetros actuales. Estos ajustes predeterminados se aplican antes de resolver los mensajes de respuesta estática o llamar a un webhook.
También puedes usar las funciones del sistema para ajustar un parámetro a un valor generado de forma dinámica.
Aquí encontrarás algunos ejemplos:
Establece un parámetro
nowen la hora actual:Parámetro Valor ahora $sys.func.NOW() Incrementa un parámetro existente
counteren 1:Parámetro Valor contador $sys.func.ADD($session.params.counter, 1) Establece un parámetro
new-costen el valor del parámetroother-cost, mientras mantienes el valor completo del objeto compuesto:Parámetro Valor new-cost $sys.func.IDENTITY($session.params.other-cost)
Herramientas de almacenes de datos
Para obtener más información sobre esta función, consulta la documentación de las herramientas del almacén de datos.
Configuración avanzada de voz
Esta configuración avanzada de voz puede anular la configuración de voz de la página, configuración de voz del flujo, y configuración de voz del agente.
Cola de respuestas
Durante el turno de un agente, puedes llamar a varias entregas, cada una de las cuales puede generar un mensaje de respuesta. Dialogflow CX mantiene estas respuestas en una cola de respuestas.
Respuesta parcial para la API de transmisión
De forma predeterminada, Dialogflow CX solo envía respuestas ordenadas a los usuarios finales después de que finaliza el turno del agente. También puedes habilitar la opción Mostrar una respuesta parcial en la entrega para que muestre respuestas en cola como una respuesta parcial cuando usas las APIs de transmisión. Para obtener más información, consulta Ciclo de vida de una página.
Por ejemplo, si tu webhook probablemente se ejecute por mucho tiempo, puedes agregar una respuesta estática en la entrega y habilitar la respuesta parcial. Esto hace que Dialogflow CX limpie la cola de respuestas y envíe todos los mensajes como una respuesta parcial antes de llamar al webhook.
La respuesta parcial no es compatible con lo siguiente:
- Entradas de audio en el simulador.
- Es posible que las integraciones de telefonía de socios no admitan la respuesta parcial. Consulta la documentación del socio para verificarlo.
Para probar esta función en el simulador, habilita la respuesta parcial.

En el siguiente ejemplo, considera que tu webhook tarda 5 segundos en completarse y que no habilitas la respuesta parcial. El turno de conversación del agente de Dialogflow CX no se completará hasta que se complete el webhook. Durante este turno de 5 segundos, las respuestas se ponen en cola mientras esperan el webhook y no se muestran al usuario final hasta que se completa el turno. Esto genera una mala experiencia del usuario.
Si habilitas la respuesta parcial en la primera entrega, Dialogflow CX muestra el primer mensaje de entrega con rapidez y llama al webhook. Una vez que se completa el webhook, Dialogflow CX muestra la respuesta final. Esta situación mejora la experiencia del usuario final, ya que se le pide que espere una breve espera. Además, la llamada de webhook se ejecuta de forma simultánea con una respuesta que se envía al usuario final.
Lenguaje de marcado de síntesis de voz (SSML)
Puedes usar el lenguaje de marcado de síntesis de voz (SSML) en los campos de texto o de texto de audio de salida de la entrega. Esto te permite personalizar tu respuesta de audio proporcionando detalles sobre las pausas y el formato de audio para las siglas, fechas, horas, abreviaturas, o el texto que se debe censurar.
Para obtener detalles de la sintaxis, consulta la documentación de SSML de Text-to-Speech.