Los chatbots se están convirtiendo en una herramienta cada vez más vital para las empresas en la era moderna. Con las herramientas y los conocimientos adecuados, las empresas crean agentes de chat que pueden tener conversaciones reales con los clientes.

Google Dialogflow ES es una de las herramientas de creación de chatbots más poderosas y gratuitas del mercado. Pero, ¿cómo puedes liberar todo su potencial?

Paso 1: Cree su agente Dialogflow ES

Crear su propio agente de Dialogflow ES es el primer paso de este proceso. Cualquier cuenta de Google funciona, y comienzas navegando a la Sitio web de Google Dialogflow ES. Haga clic en Crear agente una vez que haya iniciado sesión y complete los detalles en el formulario antes de hacer clic Crear. Puedes usar Dialogflow para crear un chatbot para el entretenimiento, automatización o atención al cliente. Este proyecto cubre este último.

Paso 2: agregar intentos de seguimiento de Dialogflow

El nuevo agente solo tiene un Intento de bienvenida predeterminado y un Intento de respaldo predeterminado. Una intención es un fragmento o etapa en una conversación.

instagram viewer

Debe agregar dos intenciones de seguimiento a la intención de bienvenida predeterminada existente para comenzar. Pase el cursor sobre el Intención de bienvenida predeterminada, haga clic en Agregar intención de seguimientoy elige del menú desplegable. Repita el proceso seleccionando No en el menú desplegable para crear la segunda intención de seguimiento.

La intención Sin seguimiento finalizará la conversación y se despedirá del usuario. Abre el Sin intención de seguimiento y agregue una serie de respuestas de texto para finalizar la conversación. Activar el Establecer esta intención como el final de la conversación control deslizante

Regrese a la pantalla principal de Intenciones y haga clic en el Sí intención de seguimiento Para abrirlo.

Paso 3: crea una lista de respuestas de flujo de diálogo enriquecido con JSON

Ahora que ha configurado estos intentos, es hora de plantear una pregunta al usuario para que pueda llegar a ellos. Abre el Intención de bienvenida predeterminada y Borrar las respuestas que generó. Hacer clic Agregar respuestas y seleccione Carga útil personalizada del menú.

El siguiente código JSON agrega dos tipos diferentes de respuestas enriquecidas; información y fichas.

{
"contenidorico": [
[
{
"tipo": "fichas",
"opciones": [
{
"texto": "Sí"
},
{
"texto": "No"
}
]
},
{
"imagen": {
"origen": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Háblame de ti :)",
"subtitle": "Dame parte de tu información personal. Te lo enviaré en un correo electrónico. Ese es el trato; absolutamente ningún negocio divertido. ¡Promesa! ¿Te unes?",
"tipo": "información"
}
]
]
}

Paso 4: recopile el nombre del usuario como un parámetro de Dialogflow

A continuación, es hora de agregar otra intención de seguimiento para recopilar datos del usuario. Como se describe en el Paso 2, ya debería tener una intención de seguimiento Sí que solicite el nombre del usuario. Pase el cursor sobre el Sí intención de seguimiento en el menú principal de intenciones, haga clic en Agregar intención de seguimientoy seleccione Disfraz de la lista.

Esto creará una nueva intención de seguimiento sin frases de entrenamiento. Vaya a la sección Frases de entrenamiento, escriba un nombre en el cuadro y presione Entrar para agregarlo como una nueva frase. Esto desencadenará la creación de un nuevo parámetro con el tipo de entidad @sys.person. Haga clic en el @sys.persona entidad y cambiarlo a un @sys.nombre dado entidad.

Esto almacenará la entrada del usuario para que el agente pueda usarla. Dirígete a la sección Respuestas y agrega una respuesta con $nombre de pila dentro de eso. Esto llama al parámetro de nombre que ha recopilado, lo que le permite aparecer en el chat.

Paso 5: use una carga útil personalizada de Dialogflow para desencadenar intenciones

Permaneciendo dentro de la intención de seguimiento que acaba de agregar, haga clic en Agregar respuestas y seleccione Carga útil personalizada de la lista. Al agregar el código JSON a continuación a esta sección, se activará una lista de respuestas enriquecidas que le pedirá al usuario que elija un color.

La parte más importante de este código JSON es la sección de eventos con cada entrada. Cuando se hace clic, cada elemento de la lista llama a un evento llamado COLOR con el nombre y los parámetros de color que se han recopilado hasta el momento. Los intents pueden tener eventos asignados que los activarán.

{
"contenido rico": [
[
{
"evento": {
"Código de lenguaje": "es",
"parámetros": {
"nombre": "$nombre de pila",
"color": "Rojo"
},
"nombre": "COLOR"
},
"título": "Rojo",
"escribe": "lista"
},
{
"escribe": "divisor"
},
{
"evento": {
"nombre": "COLOR",
"Código de lenguaje": "es",
"parámetros": {
"nombre": "$nombre de pila",
"color": "Verde"
}
},
"escribe": "lista",
"título": "Verde"
},
{
"escribe": "divisor"
},
{
"escribe": "lista",
"título": "Azul",
"evento": {
"Código de lenguaje": "es",
"nombre": "COLOR",
"parámetros": {
"nombre": "$nombre de pila",
"color": "Azul"
}
}
}
]
]
}

