En esta guía, se muestra cómo usar la consola de Dialogflow CX para compilar y probar un agente de pedido de camisas con flujos. Cuando interactúes con este agente, pregunta por la ubicación de la tienda, obtén el horario de atención o pide una camisa.
En el siguiente diagrama, se muestra el agente completado para esta guía:

Antes de comenzar
Completa las siguientes tareas antes de leer esta guía:
- Lee los conceptos básicos de los flujos.
- Realiza los pasos de configuración.
Crea un agente
Crea un agente para esta guía:
- Abre la consola de Dialogflow CX.
- Crea o elige un proyecto.
- Haz clic en Create agent.
- Selecciona Build your own.
- Completa el formulario de configuración básica del agente.
- Ingresa un nombre visible.
- Selecciona una ubicación. Haz clic en el botón Editar si deseas cambiar la configuración de ubicación avanzada.
- Selecciona una zona horaria.
- Selecciona el idioma predeterminado.
- De manera opcional, habilita Cloud Logging.
- Haz clic en Guardar.
Importación opcional de agentes
En esta guía, se explican los pasos necesarios para compilar un agente de pedido de camisas.
Para omitir los pasos de la consola, descarga el agente y, luego, impórtalo.
Intents y flujos predeterminados
Los siguientes intents y flujos se crean de forma automática para un agente nuevo.
Para encontrar los intents, haz clic en Administrar y, luego, en Intents. Para encontrar el flujo, haz clic en Compilar.
| X | Elemento |
|---|---|
| Intent de bienvenida predeterminado | El intent de bienvenida predeterminado tiene frases de entrenamiento, como "Hola" o "Saludos", que están pensadas para coincidir con la entrada inicial del usuario final. Puedes editar este intent según sea necesario. |
| Intent negativo predeterminado | El intent negativo predeterminado se puede usar para agregar frases de entrenamiento a este intent que actúan como ejemplos negativos. |
| Flujo de inicio predeterminado | El flujo de inicio predeterminado se puede usar como el único flujo. Es el único flujo que se usará en esta guía. Para los agentes más complejos, puedes agregar más flujos. Este flujo tiene una ruta de intent predeterminada con el intent de bienvenida predeterminado como un requisito de intent. |
Prueba el mensaje de respuesta de bienvenida predeterminado
El flujo y los intents predeterminados pueden manejar una conversación básica con solo un mensaje de bienvenida.
Para probar el agente nuevo, sigue estos pasos:
- Haz clic en el botón Probar agente para abrir el simulador.
- Ingresa
helloen el campo de texto y presiona Intro. - El agente responde con un mensaje de bienvenida predeterminado.
- Cierra el simulador.

El agente realiza los siguientes pasos para esta entrada del usuario final:
- Cuando proporcionas una entrada, el agente evalúa los controladores de estado dentro del alcance del flujo de inicio predeterminado activo y la página de inicio del flujo.
- El agente identifica una ruta que coincide con el intent de bienvenida predeterminado y la ejecuta.
- El agente selecciona uno de los mensajes de respuesta de entrega al azar y lo agrega a la cola de respuestas.
- Como la ruta no tiene un objetivo de transición, el flujo y la página activos permanecen sin cambios.
- El agente te envía el contenido de la cola de respuestas.
Edita el mensaje de respuesta de bienvenida
Para editar el mensaje de respuesta de bienvenida, haz lo siguiente:
- Haz clic en la pestaña Compilar.
- Selecciona el flujo de inicio predeterminado en la sección Flujos.
- Haz clic en el nodo Start Page en el gráfico.
- Busca la ruta con el intent de bienvenida predeterminado como un requisito de intent y haz clic en ella para abrir el panel de edición de la ruta.
- En la sección de cumplimiento, en la subsección de respuestas del agente, borra todos los mensajes de respuesta existentes.
- Agrega
Hello, this is a shirt ordering virtual agent. How can I help you?como la única respuesta. - Haz clic en Guardar.
- Cierra el panel de edición de la ruta.

