CRM, outil de tickets, planning : chaque appel traité par votre agent IA arrive automatiquement dans vos outils, sans ressaisie — résumé, analyse et fiche contact compris.
POST https://votre-logiciel.fr/webhooks/sayelo
X-Sayelo-Event: call.completed
X-Sayelo-Delivery: dlv_9f2c47e1a8b3
X-Sayelo-Signature: sha256=1e0e6a…
{
"event": "call.completed",
"call": {
"duration_seconds": 154,
"from": "+33 6 12 34 56 78",
"outcome": "Rendez-vous pris",
"agent": "Accueil — Cabinet Vernet"
},
"contact": {
"first_name": "Marie",
"last_name": "Lefèvre",
"company": "Lefèvre Immobilier"
},
"summary": "Marie Lefèvre souhaitait déplacer son
rendez-vous de jeudi. Créneau de vendredi
10 h 30 proposé, confirmé et enregistré.",
"analysis": {
"key_points": ["Report de rendez-vous"],
"actions": ["Confirmer la salle 2 vendredi"],
"sentiment": "positif"
},
"links": {
"call_details": "https://app.sayelo.ai/calls/…"
}
} Mise en place
Dans l'app : Paramètres → Intégrations → « Ajouter un webhook ». Collez l'URL de votre logiciel et choisissez les évènements. Le secret de signature est généré automatiquement.
Le bouton « Envoyer un test » vérifie la connexion immédiatement. Un journal affiche les 20 dernières livraisons : statut, code HTTP, date.
Chaque appel traité arrive dans votre outil. Besoin de suspendre un agent ? L'interrupteur dans sa configuration (onglet Intégrations) coupe la transmission de ses appels sans toucher aux autres.
Cas d'usage
Un client signale un problème par téléphone ? L'évènement message.taken crée le ticket dans votre outil, avec le résumé et les coordonnées.
Chaque conversation rejoint la fiche client : résumé, points clés, actions à faire. L'historique commercial se construit tout seul.
Les « rappelez-moi » deviennent des tâches dans votre outil de suivi, au lieu de rester dans une boîte mail.
Référence
Deux évènements couvrent le cycle de vie d'un appel. Vous choisissez lesquels recevoir, webhook par webhook.
| Évènement | Émis quand… |
|---|---|
call.completed | Un appel a été traité par l'agent — avec sa durée, son résultat, le résumé et l'analyse. |
message.taken | L'agent a pris un message ou une demande de rappel. Idéal pour créer des tickets. |
Chaque livraison est un POST JSON contenant les informations de l'appel (durée, numéro, résultat, agent), la fiche contact du répertoire (nom, prénom, société), le résumé de la conversation, l'analyse structurée (points clés, actions à faire, sentiment) et un lien direct vers la fiche de l'appel dans l'app, où se trouvent la transcription et l'enregistrement.
Le schéma ci-dessus est un exemple illustratif — le plus simple pour voir le format exact envoyé à votre logiciel est le bouton « Envoyer un test ».
| En-tête | Rôle |
|---|---|
X-Sayelo-Event | Le type d'évènement : call.completed ou message.taken. |
X-Sayelo-Delivery | L'identifiant unique de la livraison. Il reste identique lors d'un renvoi : ignorez les identifiants déjà traités pour éviter les doublons. |
X-Sayelo-Signature | La signature HMAC-SHA256 du corps de la requête, calculée avec votre secret (sha256=…). |
Sécurité
Chaque requête est signée HMAC-SHA256 avec le secret généré à la création du webhook. En recalculant la signature côté récepteur, vous avez la garantie que l'envoi vient de Sayelo et que le corps n'a pas été altéré.
L'audio et la transcription ne transitent jamais par le webhook : le payload contient un lien vers la fiche de l'appel dans l'app, où ils restent consultables.
// Node.js — vérifier la signature
const crypto = require("crypto");
function vientDeSayelo(corpsBrut, signature, secret) {
const attendu = "sha256=" + crypto
.createHmac("sha256", secret)
.update(corpsBrut, "utf8")
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(attendu),
Buffer.from(signature)
);
} Fiabilité
En cas d'échec de livraison, Sayelo renvoie automatiquement la requête à 2 minutes, 10 minutes, 30 minutes puis 2 heures — cinq tentatives en tout. L'en-tête X-Sayelo-Delivery reste identique d'une tentative à l'autre : votre récepteur peut ignorer une livraison déjà traitée, aucun doublon possible. Le journal des 20 dernières livraisons, dans l'app, montre le statut et le code HTTP de chaque tentative.
Les webhooks sortants sont inclus dans tous les forfaits payants.
Deux minutes de configuration, un test immédiat, et chaque appel traité rejoint votre logiciel métier.
Demander un accès anticipé →
Une pause ? Attrape les appels