arrow_back

Cómo agregar una puerta de enlace telefónica a un agente virtual

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo agregar una puerta de enlace telefónica a un agente virtual

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Intermedio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP793

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, seguirás trabajando con el agente virtual de Pigeon Travel que creaste en el lab Cómo compilar una entrega de agente virtual y agregarás una puerta de enlace telefónica para permitir que los usuarios llamen a dicho agente. Se recomienda que, primero, completes el lab Diseña flujos conversacionales para tu agente, pero no es obligatorio.

Nota: Para continuar con este lab, necesitarás el archivo ZIP del agente que exportaste del lab Diseña flujos conversacionales para tu agente. En caso contrario, deberás compilar desde cero todos los intents y entidades del lab Diseña flujos conversacionales para tu agente antes de continuar con los pasos de este lab.

Contact Center AI está diseñado para integrarse fácilmente en la tecnología de telefonía existente. Para crear una puerta de enlace telefónica, debes tener acceso a un socio de telefonía, el cual obtendrás en este lab. Para el uso en producción, se recomienda trabajar con uno de estos socios.

Objetivos de aprendizaje

En este lab, aprenderás a realizar las siguientes tareas:

  • Actualizar el intent de bienvenida predeterminado
  • Agregar una puerta de enlace telefónica para permitir que los usuarios llamen a nuestro agente virtual
  • Transferir a un usuario mediante la puerta de enlace telefónica

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Habilita la API

  1. En la consola de Cloud, ve al menú de navegación > APIs y servicios > APIs y servicios habilitados.

  2. Haz clic en + Habilitar APIs y servicios.

  3. Busca Dialogflow.

  4. Haz clic en la API de Dialogflow y, si no está habilitada, haz clic en Habilitar.

Tarea 1. Crea tu agente de Dialogflow

Tu agente se llamará "pigeon-travel".

  1. Ve a la consola de Dialogflow.

  2. Accede con el botón de Google y asegúrate de seleccionar las credenciales que utilizaste para este lab.

  3. Marca la casilla de las Condiciones del Servicio. Haz clic en Accept.

  4. Haz clic en Create Agent.

  5. Agrega la información del agente:

    • Agent Name: pigeon-travel
    • Default Time Zone: America/Denver
    • Google Project: utiliza el ID del proyecto de tu lab
  6. Haz clic en Create.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un agente de Dialogflow

Tarea 2: Importa tu agente de Dialogflow

En el lab anterior, exportaste el agente de Dialogflow que compilaste. Ahora volverás a importarlo para continuar su compilación.

Si no tienes los archivos exportados, utiliza este: pigeon-travel-gsp-793.zip

Nota: Si se te presenta un error 403 al acceder a este archivo, asegúrate de hacerlo con la cuenta que se te proporcionó cuando comenzó este lab. Para ello, abre una nueva ventana, ingresa con las credenciales de tu lab y pega el vínculo del archivo ZIP.

Descarga el archivo en tu estación de trabajo local.

Esto crea un proyecto de agente virtual nuevo. Ahora deberás importar el trabajo que ya realizaste.

  1. Haz clic en el ícono de ajustes (ícono de ajustes) junto al nombre de tu agente.

  2. Selecciona la pestaña Export and Import.

  3. Haz clic en Import from ZIP.

  4. Haz clic en Select file y navega al archivo ZIP que contenga la configuración de tu agente virtual. También puedes arrastrar y soltar el archivo si así lo prefieres.

  5. Escribe la palabra "IMPORT" en mayúsculas para habilitar el botón de importación y haz clic en Import.

Ventana Upload agent

  1. Haz clic en Done para cerrar la ventana de carga tras completar la importación.

Se importó tu configuración actual a tu proyecto de agente nuevo.

Haz clic en Revisar mi progreso para verificar el objetivo. Importar el agente de Dialogflow

Tarea 3. Configura una puerta de enlace telefónica

