O componente pré-criado de agendamento de horários permite que clientes novos e atuais marquem horários. Esse componente usa uma versão personalizada do componente pré-criado Coleta de data de nascimento para coletar datas de agendamento e os componentes pré-criados Coleta de número de telefone e Coleta de CEP para coletar informações sobre o usuário e o local do agendamento.
Motivos e tipos de horários
Esse componente é compatível com várias categorias de motivos para agendamento e oferece diferentes tipos de horários, dependendo do motivo selecionado pelo usuário.
| Motivo do horário | Tipos de horários disponíveis |
|---|---|
| Empréstimos | Presencial, virtual, por telefone |
| Hipotecas | Presencial, virtual, por telefone |
| Gestão de patrimônio | Presencial, virtual, por telefone |
| Cartões de crédito | Virtual, telefone |
| Outro | Telefone |
As categorias de compromissos podem ser personalizadas modificando a entidade personalizada prebuilt_components_arrange_appt_reason. Os tipos de consulta disponíveis para cada categoria podem ser configurados
modificando os parâmetros de entrada
de cada tipo de consulta.
Limitações
Além das limitações comuns dos componentes pré-criados, este componente pré-criado tem as seguintes limitações:
- Esse componente não criptografa nenhum dado.
Diálogos de exemplo
As caixas de diálogo de exemplo a seguir demonstram cenários comuns processados por esse componente pré-criado. Os diálogos 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.
Um 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 a opção de agendar um horário presencial. O agente confirma que o usuário quer ir à agência mais próxima do endereço registrado e que a data e hora preferidas estão disponíveis. O agente confirma o horário e o local e agenda o horário com sucesso.
| Entrada do usuário | Resposta do agente |
|---|---|
| Antes de agendar um horário, vamos fazer algumas perguntas. Você pode nos dizer o motivo do seu horário? | |
| Quero falar com alguém sobre gestão de patrimônio | |
| Você quer marcar um horário por telefone, videochamada ou presencial em uma das nossas agências? | |
| Quero ir pessoalmente | |
| Ok, você quer agendar um horário na agência localizada em 1600 Amphitheatre Pkwy, Mountain View, CA 94043? | |
| Sim | |
| Informe a data de sua preferência para agendar um horário. Diga o mês, o dia e o ano. Nossas agências funcionam 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 pré-criado Coleta de data de nascimento | |
| Ótimo, já coletamos sua data de preferência. Agora, 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 23/09/2023 às 10h. Está correto? | |
| Sim | |
| Ok, o horário foi agendado. Seu número de confirmação é 818452. Quer agendar outro horário? | |
| Não, só isso. | |
| Agradecemos 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 antes e coleta o número de telefone dele. O usuário pede um horário virtual para conversar sobre empréstimos. A primeira preferência do usuário por data e hora não está disponível, então o agente oferece horários disponíveis. O usuário seleciona um horário disponível e o agendamento é feito. O usuário confirma que quer marcar um segundo horário, e o agente faz isso.
| Entrada do usuário | Resposta do agente |
|---|---|
| O agente coleta o número de telefone do usuário usando o componente pré-criado Coleta de número de telefone | |
| Ótimo, terminamos de coletar o número de telefone. Antes de agendar um horário, vamos fazer algumas perguntas. Você pode nos dizer o motivo do seu horário? |
|
| Quero pedir um empréstimo | |
| Você quer marcar um horário por telefone, videochamada ou presencial em uma das nossas agências? | |
| O horário virtual está bom | |
| Informe a data de sua preferência para agendar um horário. Diga o mês, o dia e o ano. Nossas agências funcionam 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 pré-criado Coleta de data de nascimento | |
| Ótimo, já coletamos sua data de preferência. Agora, informe o horário de sua preferência. |
|
| 15h seria bom para mim | |
| Você selecionou 15h. Para continuar com o horário selecionado, diga "sim". | |
| Sim | |
| Vamos agendar um horário com nosso consultor para 03/10/2023 às 15h. É isso mesmo? | |
| Sim | |
| Ok, o horário foi agendado. Seu número de confirmação é 754731. Você quer agendar outro horário? |
|
| Sim | |
| Antes de agendar um horário, vamos fazer algumas perguntas. Você pode nos dizer o motivo do seu horário? | |
| Preciso marcar um horário para meu cartão de crédito | |
| Você quer marcar uma consulta por telefone ou videochamada com um dos nossos representantes da agência? | |
| Telefone | |
| Informe a data de sua preferência para agendar um horário. Diga o mês, o dia e o ano. Nossas agências funcionam 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 pré-criado Coleta de data de nascimento | |
| Ótimo, já coletamos sua data de preferência. Agora, informe o horário de sua preferência. |
|
| As 8h está bom? | |
| 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 06/10/2023. Você quer mudar o horário ou agendar um horário para outra data? | |
| Ok, vamos fazer 1:30 então | |
| Você selecionou 13h30. Para continuar com o horário selecionado, diga "sim". | |
| Sim | |
| Vamos agendar um horário com nosso consultor para 06/10/2023 às 13h30. É isso mesmo? | |
| Sim | |
| Ok, o horário foi agendado. Seu número de confirmação é 714637. Quer agendar outro horário? |
|
| Não, é isso. | |
| Agradecemos seu contato. Tenha um bom dia! |
Convenções de nomenclatura
Esse componente pré-criado 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 deve 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 desse componente.
Esse componente pré-criado 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 caller. | integer |
| $flow.all_appointment_type | Especifica a lista de motivos de agendamento para os quais todos os tipos de consultas 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 consultas estão disponíveis. O valor padrão é ["cards"]. |
Lista (string) |
| $flow.appointment_services | Especifica a lista de tipos de consulta para os quais o local da agência não é obrigatório e não será coletado 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 permitidos para uma reserva de horário. Por padrão, esse valor é 90, indicando que as datas de agendamento podem ser reservadas 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, expanda para instruções.
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Build.
- Clique no componente importado na seção Fluxos.
- Clique em "Página inicial" na seção Páginas.
- Clique na rota true na página inicial.
- Na janela "Rota", edite os valores de Predefinições de parâmetros conforme necessário.
- Clique em Salvar.
Parâmetros de saída
Os parâmetros de saída são parâmetros de sessão que permanecem ativos depois de sair do componente. Esses parâmetros contêm informações importantes coletadas pelo componente. Esse componente pré-criado 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, caso ele não tenha sido concluído. 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 se recusou 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 de não correspondência.webhook_error: ocorreu um erro de webhook. Consulte evento integrado webhook.error. webhook_not_found: um URL de webhook estava inacessível. Consulte evento integrado webhook.error.not-found. |
string |
Configuração básica
Para configurar esse componente pré-criado:
- Importe o componente pré-criado.
- Configure os webhooks flexíveis fornecidos com uma configuração que descreve seus serviços externos. Consulte a configuração de webhook abaixo.
Configuração do webhook
Para usar esse componente, configure os webhooks flexíveis incluídos para recuperar 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 agência associado ao número de telefone registrado, usado para identificar um local exclusivo. | string |
Para configurar o webhook "Get account" desse componente, expanda para ver as instruções.
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Webhooks.
- Selecione o webhook prebuilt_components_arrange_appointment:get_account.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para formar o formato adequado para seu webhook.
- Revise e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores dos campos retornados.
- Revise e atualize as configurações de Autenticação conforme necessário.
- 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 agência com base em um código
de agência.
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 agência que identifica um local exclusivo. | 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" desse componente, expanda para ver as instruções.
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Webhooks.
- Selecione o webhook prebuilt_components_arrange_appointment:get_branch.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para formar o formato adequado para seu webhook.
- Revise e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores dos campos retornados.
- Revise e atualize as configurações de Autenticação conforme necessário.
- Clique em Salvar.
Ramal disponível
O webhook prebuilt_components_arrange_appointment:available_branch é usado
pelo componente para receber a agência 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, expanda para ver as instruções.
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Webhooks.
- Selecione o webhook prebuilt_components_arrange_appointment:available_branch.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para formar o formato adequado para seu webhook.
- Revise e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores dos campos retornados.
- Revise e atualize as configurações de Autenticação conforme necessário.
- Clique em Salvar.
Receber slots disponíveis
O webhook prebuilt_components_arrange_appointment:get_available_slots é usado pelo componente para verificar os horários disponíveis na data e no tipo de consulta preferidos 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 preferida para o horário fornecida pelo usuário final no formato "AAAA-MM-DD". | string |
| $flow.appointment_type | O tipo de serviço do horário. | string |
| $flow.branch_code | Código da agência que identifica o local exclusivo selecionado 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 esse componente, abra as instruções.
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Webhooks.
- Selecione o webhook prebuilt_components_arrange_appointment:get_available_slots.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para formar o formato adequado para seu webhook.
- Revise e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores dos campos retornados.
- Revise e atualize as configurações de Autenticação conforme necessário.
- Clique em Salvar.
Enviar horário
O webhook prebuilt_components_arrange_appointment:submit_appointment
é usado pelo componente para agendar um horário na data, hora, agência, motivo e tipo de consulta 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 preferida para o horário fornecida pelo usuário final no formato "AAAA-MM-DD". | string |
| $flow.preferred_slot | Horário preferido para a consulta fornecido pelo usuário final no formato "HH:MM XM". | string |
| $flow.appointment_reason | O motivo do atendimento. | string |
| $flow.appointment_type | O tipo de serviço do horário. | string |
| $flow.branch_code | Código da agência que identifica o local exclusivo selecionado 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 horário agendado. | integer |
Para configurar o webhook "Enviar horário" para esse componente, abra as instruções.
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Webhooks.
- Selecione o webhook prebuilt_components_arrange_appointment:submit_appointment.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço que você quer integrar. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para formar o formato adequado para seu webhook.
- Revise e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores dos campos retornados.
- Revise e atualize as configurações de Autenticação conforme necessário.
- Clique em Salvar.
Concluído
Seu agente e os webhooks dele agora estão configurados e prontos para teste.