![Fluxo para conectar o Dialogflow: criar o agente e a chave JSON, abrir a integração, configurar Project ID, chave, região, idioma e caixa de entrada e testar o bot.](/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbGNSIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--b1b93f10a8e2f84cf6d5a61757146ad3d02a00bb/1730735479-como-integrar-seu-chatbot-dialogflow-ao-chatwoot.png)

Os chatbots são grandes aliados das equipes de atendimento: resolvem perguntas simples de forma automática e liberam os agentes humanos para as questões mais complexas.

O Dialogflow é uma das principais plataformas de PLN (Processamento de Linguagem Natural) para criar chatbots personalizados. Neste guia, você vai criar um agente no Dialogflow e conectá-lo ao Chatwoot.

> 💡 **Prefere uma alternativa nativa?** O Chatwoot já vem com a **Eva**, a assistente de IA integrada à plataforma — sem precisar configurar nada no Google Cloud. Se você quer colocar um atendimento com IA no ar rapidamente, considere ativar a Eva em **Configurações** antes de partir para uma integração externa.

### Antes de começar

- Uma conta no **Google Cloud** com o Dialogflow habilitado.
- Uma caixa de entrada já configurada no Chatwoot para o bot atender — por exemplo, [Conectar o WhatsApp Web (QR Code)](1724618803-como-configurar-um-canal-whats_app-usando-a-evolution-api) ou o **chat no site**.
- Perfil de **Administrador** no Chatwoot, pois a integração fica em Configurações.

### Como criar um agente no Dialogflow

#### Passo 1: Acesse o Console do Dialogflow

Vamos usar o **Dialogflow Essentials**. No console, crie um novo agente para começar.

#### Passo 2: Crie as intenções (intents)

As intenções (intents) definem como o bot responde. Todo projeto já vem com duas intenções padrão: uma de saudação e uma de fallback (a resposta padrão para quando o bot não entende a mensagem).

Você pode criar quantas intenções precisar para os seus cenários. O Chatwoot também suporta intenções avançadas, que permitem transferir a conversa para um agente humano e enviar mensagens interativas (veja mais abaixo).

#### Passo 3: Crie uma conta de serviço no Google Cloud

Para conectar o bot ao Chatwoot, crie uma conta de serviço no Google Cloud:

1. Abra o console do Google Cloud a partir do **ID do projeto** do seu agente.
2. Em **IAM e administrador → Contas de serviço**, crie uma conta de serviço com a permissão de **Dialogflow API Client**.
3. Gere uma chave para essa conta no formato **JSON** e faça o download.

Guarde o arquivo JSON — você vai colar o conteúdo dele no Chatwoot no próximo passo.

### Configurar a integração no Chatwoot

O Chatwoot tem uma integração nativa com o Dialogflow.

#### Passo 1: Abra a integração

Acesse **Configurações → Integrações → Dialogflow** e clique em **Configurar**.

#### Passo 2: Adicione a conexão

Clique em **Adicionar um novo hook** e preencha o formulário. Os campos deste formulário aparecem em inglês:

- **Dialogflow Project ID** — o ID do projeto do seu agente no Dialogflow.
- **Dialogflow Project Key File** — cole o conteúdo do arquivo JSON baixado no passo anterior.
- **Dialogflow Region** — selecione a mesma região configurada no agente; use **Global** somente se o agente também estiver na região global.
- **Language Code** — escolha **Portuguese (Brazil)** para um agente em português do Brasil. Use **Auto-detect from contact** apenas quando o idioma do contato estiver preenchido de forma confiável.
- **Selecionar caixa de entrada** — escolha a caixa de entrada que o bot vai atender (por exemplo, **WhatsApp Web** ou o **chat no site**).

Clique em **Criar** para concluir. Pronto — a integração está ativa.

#### Teste a integração

Envie uma mensagem pela caixa de entrada conectada (o **chat no site** é ideal para testar) e confira se o bot responde à primeira mensagem.

### Intenções avançadas

#### Transferir a conversa para um agente

Quando o cliente pedir para falar com uma pessoa, o Dialogflow avisa o Chatwoot para que um agente humano assuma a conversa. Crie uma intenção (por exemplo, "Falar com um agente") com frases de treinamento como *"Falar com um atendente"* e configure a resposta como **Custom Payload** com este conteúdo:

```
{
  "action": "handoff"
}
```

Quando essa intenção for acionada, o Chatwoot muda o status da conversa para **Aberta** e a encaminha para um agente. (Da mesma forma, um payload `{ "action": "resolve" }` fecha a conversa automaticamente.)

#### Mensagens interativas

O Chatwoot e o Dialogflow suportam mensagens de opções, inclusive com intenções de *follow-up*. O widget do site oferece a experiência completa; em outros canais, a plataforma adapta `input_select` quando o provedor aceita opções interativas. Teste o resultado no canal de destino.

Para criar uma mensagem de opções, configure a intenção com frases de treinamento e use um **Custom Payload** como no exemplo abaixo:

```
{
  "content_type": "input_select",
  "content": "Escolha sua comida favorita",
  "content_attributes": {
    "items": [
      {
        "value": "Eu gosto de sushi",
        "title": "Sushi"
      },
      {
        "title": "Biryani",
        "value": "Eu gosto de biryani"
      },
      {
        "title": "Pizza",
        "value": "Eu gosto de pizza"
      }
    ]
  },
  "private": false
}
```

Quando o cliente interagir com essa mensagem e escolher uma opção, o Dialogflow recebe o valor selecionado, permitindo configurar intenções de follow-up.

### Como devolver a conversa ao bot

Quando o bot está conectado a uma caixa de entrada, ele só atua enquanto a conversa está com o status **Pendente** — assim o bot faz a triagem inicial antes de passar para um agente. Se um agente quiser devolver a conversa ao bot, basta mudar o status de volta para **Pendente**, e o bot retoma o atendimento.