Para configurar una puerta de enlace, sigue estos pasos:

  1. Selecciona un proveedor. En la consola de Dialogflow, sigue estos pasos:

    • Selecciona tu agente, pigeon-travel.
    • Haz clic en Integrations.

    Opción Integrations destacada

    • Haz clic en Dialogflow Phone Gateway.
  2. Configura la puerta de enlace telefónica:

    • Selecciona el idioma: Para este lab, selecciona English.
    • Selecciona el código de país del número de teléfono (para este lab, elige +1, que corresponde a Estados Unidos).
    • Haz clic en Next.

    Dialogflow Phone Gateway. Primer paso: Configura la puerta de enlace telefónica

  3. Selecciona un número:

    • Elige un número de teléfono de la lista.
    • Haz clic en Create.

    Dialogflow Phone Gateway. Segundo paso: Selecciona el número de teléfono

  4. Finaliza la configuración de la puerta de enlace telefónica:

    • La puerta de enlace ahora está activa.
    • Guarda el número de teléfono que se muestra y cierra la ventana de diálogo. Puedes volver a hacer clic en el botón de integraciones de Dialogflow Phone Gateway para recuperar esta información.

    Banner de felicitaciones de Dialogflow Phone Gateway

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar una puerta de enlace telefónica

Tarea 4. Da la bienvenida a la persona que llama

Ahora que tienes un agente de puerta de enlace telefónica que funciona, observa los intents que importaste. Esto te ayuda a comprender cómo compilar tus propios agentes de puerta de enlace telefónica.

Sigue estos pasos para saludar a la persona que llama y proporcionar una lista de las posibles opciones:

  1. Ve a la consola de Dialogflow.

  2. Selecciona el agente.

  3. Haz clic en Intents.

  4. Haz clic en Default Welcome Intent.

  5. Desplázate hacia abajo hasta la sección Events. Asegúrate de que se incluyan estos dos eventos: Welcome (WELCOME) y Telephony Welcome (TELEPHONY_WELCOME). Si el evento Telephony Welcome (TELEPHONY_WELCOME) no aparece, agrégalo. En la sección Events, ingresa Telephony Welcome y presiona Intro.

La sección Events incluye los eventos Welcome y Telephony Welcome

El evento Telephony Welcome (TELEPHONY_WELCOME) significa que todos los tipos de eventos de bienvenida activarán este intent. Como alternativa, podrías crear intents individuales, cada uno destinado a un evento de bienvenida específico.

  1. Desplázate hacia abajo hasta la sección Responses y agrega la pestaña DIALOGFLOW PHONE GATEWAY con un clic en el ícono de signo más.

Página con pestañas de DIALOGFLOW PHONE GATEWAY

  1. Haz clic en ADD RESPONSES y elige Synthesize Speech.

  2. Ingresa lo siguiente en el campo de texto:

Hello! I am the virtual agent for Pigeon Travel. I can help you with many things such as changing your name on your reservation. How can I help you?

  1. Asegúrate de que el botón de activación junto a Use responses from the DEFAULT tab as the first responses esté desactivado.

Control deslizante de Use responses from the DEFAULT tab as the first responses

  1. Haz clic en SAVE.

  2. Ahora puedes llamar por teléfono a ese número y escuchar la respuesta personalizada.

Haz clic en Revisar mi progreso para verificar el objetivo. Dar la bienvenida a la persona que llama

Tarea 5: Configura la entrega con Cloud Functions para buscar reservas en Firestore

En esta sección, configurarás Firestore para que tu agente busque la reserva actual y agregue el cambio.

Configura Firestore

  1. En la consola, ve al menú de navegación > Firestore.

  2. Haz clic en Crear base de datos.

  3. Verás dos opciones: Modo nativo y Modo Datastore. Elige la opción SELECCIONAR MODO NATIVO.

  4. Para la ubicación, elige .

  5. Haz clic en CREAR BASE DE DATOS. Una vez que se completa el proceso, podrás crear una colección nueva.

  6. Haz clic en INICIAR COLECCIÓN.

    • ID de la colección: reservations

    • ID de documento: 100

  7. Completa los detalles exactamente como se muestran a continuación y luego haz clic en GUARDAR.

    • Nombre del campo: fname
    • Tipo de campo: string
    • Valor del campo: Isabel

    Luego, haz clic en el botón + Agregar campo para agregar otro:

    • Nombre del campo: lname
    • Tipo de campo: string
    • Valor del campo: Costa

    Luego, haz clic en el botón + Agregar campo para agregar otro:

    • Nombre del campo: newname
    • Tipo de campo: string
    • Valor del campo:
  8. Haz clic en Guardar.

Ya agregaste tu primer documento a una colección de Firestore.

