# Webhook de Chats - Automação com Integração no Tiflux

## 🔄 Webhook de Chats - Automação com Integração no Tiflux

```
📍 Localização:
📂 Menu > Chatbot > Fluxos > Ações > Automação com Integração
```

***

### 🎯 Introdução

{% hint style="info" %}
**Este recurso somente é disponível com API V2 contratada**
{% endhint %}

A ação **Automação com Integração** foi criada para ampliar as possibilidades de uso do chatbot do Tiflux com uso de webhook.\
Com ela, é possível **integrar o chat com sistemas externos**, garantindo:

* troca de informações em tempo real,
* continuidade fluida do atendimento,
* eliminação da necessidade de buscar dados manualmente em outros sistemas.

Essa funcionalidade fortalece a automação de processos e melhora a experiência do usuário no atendimento.

***

### 📚 Sumário

* 🧾 Funcionalidades principais
* 🛠️ Como configurar
* 📤 Parâmetros enviados pelo Tiflux
* 📥 Comandos disponíveis para a integração
* ⚠️ Avisos importantes
* ❓ Perguntas frequentes (FAQ)

***

### 🧾 Funcionalidades principais

* Conexão do chatbot com sistemas externos via **requisições HTTP**.
* Envio de dados do chat em andamento para processamento em outros sistemas.
* Recebimento de comandos externos para dar continuidade ao atendimento.
* Possibilidade de definir até **3 fluxos alternativos** após a integração.
* Tratamento de falhas com rota personalizada para erros.

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

***

### 🛠️ Como configurar

1. Acesse o fluxo de chatbot no Tiflux.
2. Adicione a ação **Automação com Integração**.
3. Configure os seguintes parâmetros:
   * **URL de chamada** → Endereço externo que receberá os dados do chat.
   * **URL de retorno** → Endereço do Tiflux para receber os comandos da integração.
   * **Fluxo** → Caminho que o chatbot deve seguir (até 3 fluxos disponíveis).
4. Defina o comportamento em caso de falha, vinculando à opção **Erro do chatbot**.

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

***

### 📤 Parâmetros enviados pelo Tiflux

Quando o fluxo alcança a ação, o Tiflux envia uma requisição para a **URL de chamada** com os seguintes parâmetros:

| **Parâmetro**     | **Tipo** | **Descrição**                                 |
| ----------------- | -------- | --------------------------------------------- |
| token             | string   | Token de autenticação.                        |
| chat\_profile\*   | JSON     | Perfil do usuário.                            |
| chat\_id          | integer  | ID do chat em andamento.                      |
| message           | string   | Última mensagem enviada pelo usuário no chat. |
| organization\_id  | integer  | ID da organização                             |
| client\_name\*    | string   | Nome do contato associado ao chat             |
| client\_phone\*   | string   | Telefone do contato associado ao chat         |
| client\_email\*   | string   | E-mail do contato                             |
| client\_company\* | JSON     | Dados da empresa/cliente vinculado ao chat    |

\*O campo **client\_name** poderá não estar presente ou vir vazio caso o chat não possua um nome preenchido, como em contatos anônimos ou chats recém-criados antes da identificação.\
\
\*O campo **client\_phone** poderá não estar presente ou vir vazio caso o chat não possua um número de telefone válido. Em chats originados por canais que não utilizam telefone como identificador (ex: site\_widget), o valor será null.\
\
\*O campo **client\_email** poderá não estar presente ou vir vazio caso o contato não possua e-mail cadastrado no sistema.\
\
\*O campo **client\_company** poderá não estar presente ou vir vazio caso o contato ainda não esteja vinculado a nenhum cliente ou empresa no sistema. Quando presente, trata-se de um objeto JSON contendo as seguintes informações:

| **Parâmetro** | **Tipo**       | **Descrição**                                                                         |
| ------------- | -------------- | ------------------------------------------------------------------------------------- |
| id            | integer        | ID do cliente no sistema                                                              |
| name          | string         | Nome da empresa ou pessoa física cadastrada                                           |
| document      | string \| null | CNPJ ou CPF do cliente. Será null quando o cadastro não possuir documento preenchido. |
| status        | boolean        | Status do cliente: true para ativo, false para inativo.                               |

**Detalhes do `chat_profile`:**

\*O campo **`chat_profile`** poderá não estar presente ou vir vazio caso o usuário ainda não tenha solicitado sua criação. Quando presente, trata-se de um objeto JSON contendo as seguintes informações:

| **Parâmetro**    | **Tipo**            | **Descrição**                          |
| ---------------- | ------------------- | -------------------------------------- |
| id               | integer             | ID do contato.                         |
| organization\_id | integer             | ID da organização.                     |
| chat\_id         | integer             | ID do chat em andamento.               |
| name             | string              | Nome do contato.                       |
| email            | string              | E-mail do contato.                     |
| phone\_number    | string              | Telefone do contato.                   |
| created\_at      | <p>Date    <br></p> | <p>Data de criação do contato.<br></p> |
| updated\_at      | Date                | Data da última atualização do contato. |

***

### 📥 Comandos disponíveis para a integração

A integração externa pode enviar **um comando por requisição**, via **POST** para a **URL de retorno**.\
Os parâmetros devem estar no **body** da requisição em **JSON**.

#### 1️⃣ Enviar mensagem

Envia uma mensagem para o usuário em atendimento.

**Parâmetros:**

| **Parâmetro** | **Tipo** | **Descrição**                                           |
| ------------- | -------- | ------------------------------------------------------- |
| action\*      | string   | Ação que deverá ser executada.                          |
| chat\_id      | integer  | ID do chat.                                             |
| message       | string   | Mensagem para enviar ao usuário em atendimento no chat. |

**Exemplo JSON:**

```json
{
  "action": "send-message-whatsapp",
  "message": "Mensagem a ser enviada",
  "chat_id": 123456
}
```

***

#### 2️⃣ Salvar informações do contato

Salva ou atualiza dados do contato.

**Parâmetros:**

| **Parâmetro**     | **Tipo** | **Descrição**                  |
| ----------------- | -------- | ------------------------------ |
| action\*          | string   | Ação que deverá ser executada. |
| chat\_id          | integer  | ID do chat.                    |
| contact\_info\*\* | JSON     | Informações do contato.        |

\*A **action** para o comando de enviar mensagem sempre deve ser "send-message-whatsapp".

\*\*O campo contact\_info possui os seguintes parâmetros:

| **Parâmetro** | **Tipo** | **Descrição**                                                |
| ------------- | -------- | ------------------------------------------------------------ |
| name          | string   | Nome do contato.                                             |
| email         | string   | Email do contato.                                            |
| extra\_params | JSON     | JSON que pode conter parâmetros extras caso seja necessário. |

**Exemplo JSON:**

```json
{
  "action": "save-contact",
  "chat_id": 123456,
  "contact_info": {
    "name": "Nome do Contato",
    "email": "email@exemplo.com",
    "extra_params": { "param1": "valor1" }
  }
}
```

***

#### 3️⃣ Enviar para novo fluxo

Encaminha o atendimento para um fluxo pré-configurado.

**Parâmetros:**

| **Parâmetro**     | **Tipo** | **Descrição**                                                                            |
| ----------------- | -------- | ---------------------------------------------------------------------------------------- |
| action            | string   | Ação que deverá ser executada.                                                           |
| chat\_id          | integer  | ID do chat.                                                                              |
| next\_flux\_token | string   | Token do fluxo que foi configurado durante a criação da ação "Automação com Integração". |

**Exemplo JSON:**

```json
{
  "action": "send-next-flux",
  "chat_id": 123456,
  "next_flux_token": "fluxo_token"
}
```

***

### ⚠️ Avisos importantes

* Em **integrações via Gupshup**, verifique se a **URL está atualizada**, especialmente em contas antigas.
* Para integrações com o **Meta**, alguns clientes já estão com URLs atualizadas, mas é necessário validar caso a chamada falhe.
* Apenas **um comando por requisição** é aceito.

***

### ❓ Perguntas Frequentes (FAQ)

* **O que é a Automação com Integração?**\
  É uma ação no chatbot que conecta o Tiflux a sistemas externos para envio/recebimento de dados.
* **Preciso de conhecimento técnico para configurar?**\
  Sim, é necessário saber configurar URLs de integração e interpretar JSON.
* **Quantos fluxos posso definir após a integração?**\
  Até 3 fluxos diferentes.
* **O que acontece se a URL estiver errada ou desatualizada?**\
  A integração não será executada e o chatbot seguirá para a rota de erro configurada.
* **Posso usar junto com o n8n?**\
  Sim, já existem workflows prontos no n8n do suporte para apoiar na configuração.

***

### 🔍 Palavras-chave para IA, indexação e busca

```
automação com integração,
chatbot Tiflux,
integração externa Tiflux,
fluxos chatbot,
enviar mensagem chatbot,
save-contact,
send-message-whatsapp,
send-next-flux,
integração Gupshup,
integração Meta,
n8n Tiflux
```

***


---

# 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://guia-de-uso.tiflux.com/sistema/configuracoes/configuracoes-gerais/configurando-o-chat/configurando-o-chatbot/webhook-de-chats-automacao-com-integracao-no-tiflux.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.