Prueba el mensaje de respuesta de bienvenida actualizado
Para probar la respuesta actualizada, sigue estos pasos:
- Haz clic en el botón Probar agente para abrir el simulador.
- Ingresa
helloen el campo de texto y presiona Intro. - El agente responde con el mensaje nuevo.
- Cierra el simulador.
Página de ubicación de la tienda
Una conversación de Dialogflow CX (sesión) se puede describir y visualizar como una máquina de estado. Los estados de una sesión de CX se representan con páginas. Como solo tienes una página, el agente no es muy útil. En esta sección, debes crear otra página que maneje preguntas sobre la ubicación de la tienda.
Crea el intent de ubicación
Un intent categoriza la intención de un usuario final para un turno de conversación.
Para crear un intent que coincida cuando la entrada del usuario final solicite la ubicación de la tienda:
- Selecciona la pestaña Administrar.
- Haz clic en Intents.
- Haga clic en Crear.
- Ingresa
store.locationpara el nombre visible del intent. - Ingresa las siguientes frases de entrenamiento:
Where is the store?DirectionsTell me the addressWhere do I pick up my order?How do I get there?Where is the store located?What street are you on?What is your address?How do I get to your store?Where are you located?
- Haga clic en Save.

Crea la página de ubicación
Crea una página nueva. Puedes agregar una entrega de entrada a esta página que se ejecute cada vez que la página se vuelva activa. Esta entrega de entrada debe tener un mensaje de respuesta que proporcione la ubicación de la tienda.
Para crear la página de ubicación de la tienda, haz lo siguiente:
- Haz clic en la pestaña Compilar.
- Selecciona el flujo de inicio predeterminado en la sección Flujos.
- Haz clic en el botón agregar add de la sección Páginas. Aparecerá una entrada de texto para el nombre visible de la página.
- Ingresa
Store Locationpara el nombre visible de la página y presiona Intro. - Haz clic en el botón more_vert more_vert junto al nombre visible de la página.
- Selecciona Editar para abrir el panel de edición de la página.
- Busca Entry fulfillment y haz clic en Edit fulfillment.
- Haz clic en +Add dialogue response para ingresar
Our store is located at 1007 Mountain Drive, Gotham City, NJ.en el campo Agent dialogue de la sección Agent responses. - Haz clic en Guardar.
- Cierra el panel de edición de la página.

Agrega una ruta de intent de ubicación al flujo
Ahora, crea una ruta que tenga la página de ubicación de la tienda como un objetivo de transición. Cuando se llama a esta ruta, la sesión pasa a la página de ubicación de la tienda. Esta ruta se aplica en el flujo de inicio predeterminado, por lo que está dentro del alcance mientras el flujo esté activo.
En el caso de un agente de un solo flujo, esto significa que la ruta siempre está dentro del alcance. En cualquier momento de la conversación, el usuario final puede solicitar la ubicación de la tienda y se llamará a esta ruta.
Para crear la ruta, haz lo siguiente:
- Haz clic en la pestaña Compilar.
- Selecciona el flujo de inicio predeterminado en la sección Flujos.
- Haz clic en el nodo Start Page en el gráfico. Esta es la página de inicio del flujo de inicio predeterminado.
- Agrega la siguiente ruta de intent:
- Intención:
store.location - Página de transición:
Store Location
- Intención:
- Haga clic en Save.
- Cierra el panel de edición de la ruta del intent.

