Cree un chatbot de envío de correo electrónico con Google Dialogflow

Cree un chatbot de envío de correo electrónico con Google Dialogflow

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?





¿Suena el timbre? ¿Funciona con Google Home?
MAKEUSEOF VÍDEO DEL DÍA

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 Google Dialogflow ES website . 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.





  crear agente dialogflow es

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.

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 seguimiento y elige del menú desplegable. Repita el proceso seleccionando No en el menú desplegable para crear la segunda intención de seguimiento.



  sí y no intentos 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

  Intención final de conversación de flujo de diálogo

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ú.

  carga útil personalizada de intención de bienvenida

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





{ 
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Yes"
},
{
"text": "No"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Tell me about yourself :)",
"subtitle": "Give me some of your personal information. I'll send it to you in an email. That's the deal; absolutely no funny business. Promise! You in?",
"type": "info"
}
]
]
}

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 seguimiento y seleccione Disfraz de la lista.

  seleccione sí intención de seguimiento

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.

  configuración del parámetro de nombre de flujo de diálogo

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.

  respuesta del parámetro del nombre del flujo de diálogo

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.

  lista de contenido enriquecido de flujo de diálogo

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.

{ 
"richContent": [
[
{
"event": {
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Red"
},
"name": "COLOR"
},
"title": "Red",
"type": "list"
},
{
"type": "divider"
},
{
"event": {
"name": "COLOR",
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Green"
}
},
"type": "list",
"title": "Green"
},
{
"type": "divider"
},
{
"type": "list",
"title": "Blue",
"event": {
"languageCode": "en",
"name": "COLOR",
"parameters": {
"name": "$given-name",
"color": "Blue"
}
}
}
]
]
}

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 .

  intención de color con evento

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 .

altavoces enchufados pero sin sonido
  entrenamiento de color y parámetros

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

  respuestas de intención de color con parámetros

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.

  contexto de salida de intención de color

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.

  intención de seguimiento del país del color del flujo de diálogo

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.

  entrenamiento y parámetros del país

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.

  entrenamiento y parámetros del número de teléfono

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.

  número de teléfono sí no seguimientos

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

  seguimiento de contextos de entrada

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.

  parámetro de correo electrónico de flujo de diálogo

Ve a la Respuestas sección, haga clic en Agregar respuestas y 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.

{ 
"richContent": [
[
{
"title": "Send Email",
"event": {
"parameters": {
"name": "#Color-followup.name",
"country": "#Color-country-followup.country",
"email": "$email",
"color": "#Color-followup.color",
"phone": "#Color-country-phonenum-followup.phone-number"
},
"name": "SENDEMAIL",
"languageCode": "en"
},
"type": "list"
}
]
]
}

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.

  evento de correo electrónico y parámetros

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.

  cumplimiento de la intención del flujo de diálogo

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.

  editor en línea activo de flujo de diálogo

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.

cómo usar una unidad flash USB
"dependencies": { 
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^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.