Passer à la navigation

Webhooks

Donnez à votre réceptionniste des outils personnalisés qui appellent vos points de terminaison HTTP.

L’intégration Webhook Tool expose vos points de terminaison HTTP sous forme d’outils que votre réceptionniste ou assistant professionnel peut appeler durant les conversations. L’IA décide quand appeler le point de terminaison en fonction de la conversation.

Fonctionnement des outils webhook

Lorsque vous créez un outil webhook, vous définissez :

  1. Un point de terminaison HTTP à appeler.
  2. Une description de son fonctionnement, afin que l’IA sache quand l’utiliser.
  3. Les paramètres que l’IA doit recueillir au cours de la conversation.

Lors d’un appel, lorsque la conversation correspond à l’objectif de l’outil, votre réceptionniste recueille les paramètres, appelle le point de terminaison et utilise la réponse pour poursuivre la conversation.

Créer un outil webhook

Accédez à Intégrations, sélectionnez Ajouter une intégration, puis choisissez Webhook Tool. Configurez les champs ci-dessous et sélectionnez Activer. Vous pouvez ajouter plusieurs outils webhook.

ChampDescription
NomNom de l’outil visible par l’IA, par exemple check_order_status
DescriptionQuand et pourquoi utiliser cet outil
MéthodeGET, POST, PUT, PATCH ou DELETE
URLVotre point de terminaison HTTP
Délai d’attente de réponse (secondes)Durée d’attente de votre serveur : de 5 à 120 secondes, 20 par défaut
Attribuer aux agentsRéceptionniste, Agent assistant ou les deux
Désactiver les interruptionsEmpêche l’appelant d’interrompre l’exécution de l’outil
En-têtes de requêteEn-têtes facultatifs envoyés avec chaque requête. Le Type est Valeur ou Secret. Un Secret est stocké de façon chiffrée et n’est plus jamais affiché. Un en-tête issu d’ElevenAgents peut afficher Variable d’environnement ou Variable, avec une note indiquant qu’il est défini sur la plateforme des agents.
Paramètres de cheminAffichés lorsque l’URL contient des espaces réservés entre accolades, tels que /orders/{order_id}. Modifiez l’URL pour en ajouter ou en supprimer un.
Paramètres du corpsParamètres envoyés dans un corps de requête JSON, affichés pour POST, PUT et PATCH. Ils peuvent être des objets et des listes.
Paramètres de requêteParamètres envoyés sous forme de chaînes de requête URL. Chacun correspond à une seule valeur.

Paramètres

Chaque paramètre comporte :

  • Clé : le nom du champ. Utilisez des lettres, des chiffres, des traits de soulignement, des traits d’union, @ et des points simples. Les crochets ne sont pas autorisés. Une API qui attend des clés telles que filter[name] ne peut donc pas être appelée directement.
  • Type : string, number, integer ou boolean. Les paramètres du corps peuvent également être object ou array.
  • Valeur : Depuis la conversation, renseignée par l’IA, ou une Valeur fixe, envoyée avec chaque requête.
  • Description : la valeur que l’IA doit extraire de la conversation.
  • Obligatoire : indique si l’IA doit la recueillir avant l’appel.

Utilisez integer pour les nombres entiers tels que les quantités, les ID et les indicateurs 0/1. Une valeur fixe de type number est envoyée avec un point décimal. Ainsi, 1 arrive sous la forme 1.0, ce que certaines API refusent.

Un paramètre configuré dans ElevenAgents pour prendre sa valeur depuis une variable s’affiche en lecture seule, avec une note indiquant qu’il est défini sur la plateforme des agents. Il est envoyé selon la configuration définie à cet endroit.

Objets et listes

De nombreuses API attendent des champs associés regroupés, par exemple un contact avec une liste de numéros de téléphone. Les paramètres du corps peuvent envoyer les éléments suivants :

  • Un object regroupe des champs. Sélectionnez Ajouter un champ pour ajouter chacun d’eux ; chaque champ possède sa propre clé, son type et sa valeur.
  • Un array est une liste. Sous Chaque élément, choisissez le type de ses éléments. Une liste d’objets permet à l’IA d’envoyer plusieurs entrées ayant la même structure, par exemple une par numéro de téléphone.

Les champs peuvent être imbriqués sur cinq niveaux au maximum. Un objet ou une liste provient toujours de la conversation, mais un champ dans un objet peut avoir une Valeur fixe, comme un libellé ou un ID qui ne change jamais.

Par exemple, ces paramètres du corps :

  • name : chaîne de caractères, depuis la conversation
  • phones : tableau, dont chaque élément est un objet comportant deux champs :
    • number : chaîne de caractères, depuis la conversation
    • label : chaîne de caractères, valeur fixe mobile
  • source : objet comportant un champ, channel : chaîne de caractères, valeur fixe phone

envoient un corps de requête comme celui-ci :

{
"name": "Jane Doe",
"phones": [{ "number": "+15551234567", "label": "mobile" }],
"source": { "channel": "phone" }
}

Cas d’usage

ScénarioDescriptionMéthode
Recherche CRMRechercher les informations client dans votre systèmeGET
Vérification des stocksVérifier la disponibilité des produits en temps réelGET
Capture de prospectsEnvoyer les informations de l’appelant à votre système marketingPOST
Création de ticketCréer un ticket d’assistance pendant l’appelPOST
DevisCalculer un devis personnalisé selon les besoins de l’appelantPOST

Exemple

Une entreprise de plomberie crée un outil webhook :

  • Nom : check_service_area
  • Description : « Vérifiez si nous intervenons dans le code postal de l’appelant et quel est le prochain créneau disponible. »
  • URL : https://api.mybusiness.com/check-area
  • Méthode : POST
  • En-têtes de requête : Authorization défini sur la clé API de l’entreprise, comme Secret
  • Paramètres du corps : zip_code (chaîne de caractères, obligatoire), service_type (chaîne de caractères, obligatoire)

Lorsqu’un appelant demande si vous intervenez dans sa zone, le réceptionniste recueille son code postal, appelle le webhook et lui communique le résultat.

Les outils webhook sont disponibles dans tous les forfaits.