Blog › Construire avec l'IA

Construire avec l'IA

Onboarding clients : l’automatiser dès le paiement

Un onboarding clients automatisé démarre à la seconde où l’avance est payée : CRM à jour, deux emails de bienvenue, un canal Slack dédié, sans que vous leviez le petit doigt. En moins de 30 minutes, votre client abandonne le doute post-achat (« ai-je fait le bon choix ? ») pour la certitude que son projet est déjà en marche. Voici le scénario Make que j’ai construit en direct, pas à pas, avec ses erreurs.

Ce que reçoit le client dans les 30 minutes qui suivent

Tout part d’un seul événement : le paiement de l’avance. Je conseille de ne jamais commencer à travailler avant d’avoir reçu une première avance, donc c’est le bon déclencheur.

Derrière, sept étapes s’enchaînent :

  1. Le paiement de l’avance (Stripe ou ThriveCart).
  2. Le contact passe au statut client dans le CRM (HubSpot dans la vidéo), avec une note du montant payé.
  3. Un email de bienvenue part 3 minutes plus tard, depuis votre adresse.
  4. Un email qui explique la suite du projet part quelques minutes après.
  5. Un canal Slack privé est créé au nom du client.
  6. Les membres de votre équipe y sont ajoutés.
  7. Un premier message y est posté pour le client.

Résultat côté client : 4 emails dans sa boîte. La facture, votre message de bienvenue, le processus d’onboarding, et l’invitation au canal Slack. Il n’a encore rien reçu du projet, mais il voit que quelqu’un s’en occupe. C’est cette perception qui retire l’anxiété.

Slack n’est qu’un exemple. Si vos clients sont sur Teams ou WhatsApp, la logique est la même.

Le déclencheur : le paiement de l’avance

Avec Stripe

Stripe envoie lui-même la facture par email dès qu’un paiement réussit. Dans les paramètres, ouvrez les emails clients et activez l’option des paiements réussis. Le logo et les couleurs se règlent dans la partie image de marque, avec un aperçu de l’email et du PDF.

Pour encaisser l’avance, créez un produit (dans la vidéo : « Refonte CRM », 5 000 €, paiement ponctuel en euros), puis un lien de paiement (Payment Links). Cochez la collecte de l’adresse de facturation et du téléphone si vous en avez besoin. Vous envoyez ce lien au client, il choisit son moyen de paiement, c’est tout.

Stripe n’a pas d’abonnement : il prend une commission par paiement. Au 27/10/2026, la grille française est de 1,5 % + 0,25 € pour une carte standard de l’Espace économique européen, 2,5 % + 0,25 € pour une carte britannique et 3,15 % + 0,25 € pour une carte internationale (page tarifs de Stripe). Sur une avance de 2 000 €, c’est une trentaine d’euros.

Dans Make, le module Stripe Watch Events se branche sur votre compte. Choisissez le groupe Payment Intent et l’événement payment_intent.succeeded : le scénario ne part que lorsque l’argent est réellement passé.

Avec ThriveCart

C’est l’outil que j’utilise pour mes propres paiements. Dans Make, son seul déclencheur est New Event : il crée un webhook, dont vous copiez l’adresse dans ThriveCart (Settings, API & Webhooks, Webhook notifications, Add another webhook). ThriveCart vérifie que l’adresse répond en 200 : activez d’abord l’écoute dans Make, sinon il refuse d’enregistrer.

Le prix a changé depuis le tournage. Dans la vidéo, je parle d’une licence à vie autour de 600 dollars ; aujourd’hui, la page de ThriveCart propose des formules mensuelles ou annuelles avec 30 jours d’essai, et garde une option à vie pour la formule Standard. Vérifiez le tarif sur leur site avant de le recommander à un client.

Avec un virement

Pas de webhook possible. Vous passez le contact au statut client à la main dans le CRM, et c’est ce changement de statut qui déclenche la suite.

L’astuce qui fait gagner des heures : rejouer un paiement de test

Pour construire le scénario, il vous faut un vrai paiement en entrée. Passez la page de paiement en mode test et payez avec une carte de test. Make reçoit tout : le produit, le client (email, entreprise, prénom, nom, adresse), le montant hors taxe, la TVA et le TTC.

Le mauvais réflexe : remplir le formulaire de paiement à chaque nouvel essai. Le bon :

  1. Sur le module déclencheur, cliquez sur Download output bundle et copiez la sortie.
  2. Ajoutez un module JSON, Parse JSON, et collez-y la sortie.
  3. Placez ce module en tête du scénario, à la place du déclencheur.

Chaque test rejoue maintenant le même paiement, sans formulaire. Sur un scénario comme celui-ci, ça fait gagner 2 à 4 heures.

Ajoutez ensuite un module Set multiple variables juste après : date du paiement, email, prénom, nom, entreprise, montant TTC, montant HT. Tout le reste du scénario lit ces variables. Le jour où vous rebranchez le vrai déclencheur, vous ne changez qu’un module au lieu de reprendre chaque champ un par un.

