# Chat Flow

O Construtor de Fluxo é a ferramenta nativa do Z-PRO para a criação de chatbots e automações de conversa. Ele permite desenhar jornadas interativas de forma visual, qualificando atendimentos, capturando dados e direcionando clientes sem a necessidade de ferramentas externas.

#### **Conceitos Fundamentais**

O construtor opera com base em quatro elementos principais:

1. **Fluxo:** O conjunto completo de todas as etapas e regras da sua automação.
2. **Etapa (ou Nó):** Cada "caixa" dentro do seu fluxo, representando um momento específico da conversa.
3. **Interações (Ações):** As ações que o chatbot executa dentro de uma etapa (ex: enviar uma mensagem, adicionar uma tag).
4. **Condições (Regras):** As regras que determinam para qual etapa o fluxo deve seguir, com base na resposta do cliente.

***

#### **Interações (Ações Disponíveis)**

Dentro de cada etapa do fluxo, você pode adicionar uma ou mais das seguintes interações:

**Comunicação com o Cliente**

* **Enviar Mensagem de Texto:** Envia uma ou mais mensagens de texto sequenciais.
* **Enviar Mídia:** Envia um documento, imagem ou outro arquivo.
* **Agendar Mensagem:** Agenda o envio de uma mensagem para uma data e hora futura (ex: 30 minutos, próximo dia, data personalizada).
* **Enviar SMS:** Dispara um SMS para o contato, utilizando uma das integrações de SMS configuradas (Comtele, Connecta, etc.).
* **Chamar VAPI:** Inicia uma chamada de voz automatizada com IA, utilizando a integração com a VAPI.

**Controle do Fluxo e Atendimento**

* **Delay:** Adiciona um atraso em segundos entre o envio de uma mensagem e outra.
* **Adicionar Novo Fluxo:** Transfere o cliente de um fluxo para outro.
* **Bloquear Chatbot:** Impede que o chatbot seja acionado novamente para aquele contato específico em futuras interações. É ideal para ser usado ao final de um fluxo de qualificação.

**Gestão de Dados e Contatos**

* **Adicionar Tag:** Aplica uma etiqueta (tag) ao contato (ex: "lead\_qualificado").
* **Adicionar Kanban:** Move ou cria um card para o contato no Funil de Oportunidades.
* **Adicionar Oportunidade:** Cria uma nova oportunidade no funil, definindo etapa, valor e responsável.
* **Adicionar Nota:** Anexa uma nota interna ao atendimento, visível para os operadores.
* **Adicionar Demanda/Razão:** Associa um motivo específico ao contato.

**Integrações Externas**

* **Adicionar Webhook:** Envia dados para uma URL externa via métodos GET, POST, PUT ou DELETE, com opções para configurar headers, body e retentativas.
* **Chamar Typebot:** Transfere o controle da conversa para um fluxo do Typebot.
* **Chamar ChatGPT (ou outra IA):** Aciona um modelo de IA integrado para interagir com o cliente.
* **Criar Evento no Google Agenda:** Adiciona um evento na agenda integrada, definindo título, participantes e data.

{% hint style="info" %}
**Integrações Externas:**\
Interações que transferem o controle da conversa para um sistema externo (como **Typebot**, **ChatGPT** e **Bloquear Chatbot**) devem ser sempre a **última interação** de uma etapa.
{% endhint %}

***

#### **Condições (Regras de Roteamento)**

As condições definem como o fluxo reage à resposta do cliente.

* **Qualquer Resposta:** O fluxo avança para a próxima etapa assim que o cliente envia qualquer mensagem.
* **Resposta Única:** O fluxo avança apenas se a resposta do cliente atender a critérios específicos. Os tipos de comparação são:
  * **Igual a:** A resposta deve ser idêntica a uma das palavras-chave definidas (separadas por vírgula para "OU").
  * **Contém:** A resposta deve conter uma das palavras-chave.
  * **Começa com / Termina com:** A resposta deve começar ou terminar com o texto definido.
  * **Regex:** Valida a resposta com base em uma expressão regular (ex: para validar formato de e-mail, CPF, etc.). O Regex sempre tem prioridade sobre as outras condições.

