Resumo do fluxo
Automação da ActiveCampaign (contato) → POST application/x-www-form-urlencoded → activecampaign-mkt-adapter → fila SQS → Campaign API OmniChat → WhatsApp.
Pré-requisitos
Conta ActiveCampaign com acesso a Automações e à ação Webhook (categoria Fluxo de trabalho)
URL assinada do adapter (
webhookUrl) gerada na OmniChat — ver Passo 0Campanha com audiência integrada já criada na OmniChat Configurando uma Audiência Dinâmica para integração com serviços externos | Central de Ajuda | OmniChat
Contatos na ActiveCampaign com telefone válido no campo nativo Telefone (
phone)
Passo 0 — Obter a URL do webhook na OmniChat
Antes de configurar a automação na ActiveCampaign, obtenha a webhookUrl assinada da campanha na plataforma OmniChat.
Acesse app.omni.chat e faça login
No menu lateral, abra Marketing > Campanhas e crie ou edite a campanha WhatsApp que será disparada pela integração
Configure a campanha normalmente (audiência integrada, modelo de mensagem, etc.) e salve se necessário
Na tela de edição da campanha, clique no botão Webhook no rodapé da página
No modal Webhook da campanha, em Selecione o CRM, escolha ActiveCampaign
Copie a URL clicando em Copiar webhook
Guarde essa URL — ela será colada na ActiveCampaign no Passo 4
Figura 0a: Tela de edição da campanha na OmniChat (audiência integrada)
Figura 0b: Botão Webhook no rodapé da edição da campanha
Figura 0c: Modal Webhook da campanha — selecionar ActiveCampaign
Figura 0d: URL do webhook gerada para a ActiveCampaign (hash ocultado nesta imagem)
Formato esperado da URL:
https://activecampaign-mkt-adapter.omni.chat/v1/webhook/{retailerId}/{campaignId}/{hash}
A URL contém um hash de autenticação exclusivo daquela campanha. Trate-a como um segredo: quem tem a URL consegue enfileirar disparos na campanha. Cada campanha tem a sua — não reaproveite a URL de uma campanha em outra. Por isso o trecho sensível aparece borrado nas capturas deste guia.
Passo 1 — Acessar as Automações na ActiveCampaign
Faça login na conta ActiveCampaign (
<conta>.activehosted.com)No menu lateral, abra Automações
Clique em Começar do Zero para criar uma automação nova (ou abra uma automação existente para adicionar a ação)
Figura 1: Lista de automações da ActiveCampaign
Passo 2 — Configurar o gatilho de entrada
O gatilho define quando o contato entra na automação e, portanto, quando o disparo acontece. O padrão recomendado é tag adicionada, por ser o gatilho mais simples de acionar a partir de qualquer outro processo (import, automação anterior, integração, ação manual).
Escolha o gatilho A tag é adicionada
Em Tag, informe a tag que dispara a campanha (ex.:
disparo-omnichat)Em Executa, selecione Múltiplas vezes se o mesmo contato precisar disparar a campanha novamente em execuções futuras (equivale à reinscrição/re-entry)
Clique em Salvar
Figura 2: Configuração do gatilho “Tag é adicionada”
Outros gatilhos válidos, conforme o caso de uso: Envia um formulário, Inscreve-se em uma lista, Campo personalizado é alterado, Negócio entra em um estágio ou Webhook de entrada. O restante da configuração não muda.
Passo 3 — Adicionar a ação Webhook
No editor da automação, clique no botão + abaixo do gatilho
No painel Adicione uma ação, digite
webhookna busca (ou abra a aba Fluxo de trabalho)Selecione Webhook — Postar dados de contato em uma URL de sua escolha
Figura 3a: Painel “Adicione uma ação”
Figura 3b: Busca pela ação Webhook
Passo 4 — Colar a URL do webhook
No campo Digite a URL para postar, cole a
webhookUrlcopiada no Passo 0Clique em Salvar
Figura 4: Ação Webhook com a URL do adapter (hash ocultado nesta imagem)
Item | Valor |
URL | A |
Método | POST — fixo na ação Webhook, não é configurável |
Formato do corpo |
|
Autenticação | Não há campo de autenticação na ação Webhook e nenhuma é necessária — o hash de validação já está embutido na própria URL |
Cabeçalhos | Não configuráveis. Nada precisa ser adicionado |
Passo 5 — Ativar a automação
Revise o fluxo (gatilho → Webhook)
Mude o seletor no topo direito de Inativo para Ativo
Figura 5: Automação ativa com o nó de Webhook
Campos enviados pela ActiveCampaign
Não há mapeamento manual de campos na ActiveCampaign. Essa é a principal diferença em relação à Emarsys: a ação Webhook posta automaticamente todos os campos do contato, em notação de colchetes (contact[first_name], contact[fields][perstag]). O adapter faz a tradução.
Campo enviado | Nome na tela da ActiveCampaign | Repassado para a Campaign API como | Obrigatório |
| Telefone |
| Sim |
| ID interno do contato |
| Não |
|
| Não | |
| Nome |
| Não |
| Sobrenome |
| Não |
| Conta / organização |
| Não |
| Campo personalizado (ver seção seguinte) | Token com o mesmo nome da perstag | Não |
| Tags e IP do contato | Descartados — não viram token de personalização | — |
| Identificador da automação que originou o disparo | Usado apenas em log/rastreio; não vira token | — |
Campos vazios são descartados: a ActiveCampaign envia todos os campos do contato, inclusive os em branco, e o adapter os remove para que a mensagem não saia com espaço vazio no lugar do token.
retailerId e campaignId já fazem parte da webhookUrl (no path) — não precisam ser configurados em lugar nenhum na ActiveCampaign.
Personalização com campos personalizados (perstags)
Qualquer variável extra de personalização da campanha vem de um campo personalizado do contato. Em Contatos > Campos (Gerenciar campos), cada campo tem uma Variável no formato %NOME% — essa é a perstag. O adapter recebe a perstag em minúsculas e a repassa como token de personalização com o mesmo nome.
Figura 6: Tela “Gerenciar campos” com as perstags dos campos personalizados
Campo personalizado | Variável (perstag) | Token disponível na campanha |
Cupom |
|
|
Context Info |
| Reservado — ver seção “Contexto do atendimento” |
Nomes reservados. Uma perstag chamada fullNumber, retailerId, campaignId, contextId, context_info, context-info ou contextInfo é descartada. O mesmo vale para perstags que colidem com um campo nativo já traduzido (name, lastName, email, externalId, company_name): o valor nativo sempre vence. Ao criar um campo personalizado, evite esses nomes.
Contexto do atendimento (opcional)
Quando a campanha transfere o atendimento para o Whizz, é possível enviar um contexto específico por contato: crie um campo personalizado de texto chamado Context Info (variável %CONTEXT_INFO%) e preencha-o no contato. O adapter usa esse texto como contexto do atendimento daquele disparo.
Limite de 2000 caracteres — o texto excedente é cortado
Campo vazio ou ausente: o disparo segue normalmente, sem contexto específico
O valor não fica disponível como token de personalização da mensagem
Disparo de teste
Abra um contato de teste com telefone válido preenchido
Adicione a tag configurada no gatilho (ex.:
disparo-omnichat)Acompanhe o bloco Atividades recentes do contato: devem aparecer Entrou na automação e, em seguida, Automação concluída
Figura 7: Contato com a tag de disparo e o histórico da automação (dados de contato ocultados nesta imagem)
Validar a execução
Na ActiveCampaign: Automações > Todas as Automações mostra quantos contatos passaram pela automação; a tela da automação mostra o contador de contatos por nó
Na OmniChat: abra a campanha e confira os contadores de Enviados / Lidos / Erros na lista de campanhas
A ação Webhook da ActiveCampaign não exibe o código de resposta HTTP na interface. Não há como ver o 202 pela tela da automação — a validação de ponta a ponta é feita pelo resultado na OmniChat.
Respostas do adapter
HTTP | Significado |
202 | Aceito — evento enfileirado, ou descartado silenciosamente (sem telefone, telefone inválido ou corpo em formato inesperado) |
400 | Corpo recusado pelo parser (mais de 200 parâmetros no formulário) |
401 | Hash inválido na URL |
O 202 cobre também os descartes: é intencional, para que a ActiveCampaign não suspenda o webhook por erro. Um contato sem telefone não gera erro visível na automação — ele simplesmente não recebe a mensagem.
Troubleshooting
Automação executou, mas não chegou WhatsApp: conferir o campo Telefone do contato (precisa ser um número válido, com DDD) e o status da campanha na OmniChat
Contato não entrou na automação: a tag já estava aplicada e o gatilho está como Executa: uma vez — trocar para Múltiplas vezes, ou remover e readicionar a tag
Mensagem chegou com placeholder em branco: o campo personalizado correspondente está vazio no contato, ou a perstag colide com um nome reservado
Nome do contato veio errado: existe um campo personalizado com perstag colidindo com um campo nativo — renomear a perstag
401 / disparo nunca chega: URL colada incompleta ou de outra campanha — repetir o Passo 0 e colar a URL inteira
Ação Webhook não aparece: confirmar que a busca foi feita no painel de ações da automação (aba Fluxo de trabalho) e que o plano da conta inclui a ação