Le CRM : retrouver le contact ou le créer

Dans le service, le contact existe souvent déjà dans votre CRM : vous avez discuté avec lui, il est au statut opportunité, vous lui avez envoyé le lien de paiement. En coaching, il arrive directement par la page de paiement. Le scénario traite les deux cas. Si votre pipeline n’a pas encore ces statuts, l’article sur le pipeline commercial les pose.

Chercher par email ou par entreprise

Module HubSpot Search for Contacts, avec deux filtres reliés par un « ou » : même email que celui du paiement, ou même nom d’entreprise. Limite à 1 résultat.

Pourquoi les deux ? Parce que celui qui paie n’est pas toujours votre interlocuteur. Le comptable ou le fondateur règle la facture, alors que vous travaillez avec le responsable marketing. Pour la même raison, la suite du scénario utilise l’email et le prénom du CRM, pas ceux du paiement : c’est votre contact qui doit recevoir le bonjour.

Un routeur à trois routes

Un Router sépare les cas, avec le nombre de résultats de la recherche (Total number of bundles) :

  • Route 1, le contact existe (égal à 1) : mise à jour du contact, cycle de vie à « Client », puis Set multiple variables avec l’email, le prénom, l’entreprise et l’identifiant du CRM.
  • Route 2, le contact n’existe pas (égal à 0) : création du contact (entreprise, email, prénom, nom, code postal, téléphone), directement en cycle de vie « Client », puis les mêmes variables.
  • Route 3, sans filtre : Get multiple variables, puis tout ce qui est commun.

Dupliquer toute la suite dans les deux premières routes marcherait aussi. Mais le jour où vous changez le nom du canal Slack, il faudrait le changer à deux endroits, et c’est là que naissent les erreurs. Les variables passent d’une route à l’autre ; les sorties des modules, elles, ne sont pas visibles depuis une autre route.

Dans la route commune, un module Create a Note ajoute sur le contact : « Avance payée le [date], [TTC] € TTC, [HT] € HT », avec la date {{now}} et l’identifiant du contact. Dans le test de la vidéo : 1 800 € TTC, 1 500 € HT, visibles sur la fiche.

Deux bugs de Make croisés en route : une variable ajoutée dans Set multiple variables n’apparaît dans les modules suivants qu’après avoir enregistré, fermé et rouvert le scénario. Et une modification faite dans HubSpot ne compte qu’une fois enregistrée côté HubSpot.

Deux emails qui ne sonnent pas automatiques

Les emails partent de votre adresse professionnelle (module Send an Email de Gmail), avec une copie dans les messages envoyés. Ils doivent avoir l’air écrits par vous. Deux réglages pour ça.

Premier réglage, le délai. Un module Sleep avant chaque email : 180 secondes avant le premier, 240 avant le second. Un email qui arrive dans la seconde qui suit le paiement se voit tout de suite comme une machine. Le Sleep de Make s’arrête à 300 secondes par module : pour attendre plus longtemps, enchaînez-en plusieurs. Pendant les tests, descendez à 1 seconde, et pensez à remettre les vraies valeurs avant la mise en service.

Second réglage, le HTML. Le corps est en HTML : sans balise, tout arrive sur une ligne. <br> pour un retour à la ligne, <b>…</b> pour le gras (un </b> oublié met tout le reste de l’email en gras, c’est arrivé dans la vidéo), <a href="…">…</a> pour un lien.

Email 1 : bienvenue et merci

Court, pour dire au client que vous avez vu son paiement et que vous êtes content de travailler avec lui :

Bonjour [prénom], merci d’avoir procédé au paiement rapidement. Je suis ravi que nous ayons l’opportunité de travailler ensemble et impatient de mener ce projet à bien. Je vous enverrai sous peu les instructions pour le processus d’intégration, où vous pourrez choisir un créneau pour lancer le projet.

Email 2 : la suite du projet

Objet « Processus d’onboarding », avec le prénom du client. Il annonce trois choses :

  • l’appel d’intégration de 30 minutes, en partage d’écran, pour régler les accès (identifiants, double authentification) et revoir le calendrier, avec un lien Cal.com ou Calendly et l’idée de le caler dans les 72 heures ;
  • le canal Slack dédié au projet, avec vos créneaux de disponibilité (dans la vidéo : du lundi au vendredi, de 10 h à midi) ;
  • un point d’avancement envoyé chaque vendredi après-midi, même si le client ne pose aucune question.

Les horaires fixes protègent votre temps : le client sait quand vous joindre, la fenêtre ne reste pas ouverte en permanence.

Le canal Slack dédié au client

Un nom que Slack accepte

Le canal s’appelle ops- suivi du nom de l’entreprise, lu dans le CRM. Slack refuse les majuscules, les espaces et les caractères spéciaux. La formule Make met tout en minuscules, puis remplace tout ce qui n’est ni une lettre, ni un chiffre, ni un tiret :

