Organizar o componente pré-criado de horário

O componente predefinido de agendamento de horários permite que clientes novos e atuais marquem horários. Esse componente usa uma versão personalizada da coleção de data de nascimento pré-criada para coletar datas de compromissos e usa os componentes pré-criados Coleção de número de telefone e Coleção de CEP para coletar informações sobre o usuário e o local do compromisso.

Motivos e tipos de agendamento

Esse componente oferece suporte a várias categorias de motivos de agendamento e diferentes tipos de agendamentos, dependendo do motivo selecionado pelo usuário.

Motivo do agendamento Tipos de horário disponíveis
Empréstimos Presencial, virtual, por telefone
Hipotecas Presencial, virtual, por telefone
Gestão de recursos Presencial, virtual, por telefone
cartões de crédito; Virtual, smartphone
Outro Telefone

As categorias de horário podem ser personalizadas modificando a entidade personalizada prebuilt_components_arrange_appt_reason. Os tipos de agendamento disponíveis para cada categoria podem ser configurados modificando os parâmetros de entrada para cada tipo de agendamento.

Limitações

Além das limitações comuns de componentes predefinidos, este componente predefinido tem as seguintes limitações:

  • Esse componente não criptografa dados.

Exemplos de diálogos

As caixas de diálogo de exemplo a seguir demonstram cenários comuns processados por esse componente pré-criado. As caixas de diálogo de exemplo demonstram o comportamento quando o componente é chamado por telefonia, o que aciona a intent de boas-vindas padrão e a primeira resposta do agente no início da conversa.

Usuário atual agenda um horário presencial

O agente identifica que o usuário já foi autenticado como um usuário existente. O usuário informa o motivo do agendamento e seleciona agendar um atendimento presencial. O agente confirma que o usuário quer ir à agência mais próxima do endereço registrado e confirma que a data e a hora preferida do usuário estão disponíveis. O agente confirma o horário e o local e agenda a consulta.

Entrada do usuário Resposta do agente
Antes de agendar um horário, vamos fazer algumas perguntas. Você pode nos informar o motivo do seu agendamento?
Quero falar com alguém sobre gestão de patrimônio
Você quer uma ligação, uma videochamada ou uma reunião presencial em uma das nossas filiais?
Quero ir pessoalmente
Certo. Você quer agendar uma consulta na filial localizada em 1600 Amphitheatre Pkwy, Mountain View, CA 94043?
Sim
Informe a data de preferência para o agendamento. Diga o mês, o dia e o ano. Lembre-se de que nossas filiais estão abertas de segunda a sexta-feira, das 9h às 17h, e aos sábados, das 9h às 13h.
O agente coleta a data de consulta preferida do usuário usando o componente predefinido Coleta de data de nascimento
Ótimo, já coletamos sua data preferida.

Informe o horário de sua preferência.
10h
Você selecionou 10h. Para continuar com o horário selecionado, diga "Sim".
Sim
Vamos agendar um horário no endereço do banco 1600 Amphitheatre Pkwy, Mountain View, CA 94043 em 2023-09-23 às 10h. Isso está correto?
Sim
Certo, agendamos o horário. Seu número de confirmação é 818452. Quer agendar outro horário?
Não, só isso.
Agradeço seu contato. Tenha um bom dia!

Um novo cliente agenda vários horários

O agente identifica que o usuário não foi autenticado anteriormente e coleciona o número de telefone do usuário. O usuário solicita um horário virtual para discutir empréstimos. A primeira preferência do usuário para data e hora não está disponível. Por isso, o agente oferece horários disponíveis ao usuário. O usuário seleciona um horário disponível e o agendamento é programado. O usuário confirma que gostaria de agendar um segundo horário, e o agente agenda um segundo horário.

Entrada do usuário Resposta do agente
O agente coleta o número de telefone do usuário usando o componente predefinido Coletar número de telefone
Ótimo, já coletamos o número de telefone.

Antes de agendar um horário, vamos fazer algumas perguntas. Você pode nos informar o motivo do seu agendamento?
Quero pedir um empréstimo
Você quer uma ligação, uma videochamada ou uma reunião presencial em uma das nossas filiais?
O agendamento virtual está ok
Informe a data de preferência para o agendamento. Diga o mês, o dia e o ano. Lembre-se de que nossas filiais estão abertas de segunda a sexta-feira, das 9h às 17h, e aos sábados, das 9h às 13h.
O agente coleta a data de consulta preferida do usuário usando o componente predefinido Coleta de data de nascimento
Ótimo, já coletamos sua data preferida.

Informe o horário de sua preferência.
3:00 seria bom para mim
Você selecionou 15h. Para prosseguir com o horário selecionado, diga "Sim".
Sim
Vamos agendar uma consulta com nosso consultor em 03/10/2023, às 15h. É isso mesmo?
Sim
Certo, agendamos o horário. Seu número de confirmação é 754731.