Después de cerrar el panel de edición, aparecerá un nodo para la página nueva en el grafo. La flecha del nodo de Inicio al nodo de la Ubicación de la tienda muestra cómo la sesión pasa de un nodo a otro.
Prueba la página de ubicación de la tienda
Para probar la página, haz lo siguiente:
- Haz clic en el botón Probar agente para abrir el simulador.
- Ingresa
What is the store location?y presiona la tecla Intro. - El agente proporciona la dirección.
- Cierra el simulador.
El agente realiza los siguientes pasos para esta entrada del usuario final:
- Cuando proporcionas una entrada, el agente evalúa los controladores de estado dentro del alcance del flujo de inicio predeterminado activo y la página de inicio del flujo.
- El agente identifica una ruta que coincide con el intent store.location y la ejecuta.
- Como la ruta no tiene mensajes de respuesta de entrega, el agente no agrega nada a la cola de respuestas.
- El agente transfiere la sesión a la página Ubicación de la tienda.
- El agente agrega el mensaje de respuesta de la entrega de entrada de la página Ubicación de la tienda a la cola de respuestas.
- El agente te envía el contenido de la cola de respuestas.
Página de horarios de la tienda en la que se usa la creación intercalada
En esta sección, debes crear una página de Horario de atención que administre las preguntas de los usuarios finales sobre el horario de atención. Anteriormente, creaste páginas e intents desde las pestañas Build y Manage. En esta sección, se muestra una forma más rápida de crear estos componentes con la creación intercalada.
Para crear una ruta del intent, un intent y una página de forma intercalada, haz lo siguiente:
- Haz clic en el nodo Start Page en el gráfico.
- Junto a Rutas, haz clic en add Agregar. Se abrirá el panel de edición de ruta del intent.
- En la sección Intent, selecciona Nuevo intent. Se abrirá el panel de edición del intent.
Crea un intent
store.hourscon las siguientes frases de entrenamiento:What are your store hours?What time do you close?
Haz clic en Guardar. Se cerrará el panel de edición del intent.
Ve a la sección Transición en el panel de edición de la ruta.
En la transición de la Página, selecciona Página nueva.
Ingresa
Store Hoursen la entrada de texto que aparece.Haz clic en Guardar. La nueva página aparece en el gráfico porque ahora hay una transición que lleva hasta ella.
Cierra el panel de edición de la ruta.
Agrega una entrega de entrada que proporcione el horario de atención, como lo hiciste para la ubicación de la tienda.
Cierra cualquier panel de edición abierto.
Página de elementos pedidos
A continuación, deberás crear una página que use parámetros de formulario. Cuando solicitas un nuevo pedido de camisas, la sesión pasa a esta página, que recopila el tamaño y el color del pedido de camisas.
Crea un tipo de entidad personalizada para el tamaño de la camisa
Los tipos de entidades controlan cómo se extraen los datos de la entrada del usuario final. Dialogflow CX proporciona entidades del sistema predefinidas que coinciden con tipos de datos comunes, como fechas, horas, colores y direcciones de correo electrónico. También puedes crear entidades personalizadas para datos específicos.
En este agente, puedes usar una entidad del sistema para el color de la camisa, pero debes crear una entidad personalizada para el tamaño de la camisa.
El tipo de entidad de tamaño debe tener las siguientes entradas de entidad:
| Entidad | Sinónimos |
|---|---|
| Pequeño | pequeño, diminuto, chico |
| Media | medio, regular, promedio |
| Grande | grande, enorme, gigante |
Para crear la entidad, haz lo siguiente:
- Selecciona la pestaña Administrar.
- Haz clic en Tipos de entidades.
- Haz clic en Crear.
- Configura el nombre visible como
size. - Agrega las entradas de entidad que se enumeran en la tabla.
- Haz clic en Guardar.
Crea un intent de pedido con parámetros de intent
Necesitas un intent que coincida cuando el usuario final solicite un pedido de camisas nuevo. Este intent también debe capturar de manera opcional el color o el tamaño de la camisa elegidos si el usuario final proporciona esa información inicialmente.
Los parámetros se usan para capturar y hacer referencia a los valores que proporcionó el usuario final durante una sesión. Cada parámetro tiene un nombre visible y un tipo de entidad. A diferencia de la entrada sin procesar del usuario final, los parámetros son datos estructurados que puedes usar para realizar lógica o generar respuestas.
Para controlar cómo se extraen los datos del usuario final con la coincidencia de intents, puedes anotar partes de las frases de entrenamiento y configurar los parámetros de intents asociados.
Por ejemplo, considera una frase de entrenamiento como “¿Cuál es el pronóstico para mañana en Tokio?” Puedes anotar “mañana” con un parámetro date y “Tokio” con un parámetro location. Cuando anotas fragmentos de una frase de entrenamiento, Dialogflow CX reconoce que estos fragmentos son solo ejemplos de valores reales que pueden proporcionar los usuarios finales en el entorno de ejecución.
En una entrada del usuario final como “¿Cuál es el pronóstico para el viernes en Sídney?”,
Dialogflow CX puede extraer el parámetro date de “viernes” y el parámetro location de “Sídney”.
Para anotar una frase de entrenamiento en la consola, haz lo siguiente:
- Destaca la parte de la frase de entrenamiento que deseas anotar.
- Selecciona el tipo de entidad necesario de la lista.
- Dialogflow crea un parámetro en la siguiente tabla de parámetros.
Sigue estos pasos para crear un intent llamado order.new:
- Para cada frase que contiene un color, anota el color con un parámetro
colory el tipo de entidad del sistema@sys.color. - Para cada frase que contiene un tamaño de camisa, anota el tamaño con un parámetro
sizey el tipo de entidad personalizada@sizeque creaste anteriormente.
Las frases y parámetros de entrenamiento deberían ser similares a los siguientes:

