Cómo organizar el componente precompilado de citas

El componente precompilado de concertar cita permite que los clientes nuevos y existentes reserven citas. Este componente usa una versión personalizada del componente precompilado Recopilación de fecha de nacimiento para recopilar fechas de citas y usa los componentes precompilados Recopilación de número de teléfono y Recopilación de código postal para recopilar información sobre el usuario y la ubicación de la cita.

Motivos y tipos de citas

Este componente admite varias categorías de motivos de citas y ofrece diferentes tipos de citas según el motivo que seleccione el usuario.

Motivo de la cita Tipos de citas disponibles
Préstamos Presencial, virtual, por teléfono
Hipotecas Presencial, virtual, por teléfono
Administración del patrimonio Presencial, virtual, por teléfono
Tarjetas de crédito Virtual, teléfono
Otro Teléfono

Las categorías de citas se pueden personalizar modificando la entidad personalizada prebuilt_components_arrange_appt_reason. Los tipos de citas disponibles para cada categoría se pueden configurar modificando los parámetros de entrada de cada tipo de cita.

Limitaciones

Además de las limitaciones comunes de los componentes compilados previamente, este componente tiene las siguientes limitaciones:

  • Este componente no encripta ningún dato.

Diálogos de muestra

En los siguientes diálogos de ejemplo, se muestran situaciones comunes que controla este componente precompilado. Los diálogos de muestra demuestran el comportamiento cuando se llama al componente a través de la telefonía, lo que activa el intent de bienvenida predeterminado y la primera respuesta del agente al comienzo de la conversación.

Un usuario existente reserva una cita presencial

El agente identifica que el usuario se autenticó anteriormente como un usuario existente. El usuario indica el motivo de la cita y selecciona reservar una cita presencial. El agente confirma que el usuario quiere ir a la sucursal más cercana a su dirección registrada y confirma que la fecha y la hora preferidas del usuario están disponibles. El agente confirma la hora y el lugar, y programa la cita correctamente.

Entrada del usuario Respuesta del agente
Antes de programar una cita, te haremos algunas preguntas. ¿Puedes decirnos el motivo de tu cita?
Quiero hablar con alguien sobre la administración de patrimonio
¿Quieres programar una cita telefónica, por videollamada o presencial en una de nuestras sucursales?
Me gustaría ir en persona
Muy bien, ¿quieres programar una cita en la sucursal ubicada en 1600 Amphitheatre Pkwy, Mountain View, CA 94043?
Sí
Proporciona la fecha que prefieres para la cita. Di el mes que prefieras, seguido del día y, luego, el año. Recuerda que nuestras sucursales están abiertas de lunes a viernes de 9 a.m. a 5 p.m. y los sábados de 9 a.m. a 1 p.m.
El agente recopila la fecha de la cita preferida del usuario con el componente precompilado Recopilación de la fecha de nacimiento
Genial, ya recopilamos la fecha que prefieres.

Ahora, indica el horario que prefieres.
10 a.m.
Seleccionaste las 10:00 a.m. Para continuar con la hora de la cita seleccionada, di "sí".
Sí
Programaremos una cita en la dirección del banco, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, el 23 de septiembre de 2023 a las 10:00 a.m. ¿Es correcto?
Sí
Muy bien, ya programamos la cita. Tu número de confirmación es 818452. ¿Quieres reservar otra cita?
No, eso es todo.
Gracias por comunicarte con nosotros. ¡Que tengas un lindo día!

Un cliente nuevo reserva varias citas

El agente identifica que el usuario no se autenticó antes y recopila su número de teléfono. El usuario solicita una cita virtual para hablar sobre préstamos. La primera preferencia del usuario para la fecha y la hora no está disponible, por lo que el agente le ofrece horarios disponibles. El usuario selecciona un horario disponible y la cita se programa correctamente. El usuario confirma que desea reservar una segunda cita y el agente programa correctamente una segunda cita.

Entrada del usuario Respuesta del agente
El agente recopila el número de teléfono del usuario con el componente precompilado Recopilación de números de teléfono
Excelente, ya recopilamos el número de teléfono.

Antes de programar una cita, te haremos algunas preguntas. ¿Puedes decirnos el motivo de tu cita?
Quiero obtener un préstamo
¿Quieres programar una cita telefónica, por videollamada o presencial en una de nuestras sucursales?
La cita virtual está bien
Proporciona la fecha que prefieres para la cita. Di el mes que prefieras, seguido del día y, luego, el año. Recuerda que nuestras sucursales están abiertas de lunes a viernes de 9 a.m. a 5 p.m. y los sábados de 9 a.m. a 1 p.m.
El agente recopila la fecha de la cita preferida del usuario con el componente precompilado Recopilación de fecha de nacimiento
Genial, ya recopilamos la fecha que prefieres.