Práctica recomendada relacionada con los IDs de documento de Firestore

  • No uses puntos (.) ni puntos suspensivos (…) en los IDs de documento.

  • No uses barras diagonales (/) en los IDs de documento.

  • No uses IDs de documento que aumenten monótonamente, como los siguientes ejemplos:

    • Cliente1, Cliente2, Cliente3…
    • Producto 1, Producto 2, Producto 3…

    Estos IDs secuenciales pueden generar hotspots que afectan la latencia.

Entrega de Dialogflow

  1. En la consola de Cloud, navega a Cloud Functions.

  2. Haz clic en Crear función.

  3. En Entorno, usa 1st gen.

  4. En Nombre de la función, usa dialogflowFirebaseFulfillment.

  5. En Región, usa .

  6. En Activador, usa HTTP. Marca la casilla de Necesita autenticación y selecciona El HTTPS es obligatorio.

  7. Haz clic en Guardar y, luego, en Siguiente.

En el lab anterior, descargaste el código fuente de Cloud Function. Ahora, subirás este código a la Cloud Function recién implementada.

  1. En la página Código y en el Entorno de ejecución, selecciona Node.js 10.

  2. En el menú desplegable Código fuente, elige ZIP de Cloud Storage.

Opción ZIP de Cloud Storage destacada

  1. En ZIP de Cloud Storage, ingresa la siguiente ubicación qwiklabs-resources-ccai-quest/pigeon-travel-gsp-793-cloud-function.zip.

  2. En Punto de entrada, usa dialogflowFirebaseFulfillment.

Campo de texto de ZIP de Cloud Storage

  1. Haz clic en IMPLEMENTAR.

Una vez que se completa el proceso, tendrás implementado el código del lab anterior en tu Cloud Function de entrega.

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar la entrega con Cloud Functions

Tarea 6. Llama al número

  • Marca en tu teléfono el número que se asignó a la puerta de enlace telefónica.

Después del mensaje de bienvenida, inicia el flujo de la conversación solicitándole al agente virtual que cambie tu nombre en la reserva. Si todo sale bien, verás en Firestore el nombre nuevo tal como se lo proporcionaste al agente virtual.

Tarea 7. Recurre a un agente humano

¿Qué sucede cuando no todo sale bien? Supongamos que el usuario proporcionó un número de reserva equivocado. En este caso, deberás utilizar la opción Dialogflow Phone Gateway Transfer Call.

Antes de comenzar, asegúrate de familiarizarte con los eventos, ya que deberás utilizarlos para activar un intent.

Eventos

En condiciones normales, se detecta una coincidencia con un intent cuando una expresión del usuario final concuerda con una frase de entrenamiento del intent. Sin embargo, también puedes activar intents mediante eventos. Los eventos se pueden invocar de muchas maneras.

Hay dos tipos de eventos:

  • Eventos de plataforma: Estos eventos integrados los proporcionan las integraciones de la plataforma. Se invocan cuando se producen eventos específicos de la plataforma. Por ejemplo, la integración de Facebook invoca el evento FACEBOOK_LOCATION cuando un usuario final acepta o rechaza una solicitud para acceder a su ubicación.

  • Eventos personalizados: Son eventos que tú defines. Puedes invocarlos mediante una entrega o la API. Por ejemplo, podrías establecer una alerta temporizada durante una conversación, lo que invocará un evento en un momento determinado. Este evento podría activar un intent que alerte al usuario final acerca de algo.

Utilizarás los eventos personalizados para activar una transferencia de llamada.

Modifica el código de entrega

  1. En la página Detalles de la función, haz clic en Editar.

  2. Navega a la pestaña del editor de código.

  3. Reemplaza el siguiente código y, luego, impleméntalo:

agent.add('I could not find your reservation.');

con

agent.add('placeholder'); agent.setFollowupEvent('custom_fallback');
  1. Reemplaza lo siguiente:

console.log('Transaction failure:', error);

con:

console.log('Transaction failure:', error); agent.add('placeholder'); agent.setFollowupEvent('custom_fallback');
  1. Reemplaza lo siguiente:

agent.add('Error reading entry from the Firestore database.');

con:

agent.add('placeholder'); agent.setFollowupEvent('custom_fallback');

La función debería verse así:

function reservation(agent) { let id = agent.parameters.reservationnumber.toString(); let collectionRef = db.collection('reservations'); let userDoc = collectionRef.doc(id); return userDoc.get() .then(doc => { if (!doc.exists) { agent.add('placeholder'); agent.setFollowupEvent('custom_fallback'); } else { db.collection('reservations').doc(id).update({ newname: agent.parameters.newname }).catch(error => { console.log('Transaction failure:', error); agent.add('placeholder'); agent.setFollowupEvent('custom_fallback'); return Promise.reject(); }); agent.add('Ok. I have updated the name on the reservation.'); } return Promise.resolve(); }).catch(() => { agent.add('placeholder'); agent.setFollowupEvent('custom_fallback'); }); }
  1. Haz clic en Implementar.

El código agent.setFollowupEvent('custom_fallback'); activa el evento custom_fallback que se asocia con un intent. Creemos el intent.

Haz clic en Revisar mi progreso para verificar el objetivo. Modificar el código de entrega

Tarea 8. Intent de alternativa personalizado

El intent de alternativa personalizado se activará cuando no se encuentre una reserva o se produzca un error cuando se establezca la conexión con Firestore, lo que transferirá al usuario a un agente humano.

Para que esto suceda, crea un intent del tipo custom-fallback:

  1. En el menú de la izquierda, haz clic en el ícono  junto a Intents.

  2. Agrega el nombre "custom-fallback" en el campo de texto Intent name.

  3. En la sección Events, agrega lo siguiente y presiona Intro al finalizar:

    • custom_fallback

Sección custom-fallback

  1. En la sección Responses, debajo de Text Response, ingresa la siguiente respuesta en el campo de texto: I'm sorry, I'm not able to find your reservation, but you'll be connected to a live person in a moment.

  2. Haz clic en el ícono  junto a Default y agrega DIALOGFLOW PHONE GATEWAY.

  3. En la pestaña DIALOGFLOW PHONE GATEWAY, haz clic en ADD RESPONSES y elige Synthesize Speech.

  4. En Synthesize Speech, ingresa la siguiente respuesta: I'm sorry I'm not able to find your reservation but you'll be connected to a live person in a moment.

  5. En la pestaña DIALOGFLOW PHONE GATEWAY, haz clic en ADD RESPONSES y elige Transfer Call.

  6. Ingresa un número al que Dialogflow pueda transferir la llamada en caso de que un usuario necesite hablar con un agente humano.

  7. Habilita la opción Set this intent as end of conversation.

Control deslizante Set this intent as end of conversation en la página con pestañas de Dialogflow Phone Gateway

  1. Haz clic en el botón Save. Es posible que también veas los mensajes Agent Training started y Agent Training completed en la esquina inferior derecha de la pantalla. Esto te indica que Dialogflow está entrenando nuevamente el modelo de tu agente en función de las frases agregadas.

  2. Una vez finalizado el entrenamiento, pruébalo con un teléfono. Llama al número que guardaste. Esta vez, indica al agente virtual un número de reserva incorrecto.

Tu agente ahora responderá I'm sorry I'm not able to find your reservation but you'll be connected to a live person in a moment. y transferirá la llamada al número establecido.

Así es cómo funciona:

  1. El sistema busca el número de reserva en Firestore:

if (!doc.exists)

  1. Si doc es "false", lo que significa que no existe, se activará el evento:

agent.setFollowupEvent('custom_fallback');

  1. El evento se asocia con un intent que permite a Dialogflow emitir la respuesta y luego transferir la llamada.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear intent de alternativa personalizado

Tarea 9: (Opcional) Exporta tu código

Exporta tu trabajo para poder usarlo en el próximo lab. Haz clic en la pestaña Fuente de Cloud Functions y haz clic en el botón DESCARGAR ARCHIVO ZIP.

 Página con pestañas Fuente con el botón Descargar archivo ZIP

Exporta tu agente

En esta sección, exportarás tu agente como un archivo ZIP, de modo que puedas importarlo más tarde cuando comiences el próximo lab. Esto te permitirá reutilizar los intents y las entidades que hayas configurado hasta el momento.

  1. Haz clic en el ícono de ajustes ⚙ junto al nombre de tu agente, en el menú de la izquierda.

  2. En la página de configuración que se abre, ve a la pestaña Export and Import.

  3. Haz clic en EXPORT AS ZIP. Esta acción descargará tu agente en un archivo ZIP local.

¡Felicitaciones!

Agregaste una puerta de enlace telefónica para permitir que los usuarios llamen a tu agente virtual

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 18 de octubre de 2023

Prueba más reciente del lab: 18 de octubre de 2023

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.