# Dialogflow

Os AtendChat são uma parte essencial de todas as plataformas de atendimento ao cliente. Se você tiver muitas conversas acontecendo em sua conta, dimensionar o suporte humano pode não ser eficaz. Você pode implantar um chatbot que ajude a responder a perguntas triviais e entregá-lo a um agente somente quando necessário. **Fluxo de diálogo** (ou Dialogflow) e **Rasa.ai** são as plataformas **NLP** mais bem avaliadas que permitem que você crie um bot com base no seu uso. Neste artigo, veremos como você pode configurar um chatbot **Fluxo de diálogo** com AtendChat.

### **Configurando a integração do Dialogflow**

> Observação: esta etapa requer um Bot do Dialogflow. Se você ainda não configurou isso, continue a leitura para aprender como criar um bot do Dialogflow.

A AtendChat possui uma integração nativa do Dialogflow. Vá para **Configurações** → **Aplicações** → **Fluxo de diálogo**. Clique em "**Configurar**", você verá um botão para "**+Adicionar um novo hook**".

Você precisa adicionar "**ID do projeto**", "**Arquivo de chave do projeto**" e uma caixa de entrada para criar o hook. (Copie o conteúdo do arquivo de chave baixado anteriormente e cole-o na área de texto)

<figure><img src="/files/YNoQ99t0QahsJ2F7E5SC" alt=""><figcaption></figcaption></figure>

Pronto! A integração está completa.

Teste a caixa de entrada do site para ver se a consulta inicial é tratada pelo bot ou não.

### **Criando um bot**

A seção a seguir orienta você na criação de um bot do **Fluxo de diálogo** para a AtendChat.

#### Criar um novo agente

Acesse a plataforma do **Fluxo de diálogo**. Usaremos o **Dialogflow Essentials** para este artigo. Clique em "**Criar novo agente**". Ele mostraria opções como no exemplo abaixo.

<figure><img src="/files/gEz9myKEibgezYBTcbjx" alt="" width="563"><figcaption></figcaption></figure>

#### Criar intenções

Você precisará criar intenções com base em como deseja que seu bot responda. Haverá 2 intenções padrão no projeto chamadas "**Default Fallback Intent**" e "**Default Welcome Intent**", conforme mostrado abaixo:

<figure><img src="/files/ufrTe5WYUH68SEqQMLUQ" alt="" width="563"><figcaption></figcaption></figure>

Agora que a configuração básica do bot está concluída, vamos criar uma conta de serviço e conectá-la à AtendChat.

> O Chatwoot também oferece suporte a intenções avançadas que permitem transferência de agente , mensagens interativas , etc.

#### Criar uma conta

Para conectar este bot à AtendChat, você precisa criar uma conta de serviço em seu painel do **Google Cloud**. Navegue clicando no **ID do projeto** nas configurações do projeto, como mostrado abaixo.

<figure><img src="/files/wh2Lzkrk1YoMi4GwRnpC" alt="" width="563"><figcaption></figcaption></figure>

Navegue até **IAM e administrador** → **Contas de serviço**. Você verá uma visualização como a abaixo. Clique em "**Criar conta de serviço**".

<figure><img src="/files/PNQDSsIe35hqyaNOBJA3" alt="" width="563"><figcaption></figcaption></figure>

Forneça um nome de conta de serviço e uma descrição conforme mostrado abaixo.

<figure><img src="/files/Z3KaVmhjLhgkkUvW6U40" alt="" width="563"><figcaption></figcaption></figure>

Para fornecer acesso, selecione **Dialogflow API Client** no menu suspenso.

<figure><img src="/files/1dNBTO2s7OvM5bre4hFN" alt="" width="563"><figcaption></figcaption></figure>

Continue e clique em "**Concluído**". Agora, você poderá ver o serviço listado no painel. O próximo passo é criar uma chave para que ela possa ser compartilhada com a AtendChat. Clique na conta de serviço e clique na guia "**Chaves**". Em seguida, clique em "**Adicionar chave**". Você será capaz de ver uma tela como a abaixo.

<figure><img src="/files/pt85okleNIPumMmpv0eB" alt="" width="563"><figcaption></figcaption></figure>

Clique em "**JSON**" e clique em "**Criar**". Ele geraria uma chave para sua conta de serviço, baixaria a chave e a salvaria para uso posterior.

### **Intenções Avançadas**

#### Criando uma intenção

Depois que o usuário solicita falar com o agente, o **Fluxo de Diálogo** precisa informar à AtendChat que um agente agora pode assumir a conversa.

Crie uma intenção denominada "**Intenção de transferência**" com frases de treinamento como "**Fale com um agente**" ou "**Fale com um agente**" etc. Para lidar com a intenção de transferência, criaremos uma resposta "**Carga** **útil** **personalizada**", conforme mostrado abaixo.

<figure><img src="/files/AhmrHrEFWYzVd47z1i9S" alt="" width="563"><figcaption></figcaption></figure>

Ao acionar uma intenção com a carga útil acima, a AtendChat alternará o status da conversa para **aberta** e a entregará a um agente.

#### Mensagens interativas

> Nota: As mensagens interativas são suportadas apenas no canal do site no momento

A integração da AtendChat com o Fluxo de Diálogo também suporta mensagens interativas. Os seguintes tipos de mensagens interativas são suportados:

1. Opções
2. Cartões
3. Artigos

#### Criando uma mensagem interativa Intenção

Você pode criar outras mensagens interativas alterando a carga conforme mencionado na documentação de mensagens interativas.

Crie uma intenção com as frases de treinamento necessárias e uma resposta "**Custom Payload**" conforme mostrado abaixo para uma mensagem de opções.

> Quando o usuário interage com as mensagens de entrada. O valor selecionado é enviado de volta ao **dialogflow**, para que você configure uma intenção de acompanhamento, se necessário.\
> **Exemplo** : configurar uma intenção com a frase de treinamento "Gosto de biryani" para os casos em que o contato selecionar a opção "biryani".


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ajudachat.hotmobile.com.br/aplicacoes-ja-integradas/dialogflow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
