Équipes SaaS et produits
Votre produit sait des choses qu'aucun outil marketing ne peut observer
Qui a terminé l'onboarding et qui a calé à la troisième étape. Qui a invité un collègue. Qui a atteint la limite deux fois cette semaine. Qui n'a pas ouvert la chose depuis quinze jours. Chacun de ces signaux est un meilleur déclencheur que tout ce qui découle d'une ouverture d'e-mail, et tous sont à deux lignes de code d'en devenir un.
Les événements constituent toute l'intégration
POST /v1/events avec votre propre jeton : un nom que vous avez choisi, un contact, une charge utile, une clé d'idempotence. C'est toute la connexion. Aucun SDK à maintenir à jour, aucun écran de correspondance, et aucun vocabulaire à nous que vous devriez traduire votre produit pour l'adapter.
Chaque événement atterrit dans le journal en ajout seul du contact, et à partir de là, il est trois choses à la fois. Un déclencheur, pour qu'un funnel démarre dès son arrivée. Un prédicat, pour qu'un segment puisse dire « a fait ceci au cours des quatorze derniers jours » ou, plus utile, « ne l'a pas fait ». Et un objectif, pour qu'une séquence s'arrête dès que la personne fait ce qu'on lui suggérait de faire.
C'est ce troisième point qui rend les messages de cycle de vie supportables à recevoir. L'incitation à terminer la configuration de votre compte devrait cesser d'exister dès l'instant où le compte est configuré, et dans la plupart des outils, ce n'est pas le cas, parce que la séquence et le produit ne se parlent pas.
- ⚡Déclencheur
api_event—signup.completed, forfaitfree. - 2Envoyer un e-mailLa seule chose à faire en premier. Pas une visite guidée de onze fonctionnalités.
- 3Attendre 2 jours
wake_atsur l'exécution. Rien en file d'attente, rien à démêler si vous réécrivez ceci demain. - ?Condition
project.createdest-il arrivé ? Non → la branche d'aide. Oui → l'objectif ci-dessous. - 4Branche d'aideUn message, proposant précisément ce qu'ils n'ont pas fait. Puis une seconde attente.
- 5Objectif
project.createdarrive. L'exécution se termine. Plus aucun e-mail d'onboarding, jamais, pour cette personne.
Vos noms d'événementsVotre définition de l'activation
Cinq funnels
Le cycle de vie, dans l'ordre où il se produit réellement
1 · Activation
Déclencheur : l'inscription. Deux ou trois messages, chacun consacré à une seule action, chacun avec un objectif qui met fin à la séquence quand cette action se produit. Le funnel le plus précieux que vous construirez, et celui qui mérite le plus d'être réécrit trois fois.
2 · Le blocage
Déclencheur : segment_enter — inscrit, aucun événement significatif depuis sept jours. Un message qui demande plutôt qu'il n'affirme, et un autre qui propose quelque chose de concret. Puis on s'arrête. Un quatrième message à quelqu'un qui en a ignoré trois est un message pour personne.
3 · Le moment d'expansion
Déclencheur : un événement qui signale qu'ils tirent de la valeur — atteinte de la limite, invitation d'un troisième collègue, deuxième export. C'est le seul moment où un message de mise à niveau est bienvenu, et c'est un moment que votre produit peut nommer avec précision.
4 · Renouvellement et relances de paiement
Déclencheur : date_field avant le renouvellement, ou un événement de paiement. Un avis, un rappel et — si un paiement échoue — une courte séquence qui s'arrête dès qu'il réussit. Les nœuds d'objectif ne sont pas facultatifs dans les relances ; ils font la différence entre un rappel et du harcèlement.
5 · Réactivation
Déclencheur : segment_enter — résilié ou inactif depuis soixante jours. Deux messages, honnêtes, puis une étiquette et le silence. Ce qui a changé depuis leur départ est un meilleur message qu'une remise.
Et celui en interne
notify_team prévient un humain quand un compte qui mérite un humain franchit un seuil. Un funnel n'a pas besoin de se terminer par un e-mail à un client ; parfois, la bonne action consiste à demander à quelqu'un de votre côté de décrocher le téléphone.

Personne ne résilie volontairement. Ils cessent simplement de l'ouvrir.
Pourquoi un développeur pourrait réellement aimer ceci
Ce qui compte quand c'est vous qui intégrez
Aucun endpoint privé
Chaque écran est constructible à partir de l'API publique, parce qu'il n'existe pas d'autre sorte. Si vous voulez intégrer un rapport de campagne dans votre propre back-office, rien ne vous en empêche et rien n'est à rétro-ingénierer.
Des clés d'idempotence partout
Sur chaque route de modification. Votre logique de réessai, votre file d'attente at-least-once et votre réseau capricieux deviennent le problème de quelqu'un d'autre — plus précisément, le problème d'un index unique.
Simuler avant de livrer
POST /v1/simulate fait passer un contact dans un funnel à blanc et renvoie le chemin ainsi que chaque message qu'il enverrait. Mettez-le dans votre CI si vous voulez : un funnel est un graphe, et un graphe peut être testé.
Un serveur MCP
Pointez un agent vers /mcp et laissez-le rédiger et vérifier des funnels. Les outils capables d'envoyer exigent une confirmation explicite et sont plafonnés par quota, si bien qu'un prompt mal interprété ne peut pas devenir cinquante mille e-mails.
Webhooks sortants
Signé, réessayé avec backoff, au moins une fois. Le même vocabulaire d'événements que celui des rapports, pour que votre entrepôt de données et votre tableau de bord ne divergent pas sur ce que signifie « livré ».
Une effacement qui atteint réellement sa cible
Une demande de suppression retire le contact et l'historique de ses messages ici et se propage à chaque service frère qui détenait une copie. Une demande, un résultat, et quelque chose à montrer si on vous le demande.
Où se situe la frontière
ClickSomo détient une liste de diffusion et ce que cette liste a fait. Ce n'est pas votre base d'utilisateurs et cela ne prétend pas l'être : un contact ne porte jamais d'identifiants, ne se connecte jamais et ne devient jamais un compte. Vos utilisateurs vivent dans votre produit ; les contacts vivent ici, et les deux sont reliés par une adresse e-mail et les événements que vous choisissez d'envoyer.
Cette séparation est délibérée et c'est la raison pour laquelle le modèle de consentement fonctionne. Vous êtes le responsable du traitement de vos utilisateurs ; nous traitons les données en votre nom. Une conception où un outil marketing devient discrètement le magasin d'identités est une conception impossible à démêler ensuite, et c'est précisément l'échec que celle-ci est conçue pour éviter.
La version pratique : envoyez les événements, envoyez les attributs sur lesquels vous voulez segmenter, et laissez tout le reste où il se trouve. Si vous vous surprenez à pousser tout votre schéma ici, le segment que vous essayez de construire est probablement une requête dans votre propre base de données, qui devrait plutôt arriver sous forme d'un seul attribut booléen.