Xcellerate OPS génère un événement chaque fois que quelque chose se passe : un ticket est créé, un devis est accepté, une facture est créée, un appel est manqué. Avec les webhooks sortants, vous envoyez ces événements en JSON vers votre propre URL, pour que Zapier, Make, n8n, Power Automate ou votre propre système puissent réagir. Ce guide s'adresse aux administrateurs de MSP et de PME de services qui veulent qu'OPS pilote leurs autres outils.
TL;DR
- Allez dans Paramètres → Données et sécurité → Notifications et webhooks et ajoutez une URL par événement.
- OPS envoie immédiatement un
POSTJSON par événement, signé en HMAC-SHA256 si vous le souhaitez.- Chaque envoi part une seule fois, sans nouvelle tentative : choisissez un récepteur toujours disponible qui répond vite.
Avant de commencer
- Vous avez le rôle admin dans votre espace de travail OPS.
- Vous disposez d'un endpoint qui accepte des requêtes
POSTavecContent-Type: application/jsonet répond en moins de 8 secondes. - L'URL pointe vers une adresse publique. Les adresses privées ou internes sont refusées. Privilégiez HTTPS.
- Facultatif : un secret partagé pour que votre récepteur puisse vérifier la signature.
Configurer un webhook sortant
Étape 1 : ouvrir la page des événements
Allez dans Paramètres → Données et sécurité → Notifications et webhooks. Les événements sont regroupés par domaine. Leurs noms sont affichés en anglais avec leur clé technique, par exemple « Ticket created » (ticket.created).
La page Notifications et webhooks, avec pour chaque événement les options de notification de l'assigné, d'e-mail client, de modèle d'e-mail et un bouton pour ajouter un webhook.
Étape 2 : ajouter un webhook à un événement
Repérez l'événement à transmettre et cliquez sur Ajouter un webhook. Saisissez l'URL de votre récepteur.
Étape 3 : définir un secret de signature (facultatif)
Renseignez le champ Secret de signature (facultatif). Chaque requête porte alors l'en-tête X-Signature: sha256=<hex> : un HMAC-SHA256 du corps JSON brut, calculé avec votre secret. Votre récepteur recalcule la valeur et compare. Le secret n'est plus affiché après l'enregistrement. Si vous laissez le champ vide lors d'un enregistrement, le secret déjà enregistré est conservé.
Étape 4 : envoyer un test
Cliquez sur Tester pour envoyer un exemple de payload pour cet événement. Ce test confirme seulement qu'OPS a pu envoyer la requête. Il ne dit rien de ce que votre endpoint en a fait. Vérifiez donc toujours côté récepteur, dans l'historique ou les journaux de votre outil, que l'exemple est bien arrivé et a été traité.
Étape 5 : enregistrer et répéter
Enregistrez en haut de la page. Répétez l'opération pour chaque événement à transmettre : une URL par type d'événement.
Ce qui se passe après la connexion
- Sens : d'OPS vers votre URL. Un
POSTpar événement, envoyé au moment où il se produit. - Contenu : chaque message a la même structure. Le champ
datavarie selon l'événement.
{
"event": "ticket.created",
"label": "Ticket created",
"occurredAt": "<ISO-8601>",
"title": "…",
"link": "/tickets/…",
"data": { … }
}
- Couverture : plus de 160 types d'événements, notamment tickets, clients et contacts, tâches CRM, projets, budgets, feuilles de temps, factures, contrats, devis, assets, appels, opportunités, temps de travail, changes, problems et incidents ITIL, et collègues IA.
- Notifications : la même page gère aussi, par événement, les notifications dans l'application, Prévenir l'assigné et les modèles d'e-mail client pour les événements de tickets.
Pour aller plus loin, découvrez l'automatisation dans OPS et les intégrations européennes et la sécurité.
Bon à savoir
- Un seul envoi, pas de nouvelle tentative. Il n'y a ni retry ni journal de livraison. Si votre récepteur est indisponible ou trop lent, l'événement est perdu pour lui. Choisissez donc un récepteur fiable : une plateforme d'automatisation ou un endpoint qui enregistre le message, répond aussitôt et le traite ensuite.
- Délai d'attente de 8 secondes, et les redirections ne sont pas suivies. Utilisez l'URL finale.
- Une URL par type d'événement. Pour alimenter plusieurs systèmes, laissez votre récepteur redistribuer le message.
- Les imports en masse et les fusions ne déclenchent jamais de webhooks.
- L'URL est de nouveau vérifiée au moment de l'envoi pour s'assurer qu'elle pointe vers une adresse publique.
Dépannage
- Message indiquant que l'exemple de payload a été envoyé : la requête de test est partie. Vérifiez côté récepteur qu'elle a aussi été traitée.
- Message d'échec du test de webhook, avec une erreur : problème au niveau de la connexion, comme DNS, délai dépassé ou TLS.
- Erreur de validation à l'enregistrement : l'URL est invalide ou pointe vers une adresse privée ou interne.
- Les vrais événements n'arrivent pas alors que le test a fonctionné : vérifiez que votre endpoint répond rapidement, sans redirection, et reste joignable sur une adresse publique.
Pour commencer
Vous voulez qu'OPS transmette vos tickets, devis et factures au reste de vos outils ? Commencez gratuitement et configurez votre premier webhook depuis les paramètres.