Paso 6: Mover parámetros de flujo de diálogo entre intentos

Regrese al menú principal de Intenciones y haga clic en Crear intención. Asigne un nombre a su nueva intención e ingrese COLOR en la sección de eventos antes de pulsar Ingresar.

Vaya a la sección Frases de entrenamiento y agregue un nombre y un color a la lista de frases para desencadenar la creación de nuevos parámetros. Cambiar el @sys.persona entidad paramétrica a una @sys.nombre dado entidad y asegúrese de que la entidad de color esté establecida en @sys.color.

Ahora puede agregar algunas respuestas usando $given-name y $color para que las entradas del usuario aparezcan en la ventana de chat.

Por último, vuelve a la Contextos en la parte superior de la página y agregue una salida con un nombre único. Esto pasará los parámetros de esta intención a la siguiente.

Paso 7: recopile el país y el número de teléfono del usuario como parámetros de Dialogflow

Vuelva al menú principal de Intenciones, desplace el cursor sobre el intención de color que acaba de crear y haga clic en Agregar intención de seguimiento. Consulte la sección Contextos de la nueva intención. Asegúrese de que incluya el contexto de Color que creó en el último paso en las secciones de entrada y salida. Agregue otro contexto de salida para la intención actual.

Ve a la Frases de Entrenamiento y agregue el nombre de un país a la lista antes de presionar Ingresar. Esto creará un nuevo parámetro. Cambie el tipo de entidad del parámetro a @sys.geo-país antes de agregar el parámetro a la sección de respuesta.

Vuelva al menú principal de intenciones y cree una nueva intención de seguimiento para la intención que acaba de crear. Repita los pasos que acaba de dar, pero use un número de teléfono en el Frases de Entrenamiento sección. Asegúrese de que el parámetro generado tenga un @sys.número-de-teléfono tipo de entidad.

Regrese al menú principal de intenciones y cree dos nuevas intenciones de seguimiento para la intención que acaba de crear; una intención de seguimiento Sí y No. Puede establecer la intención Sin seguimiento para finalizar la conversación.

La intención de seguimiento Sí debe tener todos los contextos de las intenciones anteriores que ha creado.

Finalmente, regrese al menú principal de Intents y cree un nuevo Intent de seguimiento para el Intent de seguimiento Sí que acaba de crear. Agregue una dirección de correo electrónico a la sección Frases de entrenamiento y asegúrese de que el parámetro generado tenga @sys.email como su tipo de entidad.

Ve a la Respuestas sección, haga clic en Agregar respuestasy seleccione Carga útil personalizada de la lista. El siguiente código JSON agregará una respuesta enriquecida de tipo lista que llama a un evento llamado SENDEMAIL. Todos los parámetros de usuario que ha solicitado hasta ahora se enviarán a este intento.

{
"contenido rico": [
[
{
"título": "Enviar correo electrónico",
"evento": {
"parámetros": {
"nombre": "#Color-seguimiento.nombre",
"país": "#Color-país-seguimiento.país",
"Email": "$correo electrónico",
"color": "#Color-seguimiento.color",
"teléfono": "#Color-país-número-de-teléfono-seguimiento.número-de-teléfono"
},
"nombre": "ENVIAR CORREO ELECTRÓNICO",
"Código de lenguaje": "es"
},
"escribe": "lista"
}
]
]
}

Paso 8: Envíe un correo electrónico usando el editor en línea de Dialogflow Node.js

Hacer clic Crear intención en el menú principal de Intenciones. Agregar ENVIAR CORREO ELECTRÓNICO hacia Eventos sección y golpe Ingresar. Siga esto agregando todos los parámetros que ha recopilado al Acción y parámetros sección.

Ve a la Cumplimiento en la parte inferior de la página y active el control deslizante etiquetado Habilitar llamada de webhook para esta intención. Esto le permitirá agregar código personalizado a esta intención.

Seleccione Cumplimiento desde el menú principal a la izquierda de la página y active el control deslizante para habilitar el Editor en línea. Es posible que deba agregar una cuenta de facturación a su proyecto de Google para hacer esto.

Haga clic en el paquete.json pestaña y desplácese hasta la parte inferior del archivo. Reemplace la sección de dependencias con el siguiente código para agregar la API de Nodemailer a su proyecto.

"dependencias": {
"acciones en google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-funciones": "^2.0.2",
"flujo de diálogo": "^0.6.0",
"nodemailer": "^4.4.2",
"cumplimiento de flujo de diálogo": "^0.5.0"
}

Vuelva al archivo index.js y reemplace el código existente con la muestra que se encuentra en este proyecto CodePen antes de hacer clic Desplegar. Deberá reemplazar las credenciales de Gmail con las de su propia cuenta. Necesita usar una contraseña de aplicación para esto. Una vez completado, su chatbot enviará por correo electrónico todos los detalles que recopile al usuario al final de una conversación exitosa. Puedes más información sobre Node.js y cómo usarlo con nuestra práctica guía.

Uso de Dialogflow ES en su sitio web

Su nuevo chatbot puede recopilar información del usuario y enviar correos electrónicos, pero Dialogflow ES puede hacer mucho más. Puede conectar casi cualquier API a este servicio y puede usar la API de Dialogflow para controlar su chatbot en su propio sitio web.