Webhooks sortants
Prévenez un autre système à l'instant où quelque chose se produit dans le CRM. Vous enregistrez une URL, cochez les événements qui vous intéressent et SellioCRM envoie un POST avec un JSON signé chaque fois que l'un d'eux survient. Cela sert à intégrer un outil d'automatisation, un back-end à vous ou l'ERP de la maison.
L'intégration par interrogation périodique est lente et coûteuse : quelqu'un demande de minute en minute si quelque chose a changé. Le webhook fait l'inverse, c'est le CRM qui prévient. Quand un enregistrement est créé, quand une approbation est tranchée ou quand quelqu'un répond à une cadence, le système envoie une requête à l'adresse que vous avez indiquée, avec les données de l'événement.
Comment l'enregistrer
- Ouvrez Paramètres et allez dans le groupe Canaux et communication.
- Cliquez sur Webhooks.
- Dans URL de destination, indiquez l'adresse qui recevra les appels, commençant par https.
- Dans Événements, cochez ceux qui vous intéressent. record.created et record.updated sont cochés d'avance.
- Cliquez sur Créer le webhook.
- Copiez le secret affiché dans la carte Secret du webhook. Il n'apparaît qu'une seule fois.
Événements disponibles
- Enregistrements : record.created et record.updated, déclenchés à la création et à la mise à jour de n'importe quel enregistrement de vos objets.
- Cadences et flux : flow.enrolled, flow.message_sent, flow.replied, flow.step_completed et flow.completed.
- Approbations : approval.requested, approval.approved et approval.rejected.
Comment vérifier que l'appel vient bien de SellioCRM
Chaque appel porte deux en-têtes en plus du type de contenu : x-sellio-event, avec le nom de l'événement, et x-sellio-signature, au format sha256 suivi du code d'authentification calculé sur le corps exact de la requête avec votre secret. Sur votre serveur, recalculez ce code à partir du corps reçu et comparez. Si cela ne correspond pas, écartez l'appel : l'origine n'est pas votre CRM.
POST https://votre-systeme.com/webhook
x-sellio-event: record.created
x-sellio-signature: sha256=<code calculé avec votre secret>
content-type: application/json
{
"event": "record.created",
"tenantId": "...",
"objectApiName": "opportunity",
"recordId": "...",
"data": { "name": "Métallurgie Andrade", "amount": 48000 },
"timestamp": "2026-03-12T15:42:10.000Z"
}Livraisons récentes
Sous la liste des webhooks, le tableau Livraisons récentes montre les dernières tentatives d'envoi avec l'heure, l'événement et le résultat : une pastille verte avec le code de réponse quand cela a fonctionné, une pastille rouge avec l'erreur quand cela a échoué. C'est par là que l'on découvre une adresse hors service ou un serveur qui renvoie une erreur.
Limites et comportement
- L'envoi se fait sur le champ, avec un temps d'attente maximal de quatre secondes, et il ne bloque pas l'opération de la personne qui a enregistré l'enregistrement.
- Il n'y a pas de nouvelle tentative automatique. Si votre serveur est hors service, l'événement apparaît en échec dans le tableau des livraisons et n'est pas renvoyé. Concevez votre côté pour le tolérer.
- Seules les adresses http et https qui pointent vers l'internet public sont acceptées. Les adresses internes, de réseau local ou de services de métadonnées cloud sont refusées par sécurité.
- La case Actif et Suspendu à côté de chaque webhook interrompt les envois sans effacer la configuration.
- Le secret ne peut pas être réaffiché. Si vous l'avez perdu, supprimez le webhook et créez-en un autre.
Qui peut le faire
Créer, suspendre et supprimer des webhooks exige le droit d'administrer les paramètres, parce que l'opération envoie des données de vos enregistrements en dehors du CRM. La liste des livraisons est restreinte à votre propre organisation.
Questions fréquentes
- Je reçois l'événement mais le corps semble incomplet : chaque événement porte son propre jeu de champs. Ceux des enregistrements apportent l'objet, l'identifiant de l'enregistrement et les données ; ceux des flux apportent le flux, l'inscription et l'enregistrement ; ceux des approbations apportent la demande, le sujet et le statut.
- Puis-je recevoir des événements de suppression ? La liste des événements disponibles est celle qui s'affiche à l'écran.
- La signature ne correspond jamais : calculez le code sur le corps brut reçu, sans re-sérialiser le JSON, parce que le moindre changement d'espace modifie le résultat.