***

#### **Captura e Uso de Variáveis**

O construtor de fluxo permite capturar a resposta de um cliente e reutilizá-la em mensagens futuras, personalizando a conversa.

* **Como Capturar:** Em cada etapa, você pode habilitar a opção "Capturar Variável", dando um nome a ela (ex: nome\_cliente). A resposta do cliente naquela etapa será armazenada nessa variável.
* **Como Usar:** Em qualquer mensagem de texto em etapas posteriores, você pode chamar o valor armazenado usando chaves duplas. Ex: Olá, {{nome\_cliente}}! Como posso ajudar?

Além das variáveis que você cria, é possível usar **variáveis de sistema**, como:

* {{contact.name}}: Primeiro nome do contato (se salvo).
* {{agent.name}}: Nome do atendente que assumiu a conversa.
* {{ticket.protocol}}: Número do protocolo de atendimento.

{% hint style="info" %}
**Comportamento Importante das Variáveis: A Regra da Etapa Anterior**

O sistema de variáveis do Construtor de Fluxo foi projetado para operar de forma **sequencial**.

Isso significa que você só pode utilizar o valor de uma variável que foi capturada na **etapa imediatamente anterior** do fluxo. Não é possível armazenar os valores de múltiplas variáveis ao longo de várias etapas para criar um resumo final.

**Exemplo prático:**

1. Você cria uma **Etapa 1** para capturar o nome do cliente {nome}.
2. Na **Etapa 2**, você só conseguirá acessar a variável {nome},  pois ela foi capturada na etapa anterior. Não será possível, acessar outra variável capturada duas etapas antes.

O uso ideal da funcionalidade é para a personalização imediata da conversa, utilizando a informação coletada logo na etapa seguinte.
{% endhint %}

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

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

***

#### **Configurações Gerais do Fluxo**

No painel de configurações de cada fluxo, você pode ajustar comportamentos globais:

* **Mensagem de Transferência:** Mensagem padrão enviada quando o bot transfere o atendimento.
* **Mensagem de Fallback:** Resposta enviada quando a resposta do cliente não corresponde a nenhuma condição.
* **Palavra-Gatilho:** Uma palavra que, se enviada a qualquer momento, reinicia este fluxo.
* **Timeout (Sem Resposta):** Ação a ser executada se o cliente não responder dentro de um tempo determinado.
* **Horário de Atendimento:** Permite definir um comportamento específico para o fluxo se o contato ocorrer fora do horário comercial configurado no sistema.

***

#### **Ativando o Fluxo em um Canal**

Um fluxo criado não faz nada até ser conectado a um canal de comunicação.

1. Acesse o menu **"Canais"**.
2. Localize o canal desejado (ex: o número de WhatsApp).
3. Clique no ícone de **"Chatbot"**.
4. Selecione o fluxo que você criou na lista suspensa.

A partir desse momento, toda nova conversa iniciada naquele canal será automaticamente gerenciada pelo fluxo selecionado.

***

#### **Tutoriais em Vídeo**

Para uma demonstração prática da construção e aplicação dos fluxos, assista aos vídeos abaixo.

* **Construindo um Fluxo de Boas-Vindas e Coleta de Dados**

{% embed url="<https://www.youtube.com/watch?v=S2T4MU8lBPo>" %}

* **Novas Funcionalidades do Chatbot (Atualização Agosto/25)**

{% embed url="<https://www.youtube.com/watch?v=nMAmSPKYx-o>" %}

* **Live Completa: Criando Chatbots Simples, Inteligentes e Híbridos**

{% embed url="<https://youtu.be/T4nIUEZToag?t=1287>" %}


---

# 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://ajuda.zdg.com.br/configuracao-administrador/automacao/chat-flow.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.
