Aller au contenu
All articles
Setup

Automatisation marketing : Mailchimp, HubSpot, ActiveCampaign et Brevo

Synchronisez les Contacts du CRM avec votre liste/audience Mailchimp, HubSpot, ActiveCampaign ou Brevo et recevez en retour les inscriptions et désinscriptions (modèle BYO, le compte est le vôtre).

L'intégration Automatisation marketing utilise VOTRE compte Mailchimp, HubSpot, ActiveCampaign ou Brevo (modèle BYO : vous apportez votre propre compte). Les Contacts du CRM sont ajoutés/mis à jour dans votre liste/audience (synchronisation par e-mail, idempotente), et les événements d'inscription/désinscription reviennent dans le CRM en mettant à jour le statut marketing du Contact. Il n'y a aucun coût, aucune marge ni aucune intermédiation de notre côté : les données vont directement vers votre compte et en reviennent.

L'intégration démarre inerte : rien ne se passe tant que vous n'avez pas rempli les identifiants et activé l'intégration. Tous les secrets (clés API, jetons, secret client) sont stockés chiffrés dans le CRM et ne sont jamais réaffichés. Chaque plateforme a sa propre carte dans Paramètres → Intégrations ; l'URL du webhook est unique (/api/inbound/marketing/…) et le CRM identifie la plateforme grâce au jeton de l'URL.

Prérequis

  • Un compte Mailchimp, HubSpot ou ActiveCampaign avec un accès administrateur pour générer des clés API/jetons et créer des webhooks.
  • Mailchimp : le préfixe serveur (par exemple, us21), l'Audience ID et une clé API (Account → Extras → API keys).
  • HubSpot : une application privée (Settings → Integrations → Private Apps) avec les portées crm.objects.contacts.read/write. ActiveCampaign : l'URL de l'API et la clé API (Settings → Developer).
  • Brevo (anciennement Sendinblue) : une clé API (SMTP & API → API Keys) et, si vous voulez ajouter des contacts à une liste, l'ID numérique de la liste (Contacts → Lists).
  • Dans Sellio, un accès administrateur pour enregistrer les identifiants et activer l'intégration dans Paramètres → Intégrations.

