- Accueil
- Ressources
- Intégrations
- Customer.io
Intégration Customer.io n8nAutomatiser Customer.io avec n8n.
Un clic sur un email Customer.io, et ensuite ? Une intégration Customer.io n8n expose 9 opérations réparties sur 4 ressources : clients, événements, campagnes, segments. Le trigger écoute 32 événements en 5 familles. Pour les équipes qui pilotent déjà leurs messages.
Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth
À quoi sert une intégration Customer.io n8n ?
Une intégration Customer.io n8n relie les profils stockés dans Customer.io au reste des outils qui tournent chez toi. Le nœud crée et met à jour des clients, envoie des événements, lit les campagnes et fait entrer ou sortir des profils d'un segment. Le trigger, lui, va dans l'autre sens : il réagit à ce qui se passe une fois le message parti, et le suivi cesse d'être une tâche manuelle du lundi matin.
Premier scénario, l'inscription. Une ligne arrive dans Google Sheets, n8n la récupère, customer.upsert crée le profil avec son adresse email, puis segment.add le place dans le segment d'accueil et la campagne démarre toute seule. C'est la forme du template Customer.io publié sur n8n.io sous le numéro 646, et c'est le chemin le plus court entre un formulaire et une séquence qui tourne.
Deuxième scénario, la réaction. Le trigger se déclenche sur email.clicked, n8n filtre sur la campagne concernée, et le commercial qui suit le compte reçoit un message dans Slack pendant que l'intérêt est encore chaud. Même câblage sur email.spammed : le profil sort du segment de nurturing via segment.remove avant le prochain envoi. Pour une astreinte, la même alerte part aussi bien dans Telegram.
Troisième scénario, le reporting. Un nœud Schedule tourne le lundi, campaign.getAll liste les campagnes, campaign.getMetrics récupère les compteurs de chacune, et le tableau se remplit sans que personne ouvre un dashboard. Une boutique en ligne y voit en une ligne ce que la relance panier a rapporté sur la semaine.
Le nœud couvre 4 ressources, pas une de plus. Pour le reste de l'API Customer.io, le nœud HTTP Request appelle l'endpoint directement et réutilise le même credential, c'est-à-dire le jeu d'identifiants enregistré dans n8n, via l'authentification prédéfinie. À savoir avant de dessiner un workflow : aucune opération du nœud n'envoie de message. L'envoi reste le métier des campagnes Customer.io. Si le workflow doit sortir un email transactionnel par lui-même, c'est le rôle d'un autre nœud, Mautic par exemple selon la pile en place.
Côté trigger, n8n affiche encore la mention Beta et la version 1 : à surveiller, pas à oublier dans un coin. Il n'a pas non plus d'option attrape-tout, chaque événement voulu se coche à la main dans la liste Events. Si le choix de la plateforme n'est pas tranché, l'Avis n8n détaille l'hébergement, le modèle de coût et les points qui coincent.
Comment connecter Customer.io à n8n ?
- 01
Générer les deux clés d'API dans Customer.io
Customer.io expose deux API distinctes et n8n a besoin d'une clé pour chacune. La Tracking API Key sert la Track API, à l'adresse
https://track.customer.io/api/v1/. L'App API Key sert l'App API, à l'adressehttps://api.customer.io/v1/api/. Les deux se créent depuis l'écran des identifiants du compte Customer.io, celui que leur documentation appelle la gestion des credentials. - 02
Choisir la région de ton espace de travail
Le champ Region change les sous-domaines appelés par n8n. L'option Global garde les URL par défaut des deux API et couvre tous les pays hors Union européenne. L'option EU bascule le sous-domaine de la Track API sur
track-euet celui de l'App API surapi-eu, et elle ne se sélectionne que si l'espace de travail est bien européen. Une région mal choisie, et une clé valide ne s'authentifie jamais. - 03
Créer le credential une fois dans n8n
Dans n8n, ouvre le menu Credentials et ajoute un credential Customer.io. Colle la Tracking API Key, le Tracking Site ID qui l'accompagne, l'App API Key et la région. Ce credential unique alimente à la fois le nœud Customer.io et le Customer.io Trigger, et tous les workflows suivants le sélectionnent dans une liste déroulante, sans jamais retaper une clé.
Qu'est-ce qui déclenche un workflow depuis Customer.io ?
Customer.io Trigger est le nœud qui démarre un workflow quand quelque chose se passe dans Customer.io. Il écoute 32 événements, listés ci-dessous par famille. Tu en choisis un ou plusieurs, tu actives le workflow : n8n enregistre le webhook (l'URL que Customer.io appelle) sur ton compte.
Ce que tu vois dans n8n
Tous les événements, par famille
Une ligne par objet, une puce par action. L'événement à cocher dans le nœud s'écrit objet.action ; survole une puce pour lire quand il se déclenche.
email.*10email.attemptedbouncedclickedconverteddelivereddraftedfailedopenedsentspammed
push.*8push.attemptedbouncedclickeddelivereddraftedfailedopenedsent
sms.*7sms.attemptedbouncedclickeddelivereddraftedfailedsent
slack.*5slack.attemptedclickeddraftedfailedsent
customer.*2customer.subscribedunsubscribed
Notes de configuration
01Configure the Customer.io Trigger
Le Customer.io Trigger démarre un workflow quand quelque chose se produit dans Customer.io. Il n'a qu'un réglage, et tout se joue dessus.
Paramètres clés
- Events : la liste des événements que le webhook transmettra. Un webhook, c'est une URL que Customer.io appelle au moment où l'événement se produit : rien n'est interrogé à intervalle régulier et chaque événement arrive en quelques secondes. Aucune option attrape-tout n'existe, donc coche un par un les événements utiles parmi les 32 disponibles.
02Email Events
L'email est la plus grosse famille du catalogue avec 10 événements, du moment où le message est préparé jusqu'à la plainte pour spam.
Paramètres clés
- Events :
email.drafted,email.attempted,email.sentetemail.deliveredsuivent l'envoi étape par étape, puisemail.opened,email.clickedetemail.convertedracontent ce que le destinataire en a fait. - Events : les trois signaux d'échec sont
email.bounced,email.failedetemail.spammed. Ils méritent leur propre workflow plutôt qu'une branche partagée avec le reste.
email.converted vers la personne qui suit le compte, et brancher email.spammed sur un nettoyage qui retire le profil de tous les segments de relance. Un troisième workflow sur email.delivered recopie chaque envoi dans ta propre base, et l'historique des messages ne dépend plus de ce qu'un seul outil veut bien garder.03Push Events
La notification mobile compte 8 événements, avec des noms assez proches de la famille email pour qu'un seul workflow traite souvent les deux canaux.
Paramètres clés
- Events :
push.drafted,push.attempted,push.sentetpush.deliveredtracent l'acheminement, tandis quepush.openedetpush.clickeddisent ce que l'appareil a fait de la notification. - Events :
push.bouncedetpush.failedsignalent un problème de livraison, le plus souvent un jeton d'appareil qui ne répond plus.
push.failed marque le profil dans ta base, et la campagne suivante repart sur l'email au lieu de parler dans le vide. L'inverse sert tout autant : noter push.opened à côté du profil évite qu'une séquence renvoie une notification qui a déjà fait son travail.04SMS and Slack Events
Deux familles plus courtes cohabitent dans la liste Events : 7 événements pour le SMS et 5 pour Slack, soit 12 à elles deux.
Paramètres clés
- Events : côté SMS,
sms.drafted,sms.attempted,sms.sent,sms.delivered,sms.clicked, plussms.bouncedetsms.failedquand le numéro rejette le message. - Events : côté Slack,
slack.drafted,slack.attempted,slack.sent,slack.clickedetslack.failed. Cette famille n'a ni signal de livraison ni rebond.
sms.failed qui arrête d'insister sur un mauvais numéro évite de matraquer une ligne morte au prochain envoi. Côté Slack, slack.clicked confirme qu'une alerte interne a bien été lue. Les deux familles annoncent aussi un état préparé puis un état tenté avant que quoi que ce soit ne parte, ce qui permet de tracer l'intention même quand l'envoi n'aboutit pas.05Customer Subscription Events
La plus petite famille tient en 2 événements, et ce sont ceux qui engagent juridiquement : customer.subscribed part quand un abonné entre dans une liste, customer.unsubscribed quand quelqu'un se désabonne.
Paramètres clés
- Events : coche
customer.subscribedpour attraper chaque nouvel opt-in, quelle que soit sa provenance, formulaire ou import. - Events : coche
customer.unsubscribedpour récupérer chaque désabonnement à la seconde où il arrive.
customer.unsubscribed répercute le refus dans le CRM et dans la facturation en une seule exécution. Personne ne reconstruit une liste depuis un export périmé six mois plus tard. Côté opt-in, l'événement alimente la séquence de bienvenue via segment.add. À elles deux, ces entrées constituent aussi une piste d'audit : chaque changement d'appartenance atterrit au même endroit, avec le moment exact où il s'est produit.Que sait faire le nœud Customer.io dans un workflow ?
Le nœud Customer.io expose 9 opérations sur 4 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.
| Ressource | Get | Get Many | Delete | Add Customer | Remove Customer | Get Metrics | Track | Track Anonymous | Create or Update |
|---|---|---|---|---|---|---|---|---|---|
| Customer | ✓ | ✓ | |||||||
| Event | ✓ | ✓ | |||||||
| Campaign | ✓ | ✓ | ✓ | ||||||
| Segment | ✓ | ✓ |
Sommaire des opérations
Customer
2 opérationsCreate or update a customer
customer.upsertCe que tu vois dans n8n
Notes & cas d'usage
Un seul appel gère les deux situations. Si l'identifiant existe déjà dans Customer.io, le profil est mis à jour ; sinon il est créé. C'est ce que veut dire upsert.
Paramètres clés
- ID : l'identifiant unique du client, souvent
{{ $json.id }}repris du nœud précédent. Garde la même valeur partout, sinon une personne devient deux profils. - Additional Fields : contient Email, Created At sous forme d'horodatage UNIX en secondes, et Custom Properties pour tes propres attributs.
- JSON Parameters : activé, tu colles la charge utile entière en JSON au lieu de remplir champ par champ.
Delete a customer
customer.deleteCe que tu vois dans n8n
Notes & cas d'usage
Effacer un profil tient en un champ, et l'opération ne laisse rien derrière elle dans Customer.io.
Paramètres clés
- ID : l'identifiant unique du client, la valeur utilisée à la création du profil, généralement
{{ $json.id }}issu d'une recherche en amont plutôt qu'une adresse saisie à la main.
Event
2 opérationsTrack a customer event
event.trackCe que tu vois dans n8n
Notes & cas d'usage
Envoie un événement nommé rattaché à un profil connu. C'est ce qui donne à une campagne quelque chose à écouter.
Paramètres clés
- Customer ID : l'identifiant unique du client auquel l'événement se rattache.
- Event Name : le nom de l'événement à suivre, celui que tes conditions de campagne compareront.
- Additional Fields : Custom Attributes porte les données jointes, et Type change le type d'événement, à régler sur
pagepour une vue de page.
Track an anonymous event
event.trackAnonymousCe que tu vois dans n8n
Notes & cas d'usage
Même principe, sans identité derrière. Utile quand le visiteur a fait quelque chose d'intéressant avant même d'exister comme profil.
Paramètres clés
- Event Name : obligatoire ici, puisque c'est la seule chose qui décrit ce qui s'est passé.
- Additional Fields : Custom Attributes transporte le contexte disponible, un email saisi dans un formulaire ou une référence produit.
- JSON Parameters : activé, la charge utile part en JSON brut dans Additional Fields.
Campaign
3 opérationsGet a campaign
campaign.getCe que tu vois dans n8n
Notes & cas d'usage
Lit une campagne et renvoie ses informations. C'est la façon rapide de transformer un identifiant en quelque chose de lisible.
Paramètres clés
- Campaign ID : l'identifiant unique de la campagne, un nombre et non son nom, le plus souvent
{{ $json.campaign_id }}transporté par un événement du trigger.
email.bounced se lit beaucoup mieux avec le nom de la campagne dedans. Cette opération traduit l'identifiant brut du webhook en libellé que l'équipe reconnaît, avant que le message ne parte où que ce soit.Get many campaigns
campaign.getAllCe que tu vois dans n8n
Notes & cas d'usage
Renvoie les campagnes de l'espace de travail d'un coup. Aucun champ à remplir, ce qui en fait le premier nœud naturel d'un workflow de reporting.
Get metrics for a campaign
campaign.getMetricsCe que tu vois dans n8n
Notes & cas d'usage
Renvoie les compteurs d'une campagne sur une période donnée, prêts à être écrits dans un tableur ou une base.
Paramètres clés
- Campaign ID : l'identifiant numérique de la campagne à mesurer.
- Period : hours, days, weeks ou months, ce qui fixe la granularité de la série.
- Steps : le nombre de périodes renvoyées. Par défaut, le maximum disponible, ou 12 avec months. Les plafonds sont 24 hours, 45 days, 12 weeks et 120 months.
- Type : restreint la mesure à email, push, slack, twilio, urbanAirship, webhook ou empty.
Segment
2 opérationsAdd a customer to a segment
segment.addCe que tu vois dans n8n
Notes & cas d'usage
Fait entrer un ou plusieurs profils dans un segment manuel. C'est en général ce qui met vraiment une campagne en route.
Paramètres clés
- Segment ID : l'identifiant numérique du segment, récupéré dans Customer.io et à noter quelque part dans le workflow.
- Customer IDs : la liste des identifiants clients à ajouter, ce qui fait entrer un lot entier avec un seul nœud, sans boucle.
Remove a customer from a segment
segment.removeCe que tu vois dans n8n
Notes & cas d'usage
Sort des profils d'un segment manuel. Les profils restent dans Customer.io, seule leur appartenance au segment s'arrête.
Paramètres clés
- Segment ID : l'identifiant numérique du segment que les profils quittent.
- Customer IDs : la liste des identifiants clients à retirer.
Besoin d'aide pour automatiser Customer.io avec n8n ?
L'équipe te répond directement.
Chaque message est lu par une personne.



