Search Docs…

Search Docs…

Compte et Facturation

Compte et Facturation

Compte et Facturation

Comprendre la facturation et les frais

Comprendre la facturation et les frais

Comprendre la facturation et les frais

Contexte

Pour comprendre comment fonctionnent les outils personnalisés, jetons un coup d'œil sous le capot de l'agent téléphonique Bland AI.

Au cours de la conversation, l'agent téléphonique écoute constamment pour comprendre quand il doit répondre. Lorsque l'agent téléphonique réalise qu'il est temps de répondre, il passe en revue les outils dans sa caisse à outils et en choisit un.

Ces outils comprennent un outil speak, un outil wait et un outil button press. Lorsque vous créez un outil personnalisé, vous l'ajoutez à la ‘caisse à outils’ existante afin que l'agent téléphonique puisse le choisir.

Quelques questions naturelles se posent :

  1. Comment définir mon outil personnalisé ?

  2. Comment puis-je m'assurer que mon outil est choisi au bon moment ?

  3. Comment les informations de l'appel sont-elles transmises à la demande d'API de mon outil personnalisé ?

  4. Comment remplir le silence (lorsque mon outil personnalisé fonctionne) ?

  5. Comment la réponse de mon outil personnalisé est-elle ajoutée à l'appel ?

Continuez à lire pour le découvrir.

Créer votre outil personnalisé
Exemple d'outil personnalisé
{
    "name": "BookAppointment",
    "description": "Books an appointment for the customer",
    "url": "https://your-api.com/book-appointment",
    "method": "POST",
    "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
    },
    "body": {
        "date": "{{input.date}}",
        "time": "{{input.time}}",
        "service": "{{input.service}}"
    },
    "input_schema": {
        "example": {
            "speech": "Got it - one second while I book your appointment for tomorrow at 10 AM.",
            "date": "2024-04-20",
            "time": "10:00 AM",
            "service": "Haircut"
        },
        "type": "object",
        "properties": {
            "speech": "string",
            "date": "YYYY-MM-DD",
            "time": "HH:MM AM/PM",
            "service": "Haircut, Coloring, Trim, or Other"
        }
    },
    "response": {
        "succesfully_booked_slot": "$.success",
        "stylist_name": "$.stylist_name"
    }
}

De la demande d'API à l'outil personnalisé

La prochaine étape consiste à convertir la demande d'API en un outil personnalisé. Les outils personnalisés ont les propriétés suivantes :

  • name - l'agent le verra dans la liste des outils

  • description - une brève explication de ce que fait l'outil

  • input_schema - un schéma JSON décrivant les données d'entrée

  • speech (facultatif) - une chaîne qui sera prononcée à l'agent pendant que votre outil attend une réponse

  • response_data - un tableau d'objets qui décrivent comment extraire des données de la réponse. Dans les données de réponse, vous pouvez créer des variables auxquelles l'agent téléphonique peut se référer dans son invite.

Nom & Description

L'agent verra le nom dans la liste des outils. Le nom, ainsi que la description, aident l'agent téléphonique AI lorsqu'il décide quel outil utiliser.

Pour cet exemple, nous allons définir le nom sur BookAppointment et la description sur Réserve un rendez-vous pour le client.

Schéma d'entrée

Le schéma d'entrée est critique. Il définit la forme de la demande d'API, les différentes entrées que la demande peut accepter, et comprend également un exemple (ce qui aide notre système lors de la création de demandes).

Voici à quoi le schéma d'entrée pourrait ressembler :

    "input_schema": {
        "example": { // "example" is a special property that shows an example of what the input object the agent creates should look like
            "speech": "Got it - one second while I book your appointment for tomorrow at 10 AM.",
            "date": "2024-04-20",
            "time": "10:00 AM",
            "service": "Haircut"
        },
        "type": "object",
        "properties": {
            "speech": "string",
            "date": "YYYY-MM-DD",
            "time": "HH:MM AM/PM",
            "service": "Haircut, Coloring, Trim, or Other"
        }
    }

Deux notes importantes concernant le schéma d'entrée :

  1. input_schema est converti en la variable "{{input}}" que vous pouvez utiliser dans le corps de la demande/requête/en-têtes

  2. Pour accéder aux propriétés imbriquées, utilisez la notation par point : "{{input.property.subproperty}}"

    • Par exemple, plus tard, vous pourriez utiliser "{{input.service}}" pour obtenir le type de rendez-vous que le client souhaite

Ce que vous faites ici, c'est décrire la structure des variables que l'agent créera.

Remarque spéciale : Si vous avez besoin de rassembler des informations détaillées lettre par lettre de l'utilisateur, augmentez votre paramètre interruption_threshold à environ 200 afin que l'IA ne s'interpose pas trop rapidement.

Faites défiler vers le bas pour voir l'exemple complet.