Ce qui est synchronisé

  • Sortant (CRM → fournisseur) : chaque Contact avec un e-mail est envoyé comme membre/contact de votre liste/audience. L'upsert est idempotent par e-mail, donc renvoyer ne duplique pas (Mailchimp utilise le hachage MD5 de l'e-mail ; HubSpot fait l'upsert par idProperty=email ; ActiveCampaign utilise /contact/sync ; Brevo utilise POST /v3/contacts avec updateEnabled). Le prénom, le nom et le téléphone suivent. Sur Brevo, vous choisissez également à quel attribut chaque champ Sellio correspond (mappage de champs).
  • Dans Brevo, vous pouvez aussi envoyer chaque contact vers la LISTE correspondant à son groupe de clients, au lieu d'envoyer tout le monde vers la même liste : indiquez quel champ du contact contient le groupe et écrivez une règle par ligne, au format groupe = liste. Un groupe sans règle part vers la liste par défaut, ainsi personne n'est privé d'envoi à cause d'un paramétrage manquant.
  • Entrant (fournisseur → CRM) : quand quelqu'un s'inscrit ou se désinscrit, le webhook met à jour le Contact correspondant dans le CRM (champs marketing_status et email_opt_in de l'enregistrement), en faisant correspondre par e-mail. Si l'e-mail n'existe pas dans le CRM, l'événement est ignoré (rien n'est créé).
  • En temps réel : dès que vous créez ou modifiez un Contact dans le CRM, il est synchronisé automatiquement vers chaque connecteur marketing actif (Mailchimp, ActiveCampaign, HubSpot et Brevo), sans attendre le lot. C'est du best-effort et cela ne s'exécute que si au moins un connecteur est actif.
  • Le bouton « Synchroniser les contacts » sur la carte envoie les Contacts du CRM en masse (best-effort, jusqu'à 200 à la fois), pratique pour le premier chargement ou pour retraiter vos contacts.
💡 La synchronisation est idempotente dans les deux sens : renvoyer le même contact ne fait que mettre à jour le membre existant, et retraiter le même événement d'inscription/désinscription laisse le Contact dans le même état.

Mailchimp

  1. Ouvrez Paramètres → Intégrations et trouvez la carte « Marketing (Mailchimp) ».
  2. Remplissez le préfixe serveur (par exemple, us21, la partie après le tiret dans votre clé API et dans l'adresse du tableau de bord), l'Audience ID (Audience → Settings → Audience ID) et la clé API (Account → Extras → API keys). Cliquez sur « Enregistrer les identifiants ».
  3. Copiez l'« URL du webhook ».
  4. Dans Mailchimp → Audience → Settings → Webhooks, créez un webhook pointant vers cette URL et cochez les événements subscribe et unsubscribe. Mailchimp ne signe pas les webhooks : la sécurité repose sur le jeton imprévisible de l'URL, traitez-le donc comme un secret.
  5. Revenez au CRM et cliquez sur « Activer ». Utilisez « Synchroniser les contacts » pour le premier envoi en masse.

HubSpot

  1. Dans le CRM, trouvez la carte « Marketing (HubSpot) ».
  2. Créez une application privée dans Settings → Integrations → Private Apps avec les portées crm.objects.contacts.read et .write ; collez le jeton d'accès dans le champ « Jeton d'application privée ». Facultativement, saisissez le Client secret d'une application HubSpot pour vérifier la signature du webhook. Cliquez sur « Enregistrer les identifiants ».
  3. Copiez l'« URL du webhook ».
  4. Configurez un webhook de workflow (ou webhook d'application) dans HubSpot qui envoie un POST (JSON) vers cette URL, incluant l'e-mail du contact et le statut marketing. Si vous avez saisi le Client secret, HubSpot signe chaque appel (X-HubSpot-Signature) ; sinon, le jeton de l'URL fait office de garde-fou.
  5. Revenez au CRM et cliquez sur « Activer ».

ActiveCampaign

  1. Dans le CRM, trouvez la carte « Marketing (ActiveCampaign) ».
  2. Remplissez l'URL de l'API et la clé API (les deux dans Settings → Developer → API Access). Cliquez sur « Enregistrer les identifiants ».
  3. Copiez l'« URL du webhook ».
  4. Dans ActiveCampaign → Settings → Manage Webhooks, créez un webhook pointant vers cette URL et cochez les événements subscribe et unsubscribe. ActiveCampaign ne signe pas les webhooks : la sécurité repose sur le jeton imprévisible de l'URL, traitez-le donc comme un secret.
  5. Revenez au CRM et cliquez sur « Activer ».

Brevo (anciennement Sendinblue)

  1. Dans le CRM, trouvez la carte « Marketing (Brevo) ».
  2. Dans Brevo, générez une clé API dans SMTP & API → API Keys (ou via l'engrenage du compte → SMTP & API). Copiez la clé.
  3. De retour dans Sellio, collez la clé dans le champ « Clé API ». Si vous voulez ajouter des contacts à une liste, saisissez l'ID numérique de la liste (le numéro apparaît dans l'URL de la liste sous Contacts → Lists) ; laissez vide pour seulement créer/mettre à jour le contact.
  4. Sous « Mappage de champs », associez chaque champ Contact de Sellio à l'attribut Brevo correspondant (en majuscules). Les valeurs par défaut sont FIRSTNAME, LASTNAME, SMS (téléphone) et COMPANY (entreprise). Laissez vide pour utiliser la valeur par défaut. Créez d'abord tout attribut personnalisé dans Contacts → Settings → Contact attributes, sinon Brevo ignore un attribut qui n'existe pas. Cliquez sur « Enregistrer les identifiants ».
  5. Copiez l'« URL du webhook ».
  6. Dans Brevo → Settings → Webhooks, créez un webhook Marketing pointant vers cette URL et cochez l'événement de désinscription. Brevo ne signe pas les webhooks : la sécurité repose sur le jeton imprévisible de l'URL, traitez-le donc comme un secret.
  7. Revenez au CRM et cliquez sur « Activer ». Utilisez « Synchroniser les contacts » pour le premier envoi en masse.

Traitez les URL des webhooks et les identifiants comme des secrets. Là où Mailchimp/ActiveCampaign ne signent pas les appels, la sécurité repose sur le jeton imprévisible de l'URL (le même modèle que les formulaires de site web) ; sur HubSpot, saisissez le Client secret pour exiger la signature. Si vous essayez d'activer sans les identifiants nécessaires, l'intégration reste inerte, et rien n'est synchronisé tant que tout n'est pas en place.

Comment tester

  1. Sortant : cliquez sur « Synchroniser les contacts » sur la carte et vérifiez dans la liste/audience de votre fournisseur que les Contacts avec un e-mail sont apparus (sans se dupliquer).
  2. Entrant : inscrivez/désinscrivez un e-mail de test qui existe déjà comme Contact dans le CRM et confirmez que les champs marketing_status et email_opt_in du Contact ont été mis à jour.
  3. Renvoyez le même contact et le même événement et confirmez que l'état final est identique (idempotence).

Dépannage

  • Mailchimp 401/erreur serveur : le préfixe serveur (par exemple, us21) doit correspondre à celui de votre compte ; vérifiez aussi l'Audience ID et la clé API.
  • HubSpot 401 : le jeton d'application privée est incorrect ou il manque les portées crm.objects.contacts.read/write. Recréez l'application privée avec les portées et recollez le jeton.
  • ActiveCampaign 401 : vérifiez l'URL de l'API et la clé API (Settings → Developer → API Access), toutes deux issues du même compte.
  • Brevo 401/403 : la clé API est incorrecte ou a été révoquée. Générez-en une nouvelle dans SMTP & API → API Keys et recollez-la. Si un attribut n'apparaît pas sur le contact Brevo, créez-le d'abord dans Contacts → Settings → Contact attributes (Brevo ignore les attributs qui n'existent pas). Si le contact ne rejoint pas la liste, vérifiez l'ID numérique de la liste.
  • L'événement entrant ne met pas à jour le Contact : si l'e-mail de l'événement n'existe pas dans le CRM, rien n'est créé (par conception). Enregistrez d'abord le Contact. Confirmez que le webhook pointe vers l'« URL du webhook » et coche subscribe/unsubscribe.
  • HubSpot : signature invalide : si vous avez saisi le Client secret, l'en-tête X-HubSpot-Signature doit correspondre. Sinon, supprimez le secret et fiez-vous au jeton de l'URL.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Créer un compte gratuit
Automatisation marketing : Mailchimp, HubSpot, ActiveCampaign et Brevo · Sellio