Passar para o conteúdo principal

ActiveCampaign → OmniChat: disparo de campanha via webhook

Guia para a equipe de suporte configurar a integração sem código na ActiveCampaign, usando a ação nativa Webhook do construtor de automações.

P
Escrito por Produto Omnichat

Resumo do fluxo

Automação da ActiveCampaign (contato) → POST application/x-www-form-urlencodedactivecampaign-mkt-adapter → fila SQS → Campaign API OmniChat → WhatsApp.

Pré-requisitos

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.

  1. Acesse app.omni.chat e faça login

  2. No menu lateral, abra Marketing > Campanhas e crie ou edite a campanha WhatsApp que será disparada pela integração

  3. Configure a campanha normalmente (audiência integrada, modelo de mensagem, etc.) e salve se necessário

  4. Na tela de edição da campanha, clique no botão Webhook no rodapé da página

  5. No modal Webhook da campanha, em Selecione o CRM, escolha ActiveCampaign

  6. Copie a URL clicando em Copiar webhook

  7. 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

  1. Faça login na conta ActiveCampaign (<conta>.activehosted.com)

  2. No menu lateral, abra Automações

  3. 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).

  1. Escolha o gatilho A tag é adicionada

  2. Em Tag, informe a tag que dispara a campanha (ex.: disparo-omnichat)

  3. Em Executa, selecione Múltiplas vezes se o mesmo contato precisar disparar a campanha novamente em execuções futuras (equivale à reinscrição/re-entry)

  4. 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

  1. No editor da automação, clique no botão + abaixo do gatilho

  2. No painel Adicione uma ação, digite webhook na busca (ou abra a aba Fluxo de trabalho)

  3. 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

  1. No campo Digite a URL para postar, cole a webhookUrl copiada no Passo 0

  2. Clique em Salvar

Figura 4: Ação Webhook com a URL do adapter (hash ocultado nesta imagem)

Item

Valor

URL

A webhookUrl completa da OmniChat. Precisa começar com https://

Método

POST — fixo na ação Webhook, não é configurável

Formato do corpo

application/x-www-form-urlencoded — fixo. A ActiveCampaign não envia JSON nesta ação

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

  1. Revise o fluxo (gatilho → Webhook)

  2. 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

contact[phone]

Telefone

fullNumber (sanitizado para E.164, sem +)

Sim

contact[id]

ID interno do contato

externalId

Não

contact[email]

Email

email

Não

contact[first_name]

Nome

name

Não

contact[last_name]

Sobrenome

lastName

Não

contact[orgname]

Conta / organização

company_name (usa customer_acct_name como alternativa quando vazio)

Não

contact[fields][perstag]

Campo personalizado (ver seção seguinte)

Token com o mesmo nome da perstag

Não

contact[tags], contact[ip4]

Tags e IP do contato

Descartados — não viram token de personalização

seriesid

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

%CUPOM%

cupom

Context Info

%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

  1. Abra um contato de teste com telefone válido preenchido

  2. Adicione a tag configurada no gatilho (ex.: disparo-omnichat)

  3. 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

Respondeu à sua pergunta?