Saltar para o conteúdo
Todos os artigos
Configuração

Marketing automation: Mailchimp, HubSpot, ActiveCampaign e Brevo

Sincronize os Contatos do CRM com a sua lista/audiência do Mailchimp, HubSpot, ActiveCampaign ou Brevo e receba de volta as inscrições e cancelamentos (modelo BYO, a conta é sua).

A integração de Marketing automation usa a SUA conta do Mailchimp, HubSpot, ActiveCampaign ou Brevo (modelo BYO, "traga a sua própria conta"). Os Contatos do CRM são adicionados/atualizados na sua lista/audiência (sincronização por e-mail, idempotente), e os eventos de inscrição/cancelamento voltam para o CRM atualizando o status de marketing do Contato. Não há custo, margem nem intermediação nossa: os dados vão direto para a sua conta e voltam dela.

A integração nasce inerte: nada acontece até você preencher as credenciais e ativar. Todos os segredos (API keys, tokens, client secret) ficam cifrados no CRM e nunca são exibidos de volta. Cada plataforma tem o seu próprio cartão em Configurações → Integrações; a URL do webhook é única (/api/inbound/marketing/…) e o CRM sabe de qual plataforma se trata pelo token da URL.

Pré-requisitos

  • Uma conta do Mailchimp, HubSpot ou ActiveCampaign com acesso de administrador para gerar API keys/tokens e criar webhooks.
  • Mailchimp: o prefixo do servidor (ex.: us21), o Audience ID e uma API key (Account → Extras → API keys).
  • HubSpot: um app privado (Settings → Integrations → Private Apps) com os escopos crm.objects.contacts.read/write. ActiveCampaign: a URL da API e a API key (Settings → Developer).
  • Brevo (ex-Sendinblue): uma API key (SMTP & API → API Keys) e, se quiser adicionar os contatos a uma lista, o ID numérico da lista (Contacts → Lists).
  • No Sellio, ser administrador para salvar as credenciais e ativar a integração em Configurações → Integrações.

O que é sincronizado

  • Saída (CRM → provedor): cada Contato com e-mail é enviado como membro/contato da sua lista/audiência. O upsert é idempotente por e-mail: reenviar não duplica (Mailchimp usa o hash MD5 do e-mail; HubSpot faz upsert por idProperty=email; ActiveCampaign usa /contact/sync; o Brevo usa POST /v3/contacts com updateEnabled). Nome, sobrenome e telefone acompanham. No Brevo, você ainda escolhe para qual atributo cada campo do Sellio vai (mapeamento de campos).
  • No Brevo, você ainda pode mandar cada contato para a LISTA do grupo de cliente dele, em vez de todos para a mesma lista: informe qual campo do contato guarda o grupo e escreva uma regra por linha, no formato grupo = lista. Grupo sem regra vai para a lista padrão, então ninguém fica sem receber por falta de configuração.
  • Entrada (provedor → CRM): quando alguém se inscreve ou cancela, o webhook atualiza o Contato correspondente no CRM (campos marketing_status e email_opt_in no registro), casando pelo e-mail. Se o e-mail não existir no CRM, o evento é ignorado (nada é criado).
  • Tempo real: assim que você cria ou edita um Contato no CRM, ele é sincronizado automaticamente para todos os conectores de marketing ativos (Mailchimp, ActiveCampaign, HubSpot e Brevo), sem esperar o lote. É best-effort e só roda quando há algum conector ativo.
  • O botão "Sincronizar contatos" no cartão envia os Contatos do CRM em lote (best-effort, até 200 por vez), útil para a carga inicial ou para reprocessar a base.
💡 A sincronização é idempotente nos dois sentidos: reenviar o mesmo contato apenas atualiza o membro existente, e reprocessar o mesmo evento de inscrição/cancelamento deixa o Contato no mesmo estado.

Mailchimp

  1. Abra Configurações → Integrações e localize o cartão "Marketing (Mailchimp)".
  2. Preencha o Prefixo do servidor (ex.: us21, a parte depois do traço na sua API key e no endereço do painel), o ID da audiência (Audience → Settings → Audience ID) e a API key (Account → Extras → API keys). Clique em "Salvar credenciais".
  3. Copie a "URL do webhook".
  4. No Mailchimp → Audience → Settings → Webhooks, crie um webhook apontando para essa URL e marque os eventos de inscrição (subscribe) e cancelamento (unsubscribe). O Mailchimp não assina os webhooks: a segurança é o token imprevisível da URL, então trate-a como secreta.
  5. Volte ao CRM e clique em "Ativar". Use "Sincronizar contatos" para o primeiro envio em lote.

