Créer une action personnalisée
Connecter votre bot à vos propres outils quand aucun modèle d'action ne correspond.
Dernière mise à jour :
Quand a-t-on besoin d’une action personnalisée ?
Le catalogue de Sens Ai couvre JIRA, Slack, l’envoi d’e-mails par Resend et Calendly (voir Comprendre les actions). Mais vous avez peut-être :
- un CRM maison qui n’est pas dans le catalogue ;
- un scénario d’automatisation (Zapier, Make, n8n) ou votre propre serveur ;
- l’API d’un fournisseur spécialisé dans votre métier.
Bientôt disponible. Vous pourrez créer une action entièrement personnalisée, en choisissant l’adresse appelée, la méthode HTTP, les en-têtes, le contenu envoyé et le message que l’agent donne à partir de la réponse de votre serveur.
Aujourd’hui, la solution la plus proche est le modèle Webhook générique, décrit ci-dessous.
Niveau requis : un peu de technique. Si vous ne savez pas ce qu’est une URL ou un JSON, faites-vous aider, ou passez par un outil comme Zapier ou Make, plus accessible.
Ce que fait le Webhook générique
Quand l’agent décide de l’utiliser, Sens Ai envoie une requête HTTP à une adresse fixe que vous avez choisie. Elle contient un champ, data, que l’agent rédige à partir de la conversation :
{ "data": "<texte rédigé par l'agent>" }
Si l’action a des champs à collecter, leurs valeurs arrivent à côté, dans une clé collected.
Votre outil (Zapier, Make, votre serveur…) reçoit ce contenu et fait le reste : créer une fiche, envoyer une notification, etc.
Le connecteur : l’adresse et l’authentification
Le connecteur Webhook générique se crée depuis le menu du haut Intégrations › onglet Catalogue › Configurer (voir Connecteurs et authentification). Ses champs :
- Nom — pour vous y retrouver (ex. : « Zapier — Leads ») ;
- URL de base — l’adresse exacte appelée, en
https://; - Type d’authentification —
none,bearerouheader; - Valeur d’authentification — votre jeton ou votre clé, chiffré et jamais réaffiché ;
- Nom du header — utilisé avec le type
header;Authorizationpar défaut.
À l’exécution, Sens Ai construit l’en-tête d’authentification à partir du connecteur : avec bearer, il envoie Authorization: Bearer <votre valeur> (saisissez le jeton seul) ; avec header, il envoie l’en-tête nommé dans Nom du header, avec la valeur telle quelle ; avec none, aucun. Les détails et les pièges : Webhook générique — recettes.
L’action : la méthode HTTP
Sur la page de l’action, section Configuration, un seul réglage : la Méthode HTTP (GET, POST, PUT, PATCH ou DELETE ; POST par défaut).
Choisissez POST pour un webhook qui crée ou envoie quelque chose (un ticket, un e-mail, une commande) : c’est la méthode protégée contre les envois en double. GET convient à une consultation, PUT, PATCH et DELETE à une mise à jour : ces appels ne sont jamais bloqués comme doublons (voir Comprendre les actions).
Ce qui est envoyé
- l’URL du connecteur, sans modification ;
- les en-têtes
Content-Type: application/json, l’en-tête d’authentification (voir ci-dessus) etIdempotency-Key, unique par conversation, message et action ; - le corps
{ "data": "…" }(avec la clécollecteds’il y a des champs à collecter), avec les méthodesPOST,PUTetPATCH; avecGETouDELETE, aucun corps n’est envoyé.
Ce que l’agent dit ensuite
La réponse de votre serveur n’est pas analysée. Si l’appel réussit, l’agent sait seulement que « Votre demande a bien été transmise. ».
Une exception : si votre serveur répond avec succès en annonçant du JSON (Content-Type: application/json) mais avec un contenu illisible ou vide, l’agent reçoit à la place les 500 premiers caractères de la réponse brute (rien si elle est vide).
Créer l’action pas à pas
- Créez le connecteur Webhook générique (voir ci-dessus).
- Dans le menu de gauche de l’agent : Configuration Agent › Compétences › onglet Catalogue › Configurer sur Webhook générique.
- Description pour l’agent : donnez un Nom explicite, par exemple « Enregistrer un lead dans le CRM » — l’agent le lit pour reconnaître l’action.
- Configuration : choisissez le Connecteur et la Méthode HTTP.
- Test : Tester l’action, saisissez un contenu dans le champ
body, puis Lancer le test. Vérifiez que votre outil a bien reçu la requête. - Cliquez sur Créer. L’action est active aussitôt.
Voir aussi : Tester et déboguer une action.
Limites à connaître
- Un seul champ libre : l’agent ne peut pas produire directement le JSON précis qu’attend une API tierce (Notion, HubSpot…). Passez par un relais (Zapier, Make, petit serveur) qui lit
dataet reformate. - Adresse fixe : pas de paramètre dynamique dans l’URL. Pour plusieurs adresses, créez plusieurs connecteurs.
- Délai de 10 secondes : au-delà, l’action échoue. Elle n’est pas relancée automatiquement.
- Pas de redirection : une réponse de redirection (3xx) compte comme un échec ; utilisez l’adresse finale.
- Champs à collecter : leurs valeurs arrivent dans la clé
collected, avec les méthodesPOST,PUTetPATCHseulement (voir Configurer les champs à collecter). - Consigne de Sens Ai : pour ce modèle, l’agent a pour consigne de n’appeler le webhook que si le visiteur le demande explicitement, et de lui demander quoi transmettre. Testez vos scénarios en conditions réelles.
Sécurité : les clés d’API
La Valeur d’authentification est chiffrée au repos et n’est jamais réaffichée : en modification, le champ affiche « •••••••• » et l’indication « Laissez vide pour conserver la valeur actuelle ».
Recommandations :
- utilisez une clé dédiée à Sens Ai plutôt que votre clé principale (vous pouvez la révoquer sans casser le reste) ;
- limitez ses permissions au strict minimum ;
- changez la clé régulièrement, et après le départ de toute personne qui y a eu accès.
Besoin d’une intégration sur mesure ?
Sur la page Intégrations, l’encadré Besoin d’une intégration sur mesure ? propose Contactez un spécialiste : notre équipe peut développer un connecteur pour vos outils internes.
Étape suivante
Gérer vos identifiants : Connecteurs et authentification.