Neste guia, mostramos como usar o console do Dialogflow CX para criar e testar um agente de pedidos de camisetas usando fluxos. Ao interagir com esse agente, peça o local da loja, o horário de funcionamento ou faça um pedido de camiseta.
O diagrama a seguir mostra o agente concluído para este guia:

Antes de começar
Conclua as seguintes tarefas antes de ler este guia:
- Leia os conceitos básicos de fluxo.
- Execute as etapas de configuração.
Criar um agente
Crie um agente para este guia:
- Abra o console do Dialogflow CX.
- Criar ou escolher um projeto
- Clique em Criar agente.
- Selecione Build your own.
- Preencha o formulário para as configurações básicas do agente.
- Insira um nome de exibição.
- Selecione um local. Clique no botão Editar se quiser mudar as configurações de localização avançadas.
- Selecione um fuso horário.
- Selecione o idioma padrão.
- Como opção, ative o Cloud Logging.
- Clique em Salvar.
Importação opcional de agente
Este guia mostra as etapas para criar um agente de pedidos de camisetas.
Para pular as etapas do console, faça o download do agente e importe-o.
Fluxo e intents padrões
O fluxo e as intents a seguir são criados automaticamente para um novo agente.
Para encontrar as intents, clique em Gerenciar e em Intents. Para encontrar o fluxo, clique em Criar.
| X | Item |
|---|---|
| Intent de boas-vindas padrão | A intent de boas-vindas padrão tem frases de treinamento como "Oi" ou "Olá", que devem corresponder à entrada inicial do usuário final. Você pode editar essa intent conforme necessário. |
| Intent negativa padrão | A intent negativa padrão pode ser usada para adicionar frases de treinamento ao intent que atuam como exemplos negativos. |
| Fluxo inicial padrão | O fluxo inicial padrão pode ser usado como um fluxo único. É o fluxo que será usado neste guia. Para agentes mais complexos, é possível adicionar mais fluxos. Esse fluxo tem uma rota de intent padrão com o Intent de boas-vindas padrão como um requisito de intent. |
Testar a mensagem de resposta de boas-vindas padrão
O fluxo e as intents padrão podem lidar com uma conversa básica com apenas uma mensagem de boas-vindas.
Para testar o novo agente:
- Clique no botão Testar agente para abrir o simulador.
- Digite
hellono campo de texto e pressione Enter. - O agente responde com uma mensagem de recepção padrão.
- Feche o simulador.

O agente executa as seguintes etapas para essa entrada do usuário final:
- Quando você fornece uma entrada, o agente avalia os manipuladores de estado no escopo do fluxo de início padrão ativo e da página inicial do fluxo.
- O agente identifica uma rota que corresponde à Intent de Boas-Vindas Padrão e a executa.
- O agente seleciona uma das mensagens de resposta de fulfillment aleatoriamente e a adiciona à fila de respostas.
- Como a rota não tem um destino de transição, o fluxo e a página ativos permanecem inalterados.
- O agente envia o conteúdo da fila de respostas para você.
Editar a mensagem de resposta de boas-vindas
Para editar a mensagem de resposta de boas-vindas:
- Clique na guia Criar.
- Selecione o Fluxo inicial padrão na seção Fluxos.
- Clique no nó Página inicial no gráfico.
- Encontre a rota com a Default Welcome Intent como requisito de intent e clique nela para abrir o painel de edição de rotas.
- Na seção de fulfillment, na subseção de respostas do agente, exclua todas as mensagens de resposta.
- Adicione
Hello, this is a shirt ordering virtual agent. How can I help you?como a única resposta. - Clique em Salvar.
- Feche o painel de edição de trajeto.