code
ops-{{replace(lower(entreprise); /[^a-z0-9-]/g; "-")}}

Un accent devient lui aussi un tiret : « Café des Arts » donne ops-caf--des-arts. Ce n’est pas joli, mais Slack l’accepte et vous le reconnaissez.

Le canal se crée avec le module Slack Create a Channel, en privé : personne ne doit pouvoir s’y ajouter seul. Dans la vidéo, la création plante deux fois parce que le nom est déjà pris. Si un même client peut payer deux fois (une avance, puis le solde), ajoutez le mois ou un numéro au nom.

L’équipe, puis le message de bienvenue

Ensuite, le module Slack qui invite des membres dans un canal, avec l’identifiant du canal qui vient d’être créé : la personne qui gère la relation client, le développeur, qui vous voulez.

Puis le module Create a Message, dans ce même canal. Le texte simple marche ; j’ai préféré un bloc construit dans le Block Kit Builder de Slack : « Bonjour [prénom], bienvenue dans ce canal dédié où nous communiquerons tout au long de votre projet. Faites-moi savoir que vous avez rejoint le canal en envoyant un petit message. » Vous collez le JSON du bloc dans le champ Blocks et remplacez le prénom par la variable.

Au premier essai, Slack répond channel_not_found. J’ai d’abord cru à un délai de création. La vraie cause : le module utilisait une autre connexion Slack que celle qui avait créé le canal privé. Même connexion partout, et le message part.

Inviter le client : ce qui a changé

Inviter quelqu’un d’extérieur à votre espace Slack passe par la méthode conversations.inviteShared, absente des modules Make. On l’appelle avec le module Make an API Call de Slack, en POST, avec un corps JSON :

json
{
  "channel": "ID_DU_CANAL",
  "emails": "email-du-client@exemple.fr"
}

Dans la vidéo, je dis que cette méthode est réservée aux espaces Enterprise Grid. La documentation de Slack dit aujourd’hui autre chose : elle exige un espace payant avec Slack Connect activé, et elle ne s’appelle pas depuis une organisation Enterprise. Elle invite une seule adresse à la fois. Vérifiez votre plan avant de promettre l’invitation automatique à un client.

Deux précautions, quel que soit le plan :

  • un gestionnaire d’erreurs Ignore sur ce module, pour que son échec n’arrête pas le scénario ;
  • le message de bienvenue posté avant l’appel à l’API : avec Ignore, les modules placés après une erreur ne s’exécutent pas.

Sans Slack Connect, l’invitation se fait à la main en dix secondes : dans le canal, Ajouter des personnes, l’email du client, Ajouter.

Make ou n8n pour ce scénario

La vidéo est construite dans Make, et tout s’y fait sans une ligne de code. Le même scénario se refait dans n8n : webhook Stripe, nœud HubSpot, nœud If ou Switch à la place du routeur, nœud Wait à la place du Sleep, nœud Slack. Si vous hésitez, Make vs n8n donne les 4 questions pour choisir avec le client, et la formation Make reprend les bases avant de construire ce scénario.

Dans les deux cas, prévoyez l’alerte. Un onboarding qui plante en silence, c’est un client qui attend son email de bienvenue et ne le reçoit jamais. L’article sur les erreurs n8n montre le workflow qui vous prévient avant qu’il ne s’en aperçoive.

L’onboarding n’est que le début de la relation. Ce qui fait revenir un client après sa première mission est dans l’article sur la première mission freelance IA.

Livrer

Ce que vous pouvez vendre avec ça

À qui : un indépendant ou une agence qui vend des services payés d’avance et accueille plusieurs nouveaux clients chaque mois (un coach qui vend des accompagnements, un cabinet de conseil, une agence web ou marketing de 3 à 15 personnes). Le signal à surveiller : une demi-journée, voire deux jours, s’écoulent entre le paiement et le premier message au client.

Ce que vous livrez : en un à deux jours, le scénario connecté à leur Stripe (ou ThriveCart), leur CRM, leur outil de messagerie ainsi que leur Slack, Teams ou WhatsApp. Les deux emails sont réécrits dans leur voix, avec leur lien de prise de rendez-vous et leurs horaires. Le client voit le résultat dès le premier paiement de test : fiche CRM passée en client avec sa note, deux emails dans la boîte, canal créé avec son équipe dedans.

Comment le présenter : « Quand un client vous paie, combien de temps s’écoule avant qu’il reçoive un message de vous ? Avec ce système, il reçoit sa facture, deux emails de votre part et l’accès à son canal projet en moins de 30 minutes, même un dimanche soir, et votre CRM est à jour sans saisie. »

L'Accélérateur IA

Signez vos 3 premiers clients IA en 180 jours

Les inscriptions sont fermées. Rejoignez la liste d'attente : vous serez prévenu dès la prochaine ouverture.

Rejoindre la liste d'attente