Ahora, indica el horario que prefieres.
A las 3:00 p.m. me queda bien
Seleccionaste las 3:00 p.m. Para continuar con la hora de la cita seleccionada, di que sí.
Sí
Programaremos una cita con nuestro asesor el 3 de octubre de 2023 a las 3:00 p.m. ¿Verdad?
Sí
Muy bien, ya programamos la cita. Tu número de confirmación es 754731.

¿Quieres reservar otra cita?
Sí.
Antes de programar una cita, te haremos algunas preguntas. ¿Puedes decirnos el motivo de tu cita?
Necesito una cita para mi tarjeta de crédito
¿Quieres programar una cita telefónica o por videollamada con uno de los representantes de nuestras sucursales?
Teléfono
Proporciona la fecha que prefieres para la cita. Di el mes que prefieras, seguido del día y, luego, el año. Recuerda que nuestras sucursales están abiertas de lunes a viernes de 9 a.m. a 5 p.m. y los sábados de 9 a.m. a 1 p.m.
El agente recopila la fecha de la cita preferida del usuario con el componente precompilado Recopilación de fecha de nacimiento
Genial, ya recopilamos la fecha que prefieres.

Ahora, indica el horario que prefieres.
¿Te parece bien a las 8:00 a.m.?
Seleccionaste las 8:00 a.m. Para continuar con la hora de la cita seleccionada, di "sí".
Sí
Lo sentimos, el horario seleccionado no está disponible. Tenemos disponibilidad para el 6 de octubre de 2023 a las 11:30 a.m., 12:30 p.m., 1:30 p.m. y 3:00 p.m. ¿Quieres cambiar el horario o programar una cita en otra fecha?
Ok, entonces hagámoslo a la 1:30
Seleccionaste la 1:30 p.m. Para continuar con la hora de la cita seleccionada, di que sí.
Sí
Programaremos una cita con nuestro asesor el 6 de octubre de 2023 a la 1:30 p.m. ¿Verdad?
Sí
Muy bien, ya programamos la cita. Tu número de confirmación es 714637.

¿Quieres reservar otra cita?
No, eso es todo.
Gracias por comunicarte con nosotros. ¡Que tengas un lindo día!

Convenciones de nombres

Este componente precompilado usa las siguientes convenciones de nombres:

Función Formato Ejemplo
Flujo [Nombre del componente] Organiza una cita
Intento específico del componente prebuilt_components_[component_name]_[intent_name] prebuilt_components_arrange_appt_change_date_slot
Tipo de entidad prebuilt_components_[component_name]_[entity_type] prebuilt_components_arrange_appt_reason
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_arrange_appointment:submit_appointment

Parámetros de entrada

Los parámetros de entrada son parámetros que se usan para configurar ciertos comportamientos del componente. Una o más condiciones dentro del flujo usarán los parámetros para determinar cómo debe comportarse el componente. Los parámetros con alcance de flujo se deben establecer en la página de inicio del componente, como se describe a continuación. Los parámetros centrados en la sesión se pueden establecer mediante un flujo de llamada o en la página de inicio de este componente.

Este componente precompilado acepta los siguientes parámetros de entrada:

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number (Opcional) Es el número de teléfono registrado del cliente que se usa para la autenticación. cadena
$session.params.auth_level Indica el nivel de autenticación del emisor (opcional). integer
$flow.all_appointment_type Especifica la lista de motivos de citas para los que están disponibles todos los tipos de citas. El valor predeterminado es ["loans", "wealth"]. Lista (cadena)
$flow.video_phone_appointment_type Especifica la lista de motivos de citas para los que están disponibles todos los tipos de citas. El valor predeterminado es ["cards"]. Lista (cadena)
$flow.appointment_services Especifica la lista de tipos de citas para los que no se requiere la ubicación de la sucursal y no se recopilará del usuario. El valor predeterminado es ["video", "phone"]. Lista (cadena)
$flow.working_hours Especifica el horario de atención de la sucursal, por ejemplo, "Monday to Friday: 9 AM to 5 PM, Saturday: 9 AM to 1 PM". cadena
$session.params.arrange_appointment_max_days Especifica la cantidad máxima de días posteriores a la fecha actual que se permiten para reservar una cita. De forma predeterminada, este valor es 90, lo que indica que las fechas de las citas se pueden reservar hasta 90 días después de la fecha actual. Este parámetro se establece en la ruta true de la página de inicio. integer
flow.max_retry_count Especifica la cantidad de reintentos permitidos cuando se recopila información del usuario. El valor predeterminado es 3. integer

Para configurar los parámetros de entrada de este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Build.
  5. Haz clic en el componente importado en la sección Flujos.
  6. Haz clic en la página de inicio en la sección Páginas.
  7. Haz clic en la ruta true en la página de inicio.
  8. En la ventana Route, edita los valores de Parameter Presets según sea necesario.
  9. Haz clic en Guardar.

Los parámetros de resultado