Testar a mensagem de resposta de boas-vindas atualizada
Para testar a resposta atualizada:
- Clique no botão Testar agente para abrir o simulador.
- Digite
hellono campo de texto e pressione Enter. - O agente responde com a nova mensagem.
- Feche o simulador.
Página "Local da loja"
Uma conversa do Dialogflow CX (sessão) pode ser descrita e visualizada como uma máquina de estado. Os estados de uma sessão do CX são representados por páginas. Como você só tem uma página, o agente não é muito útil. Nesta seção, crie outra página que lide com perguntas sobre o local da loja.
Criar a intent de local
Uma intent categoriza a intenção do usuário final em cada conversa.
Para criar uma intent que é correspondida quando a entrada do usuário final solicita o local da loja:
- Selecione a guia Manage.
- Clique em Intents.
- Clique em Criar.
- Insira
store.locationpara o nome de exibição da intent. - Digite as seguintes frases de treinamento:
Where is the store?DirectionsTell me the addressWhere do I pick up my order?How do I get there?Where is the store located?What street are you on?What is your address?How do I get to your store?Where are you located?
- Clique em Save.

Criar a página "Local"
Crie uma nova página. É possível adicionar um fulfillment de entrada a essa página que é executado sempre que ela se torna ativa. Esse fulfillment de entrada deve ter uma mensagem de resposta que forneça o local da loja.
Para criar a página do local da loja:
- Clique na guia Criar.
- Selecione o Fluxo inicial padrão na seção Fluxos.
- Clique no botão Adicionar add na seção Páginas. Uma entrada de texto para o nome de exibição da página é mostrada.
- Digite
Store Locationcomo o nome de exibição da página e pressione Enter. - Clique no botão more_vert more_vert ao lado do nome de exibição da página.
- Selecione Edit para abrir o painel de edição de página.
- Encontre Fulfillment de entrada e clique em Editar fulfillment.
- Clique em +Adicionar resposta de diálogo para inserir
Our store is located at 1007 Mountain Drive, Gotham City, NJ.no campo Diálogo do agente da seção Respostas do agente. - Clique em Salvar.
- Feche o painel de edição da página.

Adicionar uma rota de intent de local ao fluxo
Agora, crie uma rota que tenha a página "Localização da loja" como destino de transição. Quando essa rota é chamada, a sessão passa para a página "Localização da loja". Essa rota é aplicada ao Fluxo de início padrão, então ela está no escopo enquanto o fluxo estiver ativo.
Para um agente de fluxo único, isso significa que a rota está sempre no escopo. A qualquer momento da conversa, o usuário final pode solicitar o local da loja, e essa rota será chamada.
Para criar a rota:
- Clique na guia Criar.
- Selecione o Fluxo inicial padrão na seção Fluxos.
- Clique no nó Página inicial no gráfico. Esta é a página inicial do Fluxo inicial padrão.
- Adicione a rota de intent a seguir:
- Intenção:
store.location - Página de transição:
Store Location
- Intenção:
- Clique em Save.
- Feche o painel de edição da rota de intent.