Quer agendar outro horário?
Sim
Antes de agendar um horário, vamos fazer algumas perguntas. Você pode nos informar o motivo do seu agendamento?
Preciso de um horário para meu cartão de crédito
Você quer agendar uma ligação ou videochamada com um dos nossos representantes?
Telefone
Informe a data de preferência para o agendamento. Diga o mês, o dia e o ano. Lembre-se de que nossas filiais estão abertas de segunda a sexta-feira, das 9h às 17h, e aos sábados, das 9h às 13h.
O agente coleta a data de consulta preferida do usuário usando o componente predefinido Coleta de data de nascimento
Ótimo, já coletamos sua data preferida.

Informe o horário de sua preferência.
As 8h da manhã serve?
Você selecionou 8h. Para continuar com o horário selecionado, diga "Sim".
Sim
O horário selecionado não está disponível. Temos disponibilidade para 11h30, 12h30, 13h30 e 15h em 6/10/2023. Você quer mudar o horário ou agendar um horário em outra data?
Ok, vamos fazer 1:30
Você selecionou 13h30. Para prosseguir com o horário selecionado, diga "Sim".
Sim
Vamos agendar um horário com nosso consultor em 06/10/2023 às 13h30. É isso mesmo?
Sim
Certo, agendamos o horário. Seu número de confirmação é 714637.

Quer agendar outro horário?
Não, isso é tudo
Agradeço seu contato. Tenha um bom dia!

Convenções de nomenclatura

Esse componente predefinido usa as seguintes convenções de nomenclatura:

Recurso Formato Exemplo
Fluxo [Nome do componente] Agendar horário
Intent específica do componente prebuilt_components_[component_name]_[intent_name] prebuilt_components_arrange_appt_change_date_slot
Tipo da entidade 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

Os parâmetros de entrada são usados para configurar determinados comportamentos do componente. Os parâmetros serão usados por uma ou mais condições no fluxo para determinar como o componente vai se comportar. Os parâmetros no escopo do fluxo precisam ser definidos na página inicial do componente, conforme descrito abaixo. Os parâmetros no escopo da sessão podem ser definidos por um fluxo de chamada ou na página inicial do componente.

Esse componente predefinido aceita os seguintes parâmetros de entrada:

Nome do parâmetro Descrição Formato da entrada
$session.params.phone_number (opcional) Número de telefone registrado do cliente usado para autenticação. string
$session.params.auth_level (opcional) Indica o nível de autenticação do autor da chamada. integer
$flow.all_appointment_type Especifica a lista de motivos de agendamento para os quais todos os tipos de agendamento estão disponíveis. O valor padrão é ["loans", "wealth"]. Lista (string)
$flow.video_phone_appointment_type Especifica a lista de motivos de agendamento para os quais todos os tipos de agendamento estão disponíveis. O valor padrão é ["cards"]. Lista (string)
$flow.appointment_services Especifica a lista de tipos de agendamento em que a localização da filial não é necessária e não será coletada do usuário. O valor padrão é ["video", "phone"]. Lista (string)
$flow.working_hours Especifica o horário de funcionamento da filial, por exemplo, "Monday to Friday: 9 AM to 5 PM, Saturday: 9 AM to 1 PM". string
$session.params.arrange_appointment_max_days Especifica o número máximo de dias após a data atual permitido para agendar um horário. Por padrão, esse valor é 90, indicando que as datas de agendamento podem ser marcadas até 90 dias após a data atual. Esse parâmetro é definido na rota true da página inicial. integer
flow.max_retry_count Especifica o número de novas tentativas permitidas ao coletar informações do usuário. O valor padrão é 3. integer

Para configurar os parâmetros de entrada desse componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Build.
  5. Clique no componente importado na seção Fluxos.
  6. Clique na página inicial na seção Páginas.
  7. Clique na rota true na página inicial.
  8. Na janela "Rota", edite os valores das configurações predefinidas de parâmetros conforme necessário.
  9. Clique em Salvar.

Parâmetros de saída

Os parâmetros de saída são parâmetros de sessão que permanecem ativos após a saída do componente. Esses parâmetros contêm informações importantes coletadas pelo componente. Esse componente predefinido fornece valores para os seguintes parâmetros de saída:

Nome do parâmetro Descrição Formato da saída
phone_number Número de telefone local do usuário, sem o código do país, usado para identificar o usuário. string
transfer_reason Esse parâmetro indica o motivo da saída do fluxo, se não foi bem-sucedido. O valor retornado é um destes:

agent: o usuário final solicitou um agente humano em algum momento durante a conversa.

denial_of_information: o usuário final recusou-se a compartilhar as informações solicitadas pelo componente.

max_no_input: a conversa atingiu o número máximo de novas tentativas para eventos sem entrada. Consulte Eventos integrados sem entrada.

