Cómo organizar el componente precompilado de citas

El componente prediseñado de concertar cita permite que los clientes nuevos y existentes reserven citas. Este componente usa una versión personalizada del componente prediseñado Recopilación de fecha de nacimiento para recopilar fechas de citas y los componentes prediseñados 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 de 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 para cada tipo de cita.

Limitaciones

Además de las limitaciones comunes de los componentes prediseñados, este componente prediseñado 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 maneja este componente prediseñado. 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 inicio de la conversación.

El usuario existente reserva una cita presencial

El agente identifica que el usuario ya se autenticó como usuario existente. El usuario indica el motivo de su cita y selecciona reservar una cita presencial. El agente confirma que el usuario desea ir a la sucursal más cercana a su dirección registrada y que la fecha y 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 administración de patrimonio
¿Quieres programar una cita por teléfono, videollamada o presencial en una de nuestras sucursales?
Me gustaría ir en persona
De acuerdo. ¿Quieres programar una cita en la sucursal ubicada en 1600 Amphitheatre Pkwy, Mountain View, CA 94043?
Proporciona la fecha que prefieres para la cita. Indica el mes, el día y el año que prefieras. 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 cita preferida del usuario con el componente prediseñado Recopilación de fecha de nacimiento
Excelente. Terminamos de recopilar la fecha que prefieres.

Proporciona la franja horaria que prefieres.
10 a.m.
Seleccionaste las 10 a.m. Para continuar con el horario de cita seleccionado, di que sí.
Programaremos una cita en la dirección del banco, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, el 23/09/2023 a las 10:00 a.m. ¿Es correcto?
De acuerdo, 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 buen día!

Un cliente nuevo reserva varias citas

El agente identifica que el usuario no se autenticó anteriormente 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 espacios de tiempo 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 prediseñado Recopilación del número de teléfono
Excelente. Terminamos de recopilar 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 por teléfono, videollamada o presencial en una de nuestras sucursales?
La cita virtual está bien
Proporciona la fecha que prefieres para la cita. Indica el mes, el día y el año que prefieras. 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 cita preferida del usuario con el componente prediseñado Recopilación de fecha de nacimiento
Excelente. Terminamos de recopilar la fecha que prefieres.

Proporciona el horario que prefieres.
Las 3:00 p.m. me vendrían bien.
Seleccionaste las 3 p.m. Para continuar con el horario de cita seleccionado, di que sí.
Programaremos una cita con nuestro asesor el 2023-10-03 a las 03:00 p.m. ¿Verdad?
De acuerdo, programamos la cita. Tu número de confirmación es 754731.

¿Quieres reservar otra cita?
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 por teléfono o videollamada con uno de nuestros representantes de sucursal?
Teléfono
Proporciona la fecha que prefieres para la cita. Indica el mes, el día y el año que prefieras. 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 cita preferida del usuario con el componente prediseñado Recopilación de fecha de nacimiento
Excelente. Terminamos de recopilar la fecha que prefieres.

Proporciona la franja horaria que prefieres.
¿Te parece bien a las 8 a.m.?
Seleccionaste las 8 a.m. Para continuar con el horario de cita seleccionado, di que sí.
Lo sentimos, el horario seleccionado no está disponible. Tenemos disponibilidad a las 11:30 a.m., 12:30 p.m., 1:30 p.m. y 3:00 p.m. el 6 de octubre de 2023. ¿Quieres cambiar el horario o programar una cita para otra fecha?
De acuerdo, entonces a la 1:30 p.m.
Seleccionaste la 1:30 p.m. Para continuar con el horario de cita seleccionado, di que sí.
Programaremos una cita con nuestro asesor el 2023-10-06 a las 13:30 h. ¿Verdad?
Sí.
De acuerdo, 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 buen día!

Convenciones de nombres

Este componente prediseñado usa las siguientes convenciones de nomenclatura:

Función Formato Ejemplo
Flujo [Nombre del componente] Organizar 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 son los que se usan para configurar ciertos comportamientos del componente. Los parámetros se usarán en una o más condiciones dentro del flujo 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 con alcance de sesión se pueden establecer a través de un flujo de llamada o en la página de inicio de este componente.

Este componente prediseñado 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 llamador. 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 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 Pages.
  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 prediseñado proporciona valores para los siguientes parámetros de salida:

Nombre del parámetro Descripción Formato de salida
phone_number Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. cadena
transfer_reason Este parámetro indica el motivo por el que se salió del flujo, si no se completó correctamente. El valor devuelto 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 se negó a compartir la información que solicitó el componente.

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

max_no_match: La conversación alcanzó la cantidad máxima de reintentos para los eventos de sin coincidencia. Consulta los eventos integrados de sin 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 prediseñado, 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 webhook a continuación.

Configuración de 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 webhook prebuilt_components_arrange_appointment:get_account se usa para que el componente obtenga los detalles de la cuenta para un número de teléfono proporcionado, si existe una cuenta registrada.

Parámetros de la 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 Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. cadena

Parámetros de respuesta de la API

El componente usa los siguientes parámetros extraídos de la respuesta de la API.

Nombre del parámetro Descripción Formato de salida
account_count 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 al número de teléfono registrado. integer
mortgage_count Cantidad de hipotecas asociadas al número de teléfono registrado. integer
branch_code Es el código de sucursal asociado al número de teléfono registrado, que se usa para identificar una ubicación de sucursal única. cadena

Para configurar el webhook de Get account 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 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Obtener rama

El webhook prebuilt_components_arrange_appointment:get_branch se usa para que el componente recupere información sobre la ubicación de una sucursal a partir de un código de sucursal.

Parámetros de la 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 usa los siguientes parámetros extraídos de la respuesta de la API.

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

Para configurar el webhook 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 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Rama disponible

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

Parámetros de la 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 final. cadena

Parámetros de respuesta de la API

El componente usa los siguientes parámetros extraídos de la respuesta de la API.

Nombre del parámetro Descripción Formato de salida
branch_address 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 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Obtén los horarios disponibles

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

Parámetros de la 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 Fecha preferida para la cita proporcionada por el usuario final en formato "AAAA-MM-DD". cadena
$flow.appointment_type Es el tipo de cita de la cita. cadena
$flow.branch_code Es el código de la sucursal que identifica la ubicación única de la sucursal seleccionada por el usuario final. cadena

Parámetros de respuesta de la API

El componente usa los siguientes parámetros extraídos de la respuesta de la API.

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

Para configurar el webhook de Get available slots para este componente, expándelo y sigue 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 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Enviar cita

El webhook prebuilt_components_arrange_appointment:submit_appointment se usa en el componente 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 la 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 Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. cadena
$flow.preferred_date Fecha preferida para la cita proporcionada por el usuario final en formato "AAAA-MM-DD". cadena
$flow.preferred_slot Hora preferida para la cita proporcionada por el usuario final en formato "HH:MM XM". cadena
$flow.appointment_reason Es el motivo de la cita. cadena
$flow.appointment_type Es el tipo de cita de la cita. cadena
$flow.branch_code Es el código de la sucursal que identifica la ubicación única de la sucursal seleccionada por el usuario final. cadena

Parámetros de respuesta de la API

El componente usa los siguientes parámetros extraídos 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 Submit appointment 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 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Completado

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