Voltar ao blog
Automação - A conversa vira um processo, na prática!

Automação - A conversa vira um processo, na prática!

Hoje a conversa da Caetano’s vira processo.

No post anterior, definimos o próximo passo da Caetano’s: fazer o WhatsApp iniciar um processo fora da conversa.

Hoje vamos construir essa ponte com Evolution API + n8n.

Quando o cliente enviar ENCOMENDA, o fluxo registrará a solicitação numa planilha e responderá pedindo os detalhes.

> Nota sobre a escolha da ferramenta: usamos a Evolution API como recurso de ensino, porque ela permite visualizar com clareza a chegada da mensagem, o webhook e o envio da resposta. Em uma operação real, o WhatsApp também pode ser integrado pela solução oficial da Meta — a WhatsApp Business Platform (Cloud API) — ou por provedores oficiais. Faremos um post separado para comparar os caminhos, sem tratar esta implementação didática como recomendação universal de produção.

Sem prompt.

Sem LLM.

Sem agente.

## O fluxo

```text

Cliente envia "ENCOMENDA" no WhatsApp

Evolution API dispara MESSAGES_UPSERT

Webhook do n8n recebe a mensagem

Regras filtram e validam

Google Sheets registra a solicitação

Evolution API responde no WhatsApp

```

O registro será uma solicitação, não um pedido confirmado.

## Antes de começar

Você precisa de:

- uma instância conectada na Evolution API

- uma API key armazenada com segurança

- um n8n acessível por HTTPS

- uma planilha Google

Os nomes dos campos podem mudar entre versões da Evolution API. Por isso, o primeiro passo é capturar um evento real e inspecionar o payload antes de mapear expressões.

## Parte 1 — Prepare o n8n

### 1. Crie o workflow

1. Crie o fluxo WhatsApp — Encomendas Caetano’s.

2. Adicione um nó Webhook.

3. Método: POST.

4. Path: caetanos-whatsapp.

5. Configure para responder imediatamente com status 200.

6. Copie a URL de produção.

### 2. Configure o webhook na Evolution API

Na instância da Caetano’s, configure a URL do n8n e habilite o evento:

```text

MESSAGES_UPSERT

```

Na API, a configuração é feita pelo endpoint de webhook da instância. A interface e o corpo podem variar conforme a versão; confirme na documentação da instalação.

Não habilite todos os eventos “por garantia”. Para este fluxo, queremos mensagens novas.

### 3. Capture uma mensagem real

Ative o modo de teste do Webhook e envie ENCOMENDA de outro número para o WhatsApp conectado.

No payload, identifique:

- ID único da mensagem

- número/JID do remetente

- indicador fromMe

- texto da mensagem

- tipo de mensagem

- instância

Não copie expressões de tutorial sem olhar o seu payload. O formato muda e uma mensagem pode aparecer como texto simples, texto estendido ou outro tipo.

## Parte 2 — Filtre antes de agir

Logo depois do Webhook, adicione filtros:

1. ignore mensagens com fromMe = true

2. ignore grupos (`remoteJid` terminado em @g.us)

3. aceite somente texto neste primeiro laboratório

4. normalize o conteúdo: remova espaços e converta para maiúsculas

5. continue somente se o texto for ENCOMENDA

Ignorar mensagens enviadas pelo próprio número evita que a resposta automática volte ao webhook e crie um loop.

## Parte 3 — Registre a solicitação

Crie uma planilha com:

```text

id_evento

data_recebimento

telefone

origem

assunto

status

```

No nó Google Sheets:

- use o ID da mensagem como id_evento

- grave o telefone sem o sufixo do WhatsApp

- use whatsapp como origem

- use encomenda como assunto

- use aguardando_detalhes como status

Prefira Append or Update usando id_evento como chave. Se a Evolution API reenviar o mesmo evento, o fluxo não deve criar outra solicitação.

Critério desta etapa: uma mensagem cria uma linha; repetir o mesmo payload não cria duas.

## Parte 4 — Responda pelo WhatsApp

Depois do registro, adicione um HTTP Request:

```text

POST {URL_DA_EVOLUTION}/message/sendText/{NOME_DA_INSTANCIA}

```

Headers:

```text

apikey: SUA_CHAVE

Content-Type: application/json

```

Body:

```json

{

"number": "NUMERO_NORMALIZADO",

"textMessage": {

"text": "Recebemos sua solicitação de encomenda. Envie, por favor: produto desejado, quantidade, data e se será retirada ou entrega. A encomenda só será confirmada após validação da equipe."

}

}

```

Guarde URL, instância e API key nas credenciais ou variáveis do n8n. Não espalhe segredo em vários nós.

## Parte 5 — Trate a falha com honestidade

Não envie a confirmação antes de saber que a linha foi registrada.

Se a planilha falhar:

- registre o erro no n8n

- avise a equipe por um canal separado

- não diga ao cliente que a solicitação foi salva

Uma resposta segura seria:

> Não conseguimos registrar sua solicitação automaticamente. Nossa equipe continuará o atendimento por este WhatsApp.

E isso só deve ser dito se existe alguém acompanhando o canal.

## Parte 6 — Teste ponta a ponta

Execute:

1. envie ENCOMENDA de outro número

2. confirme a execução no n8n

3. confira a linha na planilha

4. confira a resposta no WhatsApp

5. reenvie manualmente o mesmo payload e verifique a idempotência

6. envie CARDÁPIO e confirme que este fluxo não registra encomenda

7. envie mensagem pelo próprio número e confirme que fromMe é ignorado

8. teste uma mensagem em grupo e confirme que ela é ignorada

9. desative a planilha ou remova temporariamente a credencial para observar a falha

Se ENCOMENDA vira uma solicitação única e recebe resposta sem intervenção manual, a primeira automação da Caetano’s está funcionando.

## O que construímos

Usamos:

- WhatsApp como canal

- Evolution API como ponte

- n8n como orquestrador

- Google Sheets como registro

Ainda não entendemos frases livres.

Se o cliente escrever “quero um bolo para sábado”, este fluxo não deveria fingir que reconheceu ENCOMENDA. Ele conhece uma palavra exata.

Isso é limitação — e também previsibilidade.

## O limite desta prática

Uma execução verde não prova produção.

A Evolution API pode reenviar eventos. A credencial pode vencer. O n8n pode responder para a própria mensagem. A planilha pode cair. O WhatsApp pode trazer áudio, imagem ou texto em formatos diferentes.

No próximo post, vamos colocar essa automação sob pressão: duplicidade, loops, credenciais, falhas externas, logs e retries.

Até lá.

Comentários

Carregando comentários...