Crea una página de pedido
Sigue estos pasos para crear una página de pedido nueva:
- Nombre visible:
New Order - Entrega de entrada:
Ok, let's start a new order.
Agrega un formulario a la página de pedido
Para cada página, puedes definir un formulario, que es una lista de parámetros que se deben recopilar del usuario final para la página. El agente interactúa con el usuario final durante varios turnos de conversación hasta que haya recopilado todos los parámetros de formulario necesarios, también llamados parámetros de página. Para cada parámetro del formulario, también proporcionas mensajes que el agente usa a fin de solicitar esa información del usuario final. Este proceso se llama completado de formularios.
Cuando un usuario final proporciona parámetros de intent para una coincidencia de intent, estos se convierten en parámetros de sesión. Cuando una página se activa en un principio, todos los parámetros de su formulario se rellenan de forma previa con cualquier parámetro de sesión que tenga el mismo nombre. Por lo tanto, si el usuario final proporciona el tamaño o el color cuando coincide el intent order.new, estos valores se completarán de forma automática para el formulario.
Define dos parámetros obligatorios del formulario para la página New Order:
| Obligatorio | Nombre visible | Tipo de entidad | Es una lista | Mensaje |
|---|---|---|---|---|
| color | @sys.color | ¿Qué color quieres? | ||
| size | @size | ¿Qué tamaño quieres? |
Para agregar este formulario, haz lo siguiente:
- Haz clic en la página Pedido nuevo en el gráfico.
- Haz clic en el botón de agregar Parámetros add para abrir el panel de edición de parámetros.
- Agrega los parámetros como se describe en la tabla anterior.
- Haga clic en Save.
- Cierra el panel de edición de los parámetros.
Agrega una ruta de intent de pedido al flujo
Agrega una ruta al flujo de inicio predeterminado que realice la transición a la página Pedido nuevo cuando el usuario final quiera realizar un pedido nuevo:
- Intent: order.new
- Página del objetivo de transición: pedido nuevo
Página de confirmación
La página final confirma el pedido y finaliza la sesión.
Crea la página de confirmación
Crea una página de confirmación con una respuesta en la que se usen los parámetros de sesión para confirmar el pedido:
- Nombre visible:
Order Confirmation - Entrega de entrada:
You can pick up your order for a $session.params.size, $session.params.color shirt in 7 to 10 business days. Goodbye.
Agrega rutas de condición a la página de pedido
Puedes usar condiciones para determinar si se llama una ruta. Por lo general, las condiciones se usan con el fin de verificar si un formulario está completo o si está configurado para que se lo llame siempre que se evalúe.
Para establecer condiciones en la consola, consulta la documentación sobre cómo establecer condiciones.
Agrega la siguiente ruta a la página de pedido, que se llama cuando se completa el formulario de la página de pedido. Esta ruta de condición usa referencias de parámetros en su respuesta al usuario final y pasa la sesión a la página de confirmación del pedido.
- Condición:
$page.params.status = "FINAL" - El agente dice:
You have selected a $session.params.size, $session.params.color shirt. - Página de transición:
Order Confirmation
Agrega la siguiente ruta a la página de pedido. Esta ruta se ejecuta en cada turno de conversación mientras la página está activa y se evalúa la ruta de condición. Cuando se evalúa y se llama la condición anterior, la página queda inactiva, por lo que esta ruta de condición verdadera no se evalúa:
- Condición:
true - El agente dice:
I'd like to collect a bit more information from you.
Crea una ruta de condición para finalizar la sesión
Agrega la siguiente ruta de condición a la página Confirmación del pedido para finalizar la sesión después de que la página se active y se procese su entrega de entrada:
- Condición:
true - Página del objetivo de transición:
End Session
Prueba el agente completado
Prueba el agente mediante el siguiente diálogo:
| Diálogo | Explicación |
|---|---|
|
Usuario final: Hola Agente: Hola, soy un agente virtual de pedido de camisas. ¿Cómo puedo ayudarte? |
|
|
Usuario final: Quiero comprar una camisa azul Agente: De acuerdo, vamos a iniciar un pedido nuevo. Agente: Me gustaría recopilar más información acerca de ti. Agente: ¿Qué tamaño quieres? |
|
|
Usuario final: grande Agente: Seleccionó una camisa azul grande. Agente: Puedes retirar tu pedido de una camisa azul grande en un plazo de 7 a 10 días hábiles. Adiós. |
|
Preparación para la producción
Antes de ejecutar el agente en producción, implementa las prácticas recomendadas para producción.