🔌 Intégrations · Webhooks

Connectez Sayelo à votre logiciel métier.

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.

✓ Inclus dans tous les forfaits payants✓ Configuré en 2 minutes✓ Signé HMAC-SHA256
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

Deux minutes, trois étapes.

1

Ajoutez le webhook

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.

2

Envoyez un test

Le bouton « Envoyer un test » vérifie la connexion immédiatement. Un journal affiche les 20 dernières livraisons : statut, code HTTP, date.

3

C'est en production

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

Ce que vos équipes n'auront plus à ressaisir.

🎫

Tickets SAV créés automatiquement

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.

🗂️

La fiche d'appel dans le CRM

Chaque conversation rejoint la fiche client : résumé, points clés, actions à faire. L'historique commercial se construit tout seul.

📞

Demandes de rappel suivies

Les « rappelez-moi » deviennent des tâches dans votre outil de suivi, au lieu de rester dans une boîte mail.

Référence

Les évènements.

Deux évènements couvrent le cycle de vie d'un appel. Vous choisissez lesquels recevoir, webhook par webhook.

ÉvènementÉmis quand…
call.completedUn appel a été traité par l'agent — avec sa durée, son résultat, le résumé et l'analyse.
message.takenL'agent a pris un message ou une demande de rappel. Idéal pour créer des tickets.

Le contenu envoyé.

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 ».

Les en-têtes.

En-têteRôle
X-Sayelo-EventLe type d'évènement : call.completed ou message.taken.
X-Sayelo-DeliveryL'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-SignatureLa signature HMAC-SHA256 du corps de la requête, calculée avec votre secret (sha256=…).

Sécurité

Vérifiez que c'est bien Sayelo.

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é

Votre logiciel est indisponible ? On repasse.

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.

Vos appels, dans vos outils,
sans ressaisie.

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