Cómo organizar el componente precompilado de citas

El componente precompilado para concertar citas permite que los clientes nuevos y existentes reserven citas. Este componente usa una versión personalizada del componente compilado previamente Recopilación de fecha de nacimiento para recopilar fechas de citas y usa los componentes compilados previamente 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 modificar actualizando la entidad personalizada prebuilt_components_arrange_appt_reason. Los tipos de citas disponibles para cada categoría se pueden configurar actualizando 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 estos diálogos de ejemplo, se muestran situaciones comunes que controla este componente precompilado cuando las llamadas se realizan con 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

  1. El agente identifica que el usuario se autenticó como un usuario existente.
  2. El usuario indica el motivo de la cita y selecciona la opción para reservar una cita presencial.
  3. 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 que prefiere están disponibles.
  4. El agente confirma la hora y el lugar, y programa la cita.
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í
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

  1. El agente identifica que el usuario no se autenticó antes y recopila su número de teléfono.
  2. El usuario solicita una cita virtual para hablar sobre préstamos.
  3. Si la primera preferencia del usuario para la fecha y la hora no está disponible, el agente le ofrece horarios disponibles.
  4. El usuario selecciona un horario disponible y se programa la cita.
  5. Si el usuario quiere reservar una segunda cita, el agente la programa y confirma los detalles.
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 la 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 "sí".
Sí
Programaremos una cita con nuestro asesor el 3 de octubre de 2023 a las 3:00 p.m. ¿Verdad?
Sí
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 la fecha de nacimiento.
Genial, ya recopilamos la fecha que prefieres.

Ahora, indica el horario que prefieres.
¿Te parece bien a las 8 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 las 11:30 a.m., las 12:30 p.m., la 1:30 p.m. y las 3:00 p.m. del 6 de octubre de 2023. ¿Quieres cambiar el horario o programar una cita para otra fecha?
Bien, entonces hagámoslo a la 1:30.
Seleccionaste la 1:30 p.m. Para continuar con la hora de la cita seleccionada, di "sí".
Sí
Programaremos una cita con nuestro asesor el 6 de octubre de 2023 a la 1:30 p.m. ¿Verdad?
Sí
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
Intención específica 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 configuran los comportamientos de los componentes. Las condiciones dentro del flujo usan estos parámetros para determinar el comportamiento de los componentes. Puedes establecer parámetros con alcance de flujo en la página de inicio del componente y puedes establecer parámetros centrados en la sesión a través de un flujo de llamada o en la página de inicio.

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 (Opcional) Indica el nivel de autenticación del emisor. integer
$flow.all_appointment_type Especifica la lista de motivos de la cita 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 la cita 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 solicitó un agente humano en algún momento de la conversación.

denial_of_information: El usuario 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 los parámetros de configuración que describen tus servicios externos. Consulta Configuración de webhook.

Configuración del webhook

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

Obtener cuenta

El webhook prebuilt_components_arrange_appointment:get_account te permite recuperar los detalles de la cuenta para 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

El componente extrae los siguientes parámetros de la respuesta de la API:

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 Cantidad de tarjetas asociadas al 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 formar 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 webhook prebuilt_components_arrange_appointment:get_branch recupera información sobre la ubicación de una sucursal con 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

El componente extrae los siguientes parámetros de la respuesta de la API:

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

Para configurar el webhook de Get branch 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_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 formar 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 webhook prebuilt_components_arrange_appointment:available_branch recupera la ubicación de la sucursal más cercana con 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 proporcionó el usuario. cadena

Parámetros de respuesta de la API

El componente extrae los siguientes parámetros de la respuesta de la API:

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

Para configurar el webhook de 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 formar 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 webhook prebuilt_components_arrange_appointment:get_available_slots verifica los horarios disponibles para la fecha y el tipo de cita que prefiere 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
$flow.preferred_date Es la fecha preferida para la cita que proporcionó el usuario 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. cadena

Parámetros de respuesta de la API

El componente extrae los siguientes parámetros de la respuesta de la API:

Nombre del parámetro Descripción Formato de salida
available_slots Es la lista de horarios disponibles para citas en la fecha especificada, en 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 formar 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 webhook prebuilt_components_arrange_appointment:submit_appointment permite que el usuario programe una cita para la fecha, la hora, la sucursal, el motivo y el tipo de cita que seleccionó.

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 y asociar la cita con su cuenta. cadena
$flow.preferred_date Es la fecha preferida para la cita que proporcionó el usuario en formato "AAAA-MM-DD". cadena
$flow.preferred_slot Es la hora preferida para la cita que proporcionó el usuario 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 proporcionó el usuario, si es necesario. cadena

Parámetros de respuesta de la API

El componente extrae los siguientes parámetros de la respuesta de la API:

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 formar 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

Este componente precompilado y sus webhooks ya están configurados y listos para probarse.