Los parámetros de salida son parámetros de sesión que permanecerán activos después de salir del componente. Estos parámetros contienen información importante que recopila el componente. Este componente precompilado proporciona valores para los siguientes parámetros de salida:

Nombre del parámetro Descripción Formato de salida
phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. cadena
transfer_reason Este parámetro indica el motivo por el que se cerró el flujo, si no se completó correctamente. El valor que se devuelve es uno de los siguientes:

agent: El usuario final solicitó un agente humano en algún momento de la conversación.

denial_of_information: El usuario final rechazó compartir la información que solicitó el componente.

max_no_input: La conversación alcanzó la cantidad máxima de reintentos para eventos sin entrada. Consulta eventos integrados sin entrada.

max_no_match: La conversación alcanzó la cantidad máxima de reintentos para eventos sin coincidencia. Consulta los eventos integrados de no coincidencia.

webhook_error: Se produjo un error de webhook. Consulta el evento integrado webhook.error.

webhook_not_found: No se pudo acceder a una URL de webhook. Consulta el evento integrado webhook.error.not-found.
cadena

Configuración básica

Para configurar este componente compilado previamente, haz lo siguiente:

  1. Importa el componente compilado previamente.
  2. Configura los webhooks flexibles proporcionados con la configuración que describe tus servicios externos. Consulta la configuración de webhooks a continuación.

Configuración del webhook

Para usar este componente, deberás configurar los webhooks flexibles incluidos para recuperar la información necesaria de tus servicios externos.

Obtener cuenta

El componente usa el webhook prebuilt_components_arrange_appointment:get_account para obtener los detalles de la cuenta de un número de teléfono proporcionado, si existe una cuenta registrada.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. cadena

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
account_count Es la cantidad de cuentas asociadas con el número de teléfono registrado. integer
cards_count Es la cantidad de tarjetas asociadas con el número de teléfono registrado. integer
loans_count Cantidad de préstamos asociados con el número de teléfono registrado integer
mortgage_count Cantidad de hipotecas asociadas con el número de teléfono registrado integer
branch_code Es el código de sucursal asociado con el número de teléfono registrado, que se usa para identificar una ubicación de sucursal única. cadena

Para configurar el webhook de Obtener cuenta para este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:get_account.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se devuelven.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Obtener rama

El componente usa el webhook prebuilt_components_arrange_appointment:get_branch para recuperar información sobre la ubicación de una sucursal según un código de sucursal.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$flow.branch_code Es el código de sucursal que identifica una ubicación de sucursal única. cadena

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
branch_address Dirección de la sucursal. cadena

Para configurar el webhook de Get branch de este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:get_branch.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se devuelven.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Rama disponible

El componente usa el webhook prebuilt_components_arrange_appointment:available_branch para obtener la ubicación de la sucursal más cercana según un código postal.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$flow.zip_code Es el código postal que proporciona el usuario final. cadena

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
branch_address Dirección de la sucursal. cadena

Para configurar el webhook de la rama disponible para este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:available_branch.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se devuelven.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Obtén los horarios disponibles

El componente usa el webhook prebuilt_components_arrange_appointment:get_available_slots para verificar los horarios disponibles para la fecha y el tipo de cita preferidos de un usuario.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$flow.preferred_date Es la fecha preferida para la cita que proporcionó el usuario final en formato "AAAA-MM-DD". cadena
$flow.appointment_type El tipo de cita de la cita cadena
$flow.branch_code Es el código de sucursal que identifica la ubicación única de la sucursal que seleccionó el usuario final. cadena

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
available_slots Es la lista de horarios disponibles para citas en la fecha especificada, en el formato "HH:MM XM", por ejemplo, ["09:00 AM", "2:30 PM"]. Si no hay horarios disponibles, este parámetro es una lista vacía []. Lista (cadena)

Para configurar el webhook Obtener horarios disponibles para este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:get_available_slots.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se devuelven.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Enviar cita

El componente usa el webhook prebuilt_components_arrange_appointment:submit_appointment para programar una cita para la fecha, la hora, la sucursal, el motivo y el tipo de cita que seleccionó el usuario.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. cadena
$flow.preferred_date Es la fecha preferida para la cita que proporcionó el usuario final en formato "AAAA-MM-DD". cadena
$flow.preferred_slot Es la hora preferida para la cita que proporcionó el usuario final en formato "HH:MM XM". cadena
$flow.appointment_reason El motivo de la cita. cadena
$flow.appointment_type El tipo de cita de la cita cadena
$flow.branch_code Es el código de sucursal que identifica la ubicación única de la sucursal que seleccionó el usuario final. cadena

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
request_number Es el número de solicitud de la cita programada. integer

Para configurar el webhook de envío de cita para este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:submit_appointment.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se devuelven.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Completado

Tu agente y sus webhooks ya deberían estar configurados y listos para probarse.