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 finaliza el turno del agente, 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 entrega.

Respuestas del agente (opciones de diálogo)
Define los mensajes de respuesta del agente en el momento del diseño cuando crees 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 entrega 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 intent de detección o las llamadas de integración usan la 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 selecciona de forma aleatoria durante el tiempo de ejecución.
Estos mensajes de texto pueden contener referencias de parámetros y funciones del sistema intercaladas.
Carga útil personalizada
Algunas integraciones admiten una respuesta de carga útil personalizada para controlar las 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 personalizada de Dialogflow CX Messenger.
Puedes incluir referencias de parámetros en el JSON de tu carga útil personalizada. Enciérralos entre comillas dobles para tratarlos como valores de cadena JSON. Por ejemplo:
{
"someField": "$session.params.date"
}
La carga útil personalizada en formato JSON debe limitarse a 24 niveles de profundidad.
También puedes enviar una carga útil personalizada a las integraciones que desarrollas. Dialogflow CX no lo procesará, por lo que debes controlarlo en tu propia lógica empresarial.
Para obtener más información, consulta plantillas de carga útil personalizada.
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 usa este indicador solo para identificar las conversaciones que se transfieren con fines de medición; no altera el estado de la sesión.
Tu sistema o integración puede usar este indicador 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 indica al emisor de la API de detección de intents que la conversación con el agente de Dialogflow CX se realizó correctamente. Dialogflow CX usa este indicador para identificar las conversaciones que se realizaron correctamente con fines de medición y no altera el estado de la sesión de ninguna manera.
Tu sistema o integración puede usar este indicador para realizar las acciones que sean 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 pregrabado
Esta respuesta reproduce un archivo de audio para las integraciones que admiten esta función.
Los requisitos de formato de los archivos de audio pueden variar según las 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 de forma pública, como un archivo público en Cloud Storage. El socio también puede proporcionar acceso restringido a los archivos de audio. Consulta la documentación para socios para obtener más información.
Texto de audio de salida
Esta respuesta es similar a la de texto, pero solo se aplica a la síntesis de voz. Si tu agente puede controlar sesiones de texto y voz, puedes usar respuestas únicas de texto y texto de audio de salida para crear una experiencia del usuario diferente para el texto y la 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 controla sesiones de texto y voz, y deseas los mismos mensajes de respuesta, usa respuestas de texto para las sesiones de texto y voz.
El texto de audio de salida se concatena de manera similar a las respuestas de texto. Si las respuestas de texto de 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 ruta.[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
Tanto [condition] como [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 ruta. El [condition] se resuelve según el estado de la sesión al comienzo del fulfillment. Si el [response] depende del estado de la sesión, se resuelve
en función del estado de la sesión actualizado al final del fulfillment.
En el caso de los agentes multilingües,
[condition] es común para todos los idiomas, mientras que [response] es
específico de cada idioma. Cuando cambias [condition] para un idioma en la consola,
esta parte se actualiza en todos los idiomas del agente. Como se convierte en una condición nueva,
[response] se borra para todos los idiomas, excepto el que
seleccionaste cuando actualizaste [condition].
Transferencia de llamadas de telefonía
Las transferencias de llamadas solo están disponibles para la puerta de enlace telefónica de Dialogflow CX.
En algunas integraciones de telefonía, puedes especificar un número de teléfono de EE.UU. para las transferencias de llamadas. En el entorno de ejecución, cuando el agente de Dialogflow CX activa un fulfillment con transferencia de llamadas, la llamada se transfiere al número especificado y se suspende el control del agente.
Respuesta de la herramienta de almacén de datos
Este tipo de respuesta configura las respuestas del agente que se devuelven desde las herramientas del almacén de datos vinculadas. Si configuraste una herramienta de almacén de datos en este fulfillment, se completará automáticamente una tarjeta de respuesta de la herramienta de almacén de datos.
- Vínculos de origen: Establece la cantidad máxima de citas que se devolverán 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 devuelven por oración en lugar de enumerar vínculos después de la respuesta.
- Respuesta generativa de respaldo: Configura el agente para que intente generar una respuesta generada por IA si el almacén de datos devuelve un resultado vacío. Si esto falla, el agente usa respuestas estáticas.
- Respuestas estáticas: Ingresa respuestas de texto estáticas en el campo final para enviarlas al usuario palabra por palabra.
Mensajes de respuesta específicos del canal
Cuando definas el entregas, puedes crear mensajes de respuesta específicos del canal para crear respuestas segmentadas para el chat de texto, la voz, los SMS o las integraciones específicas que admiten 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 intent de detección 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 proporciona un canal válido.
El nombre del canal es un campo personalizado que puedes configurar con cualquier texto. Si usas la API de Dialogflow CX directamente para las llamadas de entorno 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.
Configura 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, sigue estos pasos:
- 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 más canales.
Para proporcionar mensajes de respuesta específicos del canal para la entrega cuando se usa la API, haz lo siguiente:
- Establece el campo
Fulfillment.messages[i].channelen el canal elegido para cada mensaje de respuesta. Si no se configura este campo, la respuesta se trata como un mensaje de respuesta predeterminado.
Utiliza 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 intent de detección. 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 devuelve 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 cargas útiles personalizadas. Las cargas útiles personalizadas a veces son grandes y complejas, por lo que el uso de plantillas simplifica el proceso de creación de agentes.
Proporciona estas plantillas en la configuración de tu agente para que estén disponibles para su selección cuando crees un webhook 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 un pedido que requiera estos botones, selecciona la plantilla.
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 un fulfillment, 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 valores de parámetros y cambiar la página actual.
A continuación, se describe la configuración del 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. |
| Devuelve una respuesta parcial | Permite cancelar la reproducción de una respuesta parcial. Para obtener más información, consulta Configuración de voz avanzada. |
Ajustes predeterminados de los parámetros
Usa el entregas para proporcionar ajustes predeterminados que establezcan o anulen los valores de los parámetros actuales. Estos ajustes predeterminados se aplican antes de resolver los mensajes de respuesta estáticos o llamar a un webhook.
También puedes usar funciones del sistema para preconfigurar un parámetro con 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 almacenamiento de datos
Para obtener más información sobre esta función, consulta la documentación de las herramientas de almacén de datos.
Configuración avanzada de voz
Esta configuración de voz avanzada puede anular la configuración de voz de la página, la configuración de voz del flujo y la configuración de voz del agente.
Cola de respuestas
Durante el turno de un agente, puedes llamar a varios entregas, cada uno de los 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 Devolver respuesta parcial en la entrega para devolver las respuestas en cola como una respuesta parcial cuando uses las APIs de transmisión. Para obtener más información, consulta Ciclo de vida de una página.
Por ejemplo, si es probable que tu webhook se ejecute durante mucho tiempo, puedes agregar una respuesta estática en la entrega y habilitar la respuesta parcial. Esto hace que Dialogflow CX vacíe la cola de respuestas y envíe todos los mensajes como una respuesta parcial antes de llamar al webhook.
La respuesta parcial no se admite en los siguientes casos:
- 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 no habilitas la respuesta parcial. El turno de conversación del agente de Dialogflow CX no termina hasta que se completa el webhook. Durante este turno de 5 segundos, las respuestas se ponen en cola mientras se espera el webhook y no se devuelven al usuario final hasta que se completa el turno. Esto genera una mala experiencia del usuario.
Si habilitas la respuesta parcial en el primer fulfillment, Dialogflow CX devuelve el primer mensaje de fulfillment con rapidez y llama al webhook. Después de que se completa el webhook, Dialogflow CX devuelve la respuesta final. Esta situación mejora la experiencia del usuario final, ya que se le indica que espere un poco. Además, la llamada de webhook se ejecuta de forma simultánea con una respuesta enviada 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 entrega de texto o audio de salida. Esto te permite personalizar tu respuesta de audio proporcionando detalles sobre las pausas y el formato de audio para los acrónimos, las fechas, las horas, las abreviaturas o el texto que se debe censurar.
Para obtener detalles sobre la sintaxis, consulta la documentación de SSML de Text-to-Speech.