O componente pré-criado de agendamento de horário 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 usa 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 agendamento
Esse componente é compatível com várias categorias de motivos de agendamento e oferece diferentes tipos de agendamentos, dependendo do motivo selecionado pelo usuário.
| Motivo do agendamento | Tipos de agendamento disponíveis |
|---|---|
| Empréstimos | Presencial, virtual, telefone |
| Hipotecas | Presencial, virtual, telefone |
| Gestão patrimonial | Presencial, virtual, telefone |
| Cartões de crédito | Virtual, telefone |
| Outro | Telefone |
As categorias de agendamento 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 pré-criados, este componente tem as seguintes limitações:
- Esse componente não criptografa dados.
Diálogos de exemplo
Os exemplos de diálogos a seguir demonstram cenários comuns processados por esse componente pré-criado. As caixas de diálogo de amostra 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 atual. 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 confirma que a data e o horário preferidos do usuário estão disponíveis. O agente confirma o horário e o local e agenda o compromisso.
| Entrada do usuário | Resposta do agente |
|---|---|
| Antes de agendar um horário, vamos fazer algumas perguntas. Pode nos dizer o motivo da consulta? | |
| Quero falar com alguém sobre gestão de patrimônio | |
| Você quer agendar um atendimento por telefone, videochamada ou presencial em uma das nossas agências? | |
| Quero ir pessoalmente | |
| Certo, 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. Lembre-se de que nossas agências 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 preferência do usuário para o agendamento usando o componente pré-criado Coleta de data de nascimento | |
| Pronto, já temos a data de sua preferência. Agora, informe o horário. |
|
| 10h | |
| Você selecionou 10h. Para continuar com o horário escolhido, 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 | |
| Pronto, o horário foi agendado. Seu número de confirmação é 818452. Quer agendar outro horário? | |
| Não, só isso. | |
| Agradeço seu contato. Tenha um ótimo dia! |
Novo cliente agenda vários horários
O agente identifica que o usuário não foi autenticado anteriormente e coleta o número de telefone dele. O usuário solicita uma consulta virtual para discutir empréstimos. A primeira preferência de data e hora do usuário 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 é concluído. O usuário confirma que quer agendar um segundo horário, e o agente conclui o agendamento.
| 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, já coletamos o número de telefone. Antes de agendar um horário, vamos fazer algumas perguntas. Pode nos dizer o motivo da consulta? |
|
| Quero pedir um empréstimo | |
| Você quer agendar um atendimento por telefone, videochamada ou presencial em uma das nossas agências? | |
| A consulta virtual está boa | |
| Informe a data de sua preferência para agendar um horário. Diga o mês, o dia e o ano. Lembre-se de que nossas agências 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 preferência do usuário para o agendamento usando o componente pré-criado Coleta de data de nascimento | |
| Pronto, já temos a data de sua preferência. Agora, informe o horário. |
|
| 15h seria bom para mim | |
| Você selecionou 15h. Para continuar com o horário selecionado, diga "sim". | |
| Sim | |
| Vamos agendar uma reunião com nosso consultor em 03/10/2023 às 15h. É isso mesmo? | |
| Sim | |
| Pronto, o horário foi agendado. Seu número de confirmação é 754731. Quer agendar outro horário? |
|
| É. | |
| Antes de agendar um horário, vamos fazer algumas perguntas. Pode nos dizer o motivo da consulta? | |
| Preciso de um horário para meu cartão de crédito | |
| Você quer agendar uma ligação ou videochamada com um dos representantes da nossa agência? | |
| Telefone | |
| Informe a data de sua preferência para agendar um horário. Diga o mês, o dia e o ano. Lembre-se de que nossas agências 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 preferência do usuário para o agendamento usando o componente pré-criado Coleta de data de nascimento | |
| Pronto, já temos a data de sua preferência. Agora, informe o horário. |
|
| Pode ser às 8h? | |
| Você selecionou 8h. Para continuar com o horário escolhido, 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 para outra data? | |
| Ok, vamos fazer às 13h30 então | |
| Você selecionou 13h30. Para continuar com o horário selecionado, diga "sim". | |
| Sim | |
| Vamos agendar uma reunião com nosso consultor em 06/10/2023 às 13h30. É isso mesmo? | |
| Sim | |
| Pronto, o horário foi agendado. O número de confirmação é 714637. Quer agendar outro horário? |
|
| Não, é só isso. | |
| Agradeço seu contato. Tenha um ótimo dia! |
Convenções de nomenclatura
Este componente pré-criado usa as seguintes convenções de nomenclatura:
| Recurso | Formatar | Exemplo |
|---|---|---|
| Flow | [Nome do componente] | Agendar horário |
| Intenção 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 com escopo de 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 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 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 agência, 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 um agendamento. 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, abra as 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 na 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 após 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, se não tiver sido bem-sucedido. O valor retornado é um dos seguintes:agent: o usuário final solicitou um agente humano em algum momento da 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 sem correspondência.webhook_error: ocorreu um erro de webhook. Consulte o evento integrado webhook.error. webhook_not_found: um URL do webhook estava inacessível. Consulte o 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 a configuração que descreve seus serviços externos. Consulte a configuração do webhook abaixo.
Configuração do webhook
Para usar esse componente, você precisa configurar 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 houver
uma conta registrada.
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 de agência exclusivo. | string |
Para configurar o webhook de recebimento de conta para este componente, expanda 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 com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para criar o formato de solicitação 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 de campo 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 o local de uma agência com base em um código
da 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 de recebimento de ramificação para este 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_branch.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para criar o formato de solicitação 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 de campo retornados.
- Revise e atualize as configurações de Autenticação conforme necessário.
- Clique em Salvar.
Agência disponível
O webhook prebuilt_components_arrange_appointment:available_branch é usado
pelo componente para encontrar a agência mais próxima de 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 este 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:available_branch.
- Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para criar o formato de solicitação 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 de campo 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 para a data e o tipo de agendamento 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 agendamento fornecida pelo usuário final no formato "AAAA-MM-DD". | string |
| $flow.appointment_type | O tipo de agendamento. | string |
| $flow.branch_code | Código da agência que identifica o local exclusivo da agência 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 horários disponíveis, esse parâmetro será uma lista vazia []. |
Lista (string) |
Para configurar o webhook "Receber horários disponíveis" 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 com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para criar o formato de solicitação 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 de campo 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 para a data,
o horário, a agência, o motivo e o 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 preferida para o agendamento fornecida pelo usuário final no formato "AAAA-MM-DD". | string |
| $flow.preferred_slot | Horário preferencial 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 agendamento. | string |
| $flow.branch_code | Código da agência que identifica o local exclusivo da agência 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 de envio de agendamento 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 com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
- Revise e atualize o corpo da solicitação para criar o formato de solicitação 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 de campo 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 devem estar configurados e prontos para teste.