HubSpot

  1. No CRM, localize o cartão "Marketing (HubSpot)".
  2. Crie um app privado em Settings → Integrations → Private Apps com os escopos crm.objects.contacts.read e .write; cole o Access token no campo "Private app token". Opcionalmente, informe o Client secret de um app do HubSpot para verificar a assinatura dos webhooks. Clique em "Salvar credenciais".
  3. Copie a "URL do webhook".
  4. Configure um webhook de workflow (ou de app) no HubSpot que faça POST (JSON) nessa URL incluindo o e-mail do contato e o status de marketing. Se você informou o Client secret, o HubSpot assina cada chamada (X-HubSpot-Signature); senão, o token da URL é o guarda.
  5. Volte ao CRM e clique em "Ativar".

ActiveCampaign

  1. No CRM, localize o cartão "Marketing (ActiveCampaign)".
  2. Preencha a URL da API e a API key (ambas em Settings → Developer → API Access). Clique em "Salvar credenciais".
  3. Copie a "URL do webhook".
  4. No ActiveCampaign → Settings → Manage Webhooks, crie um webhook apontando para essa URL e marque os eventos de inscrição (subscribe) e cancelamento (unsubscribe). O ActiveCampaign não assina os webhooks: a segurança é o token imprevisível da URL, então trate-a como secreta.
  5. Volte ao CRM e clique em "Ativar".

Brevo (ex-Sendinblue)

  1. No CRM, localize o cartão "Marketing (Brevo)".
  2. No Brevo, gere uma API key em SMTP & API → API Keys (ou pela engrenagem da conta → SMTP & API). Copie a chave.
  3. De volta ao Sellio, cole a chave no campo "API key". Se quiser adicionar os contatos a uma lista, informe o ID numérico da lista (o número aparece na URL da lista em Contacts → Lists); deixe em branco para só criar/atualizar o contato.
  4. No "Mapeamento de campos", ligue cada campo do Contato do Sellio ao atributo correspondente no Brevo (em maiúsculas). Os padrões são FIRSTNAME, LASTNAME, SMS (telefone) e COMPANY (empresa). Deixe em branco para usar o padrão. Crie antes os atributos personalizados em Contacts → Settings → Contact attributes, senão o Brevo ignora um atributo inexistente. Clique em "Salvar credenciais".
  5. Copie a "URL do webhook".
  6. No Brevo → Settings → Webhooks, crie um webhook do tipo Marketing apontando para essa URL e marque o evento de cancelamento de inscrição (unsubscribe). O Brevo não assina os webhooks: a segurança é o token imprevisível da URL, então trate-a como secreta.
  7. Volte ao CRM e clique em "Ativar". Use "Sincronizar contatos" para o primeiro envio em lote.

Trate as URLs dos webhooks e as credenciais como secretas. Onde o Mailchimp/ActiveCampaign não assinam as chamadas, a segurança está no token imprevisível da URL (o mesmo modelo dos formulários de site); no HubSpot, informe o Client secret para exigir a assinatura. Se você tentar ativar sem as credenciais necessárias, a integração fica inerte: nada é sincronizado até tudo estar no lugar.

Como testar

  1. Saída: clique em "Sincronizar contatos" no cartão e confira na sua lista/audiência do provedor que os Contatos com e-mail apareceram (sem duplicar).
  2. Entrada: inscreva/cancele um e-mail de teste que já exista como Contato no CRM e confirme que os campos marketing_status e email_opt_in do Contato foram atualizados.
  3. Reenvie o mesmo contato e o mesmo evento e confirme que o estado final é o mesmo (idempotência).

Solução de problemas

  • Mailchimp 401/erro de servidor: o prefixo do servidor (ex.: us21) precisa bater com o da sua conta; confira também o Audience ID e a API key.
  • HubSpot 401: o Private app token está errado ou sem os escopos crm.objects.contacts.read/write. Recrie o app privado com os escopos e recole o token.
  • ActiveCampaign 401: confira a URL da API e a API key (Settings → Developer → API Access), ambas da mesma conta.
  • Brevo 401/403: a API key está errada ou foi revogada. Gere uma nova em SMTP & API → API Keys e recole. Se um atributo não aparece no contato do Brevo, crie-o antes em Contacts → Settings → Contact attributes (o Brevo ignora atributos inexistentes). Se o contato não entra na lista, confira o ID numérico da lista.
  • Entrada não atualiza o Contato: se o e-mail do evento não existe no CRM, nada é criado (por design). Cadastre o Contato primeiro. Confirme que o webhook aponta para a "URL do webhook" e marca subscribe/unsubscribe.
  • HubSpot: assinatura inválida: se você informou o Client secret, o header X-HubSpot-Signature precisa conferir; senão, remova o secret e confie no token da URL.

Abrir este artigo dentro do sistema

Leu e quer ver funcionando?

A conta é grátis e o manual inteiro está disponível dentro do sistema, com um assistente que responde pelo próprio conteúdo.

Criar conta grátis
Marketing automation: Mailchimp, HubSpot, ActiveCampaign e Brevo · Sellio