Depois de fechar o painel de edição, um nó para a nova página vai aparecer no gráfico. A seta do nó Start para o nó Localização da loja mostra como a sessão faz a transição entre os nós.
Testar a página do local da loja
Para testar a página do local da loja, faça o seguinte:
- Clique no botão Testar agente para abrir o simulador.
- Digite
What is the store location?e pressione a tecla Enter. - O agente fornece o endereço
- Feche o simulador.
O agente executa as seguintes etapas para essa entrada do usuário final:
- Quando você fornece uma entrada, o agente avalia os manipuladores de estado no escopo do fluxo de início padrão ativo e da página inicial do fluxo.
- O agente identifica uma rota que corresponde à intent store.location e a executa.
- Como a rota não tem mensagens de resposta de fulfillment, o agente não adiciona nada à fila de respostas.
- O agente faz a transição da sessão para a página Localização da loja.
- O agente adiciona a mensagem de resposta de fulfillment de entrada da página Localizador de lojas à fila de respostas.
- O agente envia o conteúdo da fila de respostas para você.
Página de horário de funcionamento usando a criação inline
Nesta seção, você vai criar uma página de horário de funcionamento que lida com perguntas do usuário final sobre o horário de funcionamento. Anteriormente, você criou páginas e intents nas guias Criar e Gerenciar. Nesta seção, mostramos uma maneira mais rápida de criar esses componentes com a criação inline.
Para criar inline uma rota de intent, um intent e uma página:
- Clique no nó Página inicial no gráfico.
- Ao lado de Rotas, clique em add Adicionar. O painel de edição da rota de intent é aberto.
- Na seção Intent, selecione New intent. O painel de edição de intent é aberto.
Crie uma intent
store.hourscom as seguintes frases de treinamento:What are your store hours?What time do you close?
Clique em Salvar. O painel de edição de intents será fechado.
Acesse a seção Transição no painel de edição de rotas.
Para a transição de Página, selecione Nova página.
Digite
Store Hoursna entrada de texto.Clique em Salvar. A nova página aparece no gráfico porque agora há uma transição que leva até ela.
Feche o painel de edição de trajeto.
Adicione um fulfillment de entrada que forneça o horário de funcionamento da loja, como você fez para Localizador de lojas.
Feche todos os painéis de edição.
Página de itens do pedido
Em seguida, crie uma página que use parâmetros de formulário. Quando você solicita um novo pedido de camiseta, a sessão passa para esta página, que coleta o tamanho e a cor do pedido.
Criar um tipo de entidade personalizado para o tamanho da camisa
Os tipos de entidade controlam como os dados da entrada do usuário final são extraídos. O Dialogflow CX fornece entidades de sistema predefinidas que correspondem a tipos de dados comuns, como datas, horários, cores e endereços de e-mail. Também é possível criar entidades personalizadas para dados específicos.
Para esse agente, é possível usar uma entidade do sistema para a cor da camisa, mas é necessário criar uma entidade personalizada para o tamanho da camisa.
O tipo de entidade de tamanho precisa ter as seguintes entradas de entidade:
| Entidade | Sinônimos |
|---|---|
| Pequeno | pequeno, muito pequeno, extra pequeno |
| Média | médio, tamanho único, comum |
| Grande | grande, muito grande, extra grande |
Para criar a entidade:
- Selecione a guia Manage.
- Clique em Tipos de entidade.
- Clique em Criar.
- Defina o nome de exibição como
size. - Adicione as entradas de entidade listadas na tabela.
- Clique em Salvar.
Criar um intent de pedido com parâmetros de intent
Você precisa de uma intent que seja correspondida quando o usuário final solicitar um novo pedido de camiseta. Essa intent também precisa capturar opcionalmente a cor ou o tamanho da camiseta escolhida se o usuário final fornecer essas informações inicialmente.
Os parâmetros são usados para capturar e referenciar valores fornecidos pelo usuário final durante uma sessão. Cada parâmetro tem um nome de exibição e um tipo de entidade. Ao contrário da entrada não processada do usuário final, os parâmetros são dados estruturados que podem ser usados para executar uma lógica ou gerar respostas.
Controle como os dados do usuário final são extraídos com a correspondência de intent anotando partes das frases de treinamento e configurando os parâmetros de intent associados.
Por exemplo, considere uma frase de treinamento como "Qual é a previsão do tempo para amanhã em
Tóquio?" Você pode anotar "amanhã" com um parâmetro date e "Tóquio" com um parâmetro location. Quando você anota partes de uma frase de treinamento, o Dialogflow CX
reconhece que essas partes são apenas exemplos de valores reais que podem ser
fornecidos pelos usuários finais no tempo de execução.
Para uma entrada do usuário final como "Qual é a previsão do tempo para sexta-feira em Sydney?",
O Dialogflow CX pode extrair o parâmetro date de "sexta-feira" e o parâmetro location de "Sydney".
Para anotar uma frase de treinamento no console:
- Destaque a parte da frase de treinamento que você quer anotar.
- Selecione o tipo de entidade necessário na lista.
- O Dialogflow cria um parâmetro na tabela de parâmetros a seguir.
Crie uma intent chamada order.new seguindo estas etapas:
- Para cada frase que contém uma cor, anote a cor com um parâmetro
colore o tipo de entidade do sistema@sys.color. - Para cada frase que contém um tamanho de camiseta, anote o tamanho com um parâmetro
sizee o tipo de entidade personalizada@sizeque você criou anteriormente.
As frases e os parâmetros de treinamento precisam ser semelhantes a estes:

Criar uma página de pedidos
Crie uma nova página de pedidos:
- Nome de exibição:
New Order - Atendimento de entrada:
Ok, let's start a new order.
Adicionar um formulário à página do pedido
Para cada página, é possível definir um formulário, que é uma lista de parâmetros que devem ser coletados do usuário final para a página. O agente interage com o usuário final em várias rodadas de conversa, até coletar todos os parâmetros de formulário necessários, também chamados de parâmetros de página. Para cada parâmetro de formulário, você também fornece comandos que o agente usa para solicitar essas informações ao usuário final. Esse processo é chamado de preenchimento de formulário.
Quando um usuário final fornece parâmetros de intent para uma correspondência de intent, eles se tornam parâmetros de sessão. Quando uma página é ativada, todos os parâmetros de formulário dela são preenchidos automaticamente com os parâmetros de sessão que têm o mesmo nome. Portanto, se o usuário final fornecer o tamanho ou a cor quando a intent order.new for correspondida, esses valores serão preenchidos automaticamente no formulário.
Defina dois parâmetros de formulário obrigatórios para a página Novo pedido:
| Obrigatório | Nome de exibição | Tipo de entidade | É uma lista | Prompt |
|---|---|---|---|---|
| cor | @sys.color | Qual cor você quer? | ||
| size | @size | Que tamanho você quer? |
Para adicionar esse formulário, siga estas etapas:
- Clique na página New Order no gráfico.
- Clique no botão de adição add de Parâmetros para abrir o painel de edição de parâmetros.
- Adicione os parâmetros conforme descrito na tabela acima.
- Clique em Save.
- Feche o painel de edição de parâmetros.
Adicionar uma rota de intent de pedido ao fluxo
Adicione uma rota ao Fluxo de início padrão que faça a transição para a página Novo pedido quando o usuário final quiser fazer um novo pedido:
- Intent: order.new
- Página de destino da transição: Novo pedido
Página de confirmação
A página final confirma o pedido e encerra a sessão.
Criar a página de confirmação
Crie uma página de confirmação com uma resposta que usa os parâmetros de sessão para confirmar a ordem:
- Nome de exibição:
Order Confirmation - Fulfillment de entrada:
You can pick up your order for a $session.params.size, $session.params.color shirt in 7 to 10 business days. Goodbye.
Adicionar rotas de condição à página de pedido
É possível usar condições para determinar se uma rota é chamada. As condições são usadas com frequência para verificar se um formulário está completo ou são configuradas para serem sempre chamadas quando avaliadas.
Para definir condições no console, consulte a documentação Definir condições.
Adicione a seguinte rota à página de pedidos, que é chamada quando o formulário da página de pedidos é preenchido. Essa rota de condição usa referências de parâmetro na resposta ao usuário final e faz a transição da sessão para a página Order Confirmation.
- Condição:
$page.params.status = "FINAL" - Mensagem do agente:
You have selected a $session.params.size, $session.params.color shirt. - Página de transição:
Order Confirmation
Adicione a seguinte rota à página de pedidos. Essa rota é executada para cada turno de conversa enquanto a página está ativa e a rota de condição é avaliada. Quando a condição mencionada acima é avaliada e chamada, a página fica inativa, então essa rota de condição true não é avaliada:
- Condição:
true - Mensagem do agente:
I'd like to collect a bit more information from you.
Criar uma rota de condição para finalizar a sessão.
Adicione a seguinte rota de condição à página Confirmação do pedido para encerrar a sessão depois que a página for ativada e o fulfillment de entrada for processado:
- Condição:
true - Página de destino da transição:
End Session
Testar o agente concluído
Teste o agente com a seguinte caixa de diálogo:
| Diálogo | Explicação |
|---|---|
|
Usuário final: Olá Agente: Olá, este é um agente virtual de pedidos. Como posso ajudá-lo? |
|
|
Usuário final: quero comprar uma camisa azul Agente: Ok, vamos começar um novo pedido. Agente: gostaria de coletar mais informações suas. Agente: qual é o tamanho desejado? |
|
|
Usuário final: grande Agente: você selecionou uma camisa grande azul. Agente: você receberá o pedido de uma camisa azul grande de 7 a 10 dias úteis. Goodbye. |
|
Preparação para a produção
Antes de executar o agente na produção, implemente as Práticas recomendadas para produção.