> For the complete documentation index, see [llms.txt](https://docs.praiz.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.praiz.io/integrations/webhooks.md).

# Webhooks

Recevoir automatiquement les transcriptions et les résultats d'agents dans votre propre outil via des webhooks.

Un webhook envoie les données d'un appel à l'adresse de votre choix dès qu'elles sont prêtes. Utilisez-le pour alimenter un outil que Praiz n'intègre pas, ou une automatisation (Make, Zapier, n8n).

## Prérequis

* Être administrateur Praiz.
* Une URL capable de recevoir des requêtes HTTP : un scénario Make ou Zapier, un workflow n8n, votre propre serveur.

Praiz n'expose pas d'API publique. Les webhooks et le [serveur MCP](/interroger-et-analyser/serveur-mcp.md) sont les deux voies d'accès aux données.

## Créer un webhook

1. Ouvrez « Settings », onglet « Webhooks ».
2. Dans « Webhook URL », collez l'adresse qui recevra les données.
3. Choisissez le « Webhook type » : « Agent » ou « Transcript ».
4. Cliquez sur « Add webhook ».

Résultat attendu : le webhook apparaît dans la liste avec son type et un token. Cliquez sur « Show » pour afficher le token complet. Cliquez sur « Delete » pour supprimer le webhook.

![Onglet Webhooks dans Settings](https://3785996597-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU54oKzNb3EyinriyUP5P%2Fuploads%2FjT4KbjDvYQ4yFx5qQNwS%2F06-settings-webhooks.png?alt=media)

## Les deux types de webhook

| Type           | Ce qui est envoyé                                                               | Quand                                 |
| -------------- | ------------------------------------------------------------------------------- | ------------------------------------- |
| « Agent »      | Les champs extraits par vos agents sur l'appel, avec les métadonnées de l'appel | Quand les agents ont terminé          |
| « Transcript » | La transcription brute et les métadonnées de l'appel                            | Quand la transcription est disponible |

Pour envoyer de la donnée structurée dans un autre outil, choisissez le type « Agent ». Ce type nécessite des agents configurés. Un webhook de type « Agent » peut être limité à certains agents : seuls les résultats de ces agents déclenchent alors l'envoi.

## Vérifier l'origine des requêtes

Chaque requête envoyée par Praiz porte l'en-tête HTTP `Authorization: Bearer <token>`. Le token est généré une seule fois à la création du webhook et affiché dans la liste (« Show »). Pour vérifier qu'une requête vient bien de Praiz, comparez le token reçu dans l'en-tête à celui affiché dans l'interface. Le corps de la requête n'est pas signé.

{% hint style="info" %}
Cas particulier : si votre URL contient déjà un paramètre `sig=` (Power Automate, Logic Apps), Praiz n'envoie pas l'en-tête `Authorization`, pour éviter un conflit d'authentification.
{% endhint %}

## Ce que Praiz envoie

Chaque requête contient un identifiant de requête (`request_id`, différent à chaque envoi), la date, et un objet `video` : id, titre, durée, e-mail de l'utilisateur, source, lien de la transcription, lien de l'appel, date de création, et la liste des participants avec leurs éventuels identifiants CRM. Le type « Agent » ajoute un objet `template` avec les champs extraits.

Exemple de requête de type « Agent » :

```json
{
  "request_id": "3f2a9e6b-1c4d-4a8e-9b2f-7d5c6a1e4f90",
  "datetime": "2026-09-14 10:32:05",
  "company_id": 481,
  "video": {
    "id": 128934,
    "title": "Call découverte - Acme Corp",
    "duration": 1823,
    "user_email": "commercial@exemple-client.com",
    "source": "upload",
    "transcript_url": "https://cdn.praiz.example/.../128934/clean_transcript.txt",
    "url": "https://app.praiz.io/watch/128934",
    "created_date": "2026-09-14 10:05:12",
    "participants": [
      {
        "first_name": "Jean",
        "last_name": "Dupont",
        "email": "jean.dupont@acme-corp.com",
        "phone_number": "33612345678",
        "crm": "hubspot",
        "crm_contact_id": "51234567890",
        "crm_company_id": "98765432100",
        "crm_company": "Acme Corp",
        "crm_opportunity_id": "22334455",
        "crm_opportunity": "Acme Corp - Renouvellement 2026",
        "crm_lead_id": ""
      }
    ]
  },
  "template": {
    "name": "Qualification Découverte",
    "fields": [
      { "name": "Budget estimé", "description": "Budget annuel évoqué", "type": "text", "extracted_value": "50 000 - 80 000 €" },
      { "name": "Décideur identifié", "description": "Le prospect est-il décisionnaire ?", "type": "boolean", "extracted_value": true },
      { "name": "Besoins exprimés", "description": "Besoins mentionnés pendant l'appel", "type": "bullet_points", "extracted_value": ["Automatiser le reporting", "Réduire la saisie CRM"] }
    ]
  }
}
```

À savoir sur ce format :

* `extracted_value` est une chaîne, une liste (champs à options multiples ou à puces) ou un booléen, selon le format du champ.
* Un champ sans valeur extraite n'apparaît pas dans la requête.
* Les champs `crm_*` d'un participant sont vides quand il n'est pas retrouvé dans le CRM.
* Une requête de type « Transcript » contient le même objet `video`, sans l'objet `template`.

La requête arrive quelques secondes à quelques minutes après la fin de l'appel.

## Tester un webhook

Créez un webhook vers une adresse de test (par exemple webhook.site). Enregistrez un appel court, puis lisez la requête reçue.

## Dépannage

* Aucune requête n'arrive : vérifiez l'URL dans la liste des webhooks et testez-la avec une adresse de test.
* Le webhook « Agent » n'envoie rien : aucun agent ne s'est appliqué à l'appel, ou le webhook est limité à des agents qui ne se sont pas appliqués. Vérifiez les [règles d'automatisation](/agents-ia/utiliser-un-agent.md) de vos agents.
* La requête arrive sans les champs attendus : le type du webhook est « Transcript ». Créez un webhook de type « Agent ».

## Pages liées

* [Serveur MCP](/interroger-et-analyser/serveur-mcp.md) pour interroger vos données depuis un outil IA plutôt que de les recevoir
* [Connecter votre CRM](/integrations/connecter-votre-crm.md)
* [Utiliser un agent](/agents-ia/utiliser-un-agent.md)