max_no_match: a conversa atingiu o número máximo de novas tentativas para eventos sem correspondência. Consulte Eventos integrados sem correspondência.

webhook_error: ocorreu um erro de webhook. Consulte webhook.error built-in event.

webhook_not_found: um URL de webhook não pode ser acessado. Consulte Webhook.error.not-found built-in event.
string

Configuração básica

Para configurar esse componente pré-criado:

  1. Importe o componente pré-criado.
  2. Configure os webhooks flexíveis fornecidos com a configuração que descreve seus serviços externos. Consulte a configuração de webhook abaixo.

Configuração do webhook

Para usar esse componente, você precisa configurar os webhooks flexíveis incluídos para extrair as informações necessárias dos seus serviços externos.

Acessar conta

O webhook prebuilt_components_arrange_appointment:get_account é usado pelo componente para receber detalhes da conta de um número de telefone fornecido, se uma conta registrada existir.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$session.params.phone_number Número de telefone local do usuário, sem o código do país, usado para identificar o usuário. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
account_count Número de contas associadas ao número de telefone registrado. integer
cards_count Número de cartões associados ao número de telefone registrado. integer
loans_count Número de empréstimos associados ao número de telefone registrado. integer
mortgage_count Número de hipotecas associadas ao número de telefone registrado. integer
branch_code Código da filial associado ao número de telefone registrado, usado para identificar uma filial específica. string

Para configurar o webhook da conta de acesso para esse componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_arrange_appointment:get_account.
  7. Substitua o URL no campo URL do webhook dos agentes de conversação (Dialogflow CX) pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para formar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do seu webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de autenticação conforme necessário.
  11. Clique em Salvar.

Acessar ramificação

O webhook prebuilt_components_arrange_appointment:get_branch é usado pelo componente para recuperar informações sobre um local de filial com base em um código de filial.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$flow.branch_code Código da filial que identifica uma filial específica. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
branch_address Endereço da agência. string

Para configurar o webhook "Get branch" para este componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_arrange_appointment:get_branch.
  7. Substitua o URL no campo URL do webhook dos agentes de conversação (Dialogflow CX) pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para formar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do seu webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de autenticação conforme necessário.
  11. Clique em Salvar.

Filial disponível

O webhook prebuilt_components_arrange_appointment:available_branch é usado pelo componente para receber o local da filial mais próxima com base em um CEP.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$flow.zip_code CEP fornecido pelo usuário final. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
branch_address Endereço da agência. string

Para configurar o webhook de ramificação disponível para esse componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_arrange_appointment:available_branch.
  7. Substitua o URL no campo URL do webhook dos agentes de conversação (Dialogflow CX) pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para formar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do seu webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de autenticação conforme necessário.
  11. Clique em Salvar.

Conferir os horários disponíveis

O webhook prebuilt_components_arrange_appointment:get_available_slots é usado pelo componente para verificar os horários disponíveis para a data e o tipo de horário de preferência de um usuário.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$flow.preferred_date Data preferencial para o agendamento fornecida pelo usuário final no formato "AAAA-MM-DD". string
$flow.appointment_type O tipo de horário. string
$flow.branch_code Código da agência que identifica a localização única da agência selecionada pelo usuário final. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
available_slots Lista de horários disponíveis para a data especificada no formato "HH:MM XM", por exemplo, ["09:00 AM", "2:30 PM"]. Se não houver slots disponíveis, esse parâmetro será uma lista vazia []. Lista (string)

Para configurar o webhook "Get available slots" para este componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_arrange_appointment:get_available_slots.
  7. Substitua o URL no campo URL do webhook dos agentes de conversação (Dialogflow CX) pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para formar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do seu webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de autenticação conforme necessário.
  11. Clique em Salvar.

Enviar horário

O webhook prebuilt_components_arrange_appointment:submit_appointment é usado pelo componente para agendar um horário para a data, hora, agência, motivo e tipo de horário selecionados pelo usuário.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$session.params.phone_number Número de telefone local do usuário, sem o código do país, usado para identificar o usuário. string
$flow.preferred_date Data preferencial para o agendamento fornecida pelo usuário final no formato "AAAA-MM-DD". string
$flow.preferred_slot Horário preferido para o agendamento fornecido pelo usuário final no formato "HH:MM XM". string
$flow.appointment_reason O motivo do agendamento. string
$flow.appointment_type O tipo de horário. string
$flow.branch_code Código da agência que identifica a localização única da agência selecionada pelo usuário final. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
request_number O número da solicitação do agendamento. integer

Para configurar o webhook "Enviar horário" para este componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_arrange_appointment:submit_appointment.
  7. Substitua o URL no campo URL do webhook dos agentes de conversação (Dialogflow CX) pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para formar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do seu webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de autenticação conforme necessário.
  11. Clique em Salvar.

Concluído

Seu agente e os webhooks dele estão configurados e prontos para testes.