> ## Documentation Index
> Fetch the complete documentation index at: https://help.cloudtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Outils pour VoiceAgent

> Configurez des outils pour permettre à votre VoiceAgent d'effectuer des actions en temps réel via une API

<Note>
  Dans cet article, vous allez découvrir comment les **outils VoiceAgent** permettent des actions en temps réel pendant les appels en direct, en permettant à votre VoiceAgent d'interagir directement avec des systèmes externes via une API.

  En exploitant les outils, vous pouvez transformer votre VoiceAgent en un véritable résolveur de problèmes, en renforçant l'automatisation et en offrant des expériences client plus rapides et plus intelligentes.
</Note>

**Niveau utilisateur\u00A0:** Admin

***

<h2 id="h_4216241551">
  Que sont les outils\u00A0?
</h2>

Les outils permettent à votre VoiceAgent d'effectuer des actions spécifiques pendant un appel en envoyant des requêtes API à des systèmes tiers. Vous pouvez configurer précisément ce que fait chaque outil et le moment où il doit être déclenché en fonction de la conversation.

**Par exemple**\u00A0:

* Un client demande\u00A0: «\u00A0Où est ma commande\u00A0?\u00A0» → le VoiceAgent utilise un outil pour récupérer les dernières informations de suivi.

* Un patient dit\u00A0: «\u00A0Puis-je déplacer mon rendez-vous à vendredi\u00A0?\u00A0» → le VoiceAgent appelle votre API de réservation pour vérifier la disponibilité et reprogrammer le rendez-vous.

**Autres exemples de cas d'usage\u00A0:**

* **Récupérer des données\u00A0:**

  * Consulter les détails d'un ticket support

  * Accéder aux informations de tarification ou de disponibilité en temps réel

* **Exécuter des actions\u00A0:**

  * Mettre à jour un contact CRM

  * Déclencher un remboursement

***

<h2 id="h_c800e5f3ba">
  Comment créer un outil
</h2>

Pour commencer, accédez à **Dashboard > VoiceAgents > Gestion des outils**, puis cliquez sur le bouton ➕ en haut à droite ou sélectionnez **Créer un outil** pour ouvrir le panneau de configuration dans lequel vous pouvez définir le fonctionnement de votre nouvel outil.

<Frame>
  <img src="https://mintcdn.com/cloudtalk/g8s2E4Yk8cWS5656/images/help-center/articles/11275049/89b356edddea-screenshot-2025-05-07-at-11-20-17.png?fit=max&auto=format&n=g8s2E4Yk8cWS5656&q=85&s=484f51baeac2354c6fdf2fa12e8e794d" alt="" width="400" data-path="images/help-center/articles/11275049/89b356edddea-screenshot-2025-05-07-at-11-20-17.png" />
</Frame>

Voici comment configurer chaque partie\u00A0:

<h4 id="h_425b566d96">
  Référence des champs de l'outil
</h4>

| **Champ** | **Description** |
| - | - |
| **Nom de l'outil** | Un nom clair et descriptif qui aide le VoiceAgent à savoir quand utiliser cet outil. Utilisez des noms comme `book_meeting`, `update_contact` ou `trigger_refund`. Seuls les caractères suivants sont autorisés\u00A0: `a-z`, `A-Z`, `0-9`, `_`, `-` |
| **Description de l'outil** | Décrivez en langage naturel ce que fait l'outil et dans quelles situations il doit être utilisé. Cela aide l'IA à comprendre dans quelles situations déclencher l'outil. |
| **Message d'attente de réponse** | Un court message que le VoiceAgent diffuse en attendant la réponse de l'API. Cela permet de gérer le silence pendant l'exécution. Exemple\u00A0: `Let me check that for you. One moment please.` |
| **Méthode et point de terminaison** | La méthode HTTP et le point de terminaison de l'API que l'outil va appeler. Par exemple\u00A0: `GET https://api.example.com/orders` |
| **En-têtes** | Définissez les en-têtes requis par l'API. Il s'agit généralement de constantes comme `Authorization`, `Content-Type`, ou des en-têtes de version. |
| **Paramètres de chemin** | Utilisés pour renseigner des valeurs dynamiques dans l'URL du point de terminaison (par exemple, `#{{customer_id}}` dans [`https://api.acme.com/#{{customer_id}}/orders`](https://api.acme.com//orders)). |
| **Paramètres du corps** | Disponibles uniquement pour les méthodes `POST`, `PUT` et `PATCH`. Définissez les champs à envoyer dans le corps de la requête. |

<h2 id="h_4f39ac973b">
  Comprendre les paramètres
</h2>

Lorsque vous définissez un outil, les paramètres aident le VoiceAgent à transmettre les bonnes valeurs à votre API. Il existe trois principaux types de paramètres que vous pouvez utiliser à la fois dans les définitions de chemin et de corps\u00A0:

<h4 id="h_b5a4e2b47e">
  Types de paramètres
</h4>

| **Type** | **Description** |
| - | - |
| **Constante** | Une valeur fixe qui reste identique à chaque appel API. Utile lorsque vous connaissez la valeur exacte que vous souhaitez envoyer à chaque fois. |
| **Paramètre** | Une valeur dynamique envoyée depuis votre prompt système. Vous référencez ici un nom de variable qui doit correspondre à celui envoyé dans votre requête API de déclenchement. |
| **Prompt LLM** | Une instruction en langage naturel donnée à l'IA sur la façon d'extraire une valeur de la conversation. Idéal lorsque la donnée dépend de ce que dit l'appelant. |

Chaque paramètre possède également un **type de données** qui définit la manière dont la valeur est formatée dans la requête API. Types disponibles\u00A0:

* **String, Integer, Number, Boolean** fonctionnent comme des valeurs scalaires simples.

- **List** envoie la valeur sous forme de tableau JSON (par exemple `"recipients": ["a@b.com", "c@d.com"]`). Lorsque vous sélectionnez List, vous choisissez également un type d'élément (List of String, List of Integer, etc.). Si l'agent n'extrait qu'une seule valeur, elle est automatiquement encapsulée dans un tableau à un élément plutôt que de provoquer une erreur.

* **Object** envoie la valeur sous forme d'objet JSON. Notez que les paramètres de type objet sont uniquement descriptifs\u00A0: l'agent est informé que le paramètre est un objet et voit votre description, mais il ne connaît pas les noms de champs spécifiques et ne peut donc pas imposer de structure interne. Cela fonctionne bien pour des payloads simples à transmettre tels quels.

<h3 id="h_52e9885b1b">
  Paramètres de chemin
</h3>

Il s'agit de valeurs placées directement dans l'URL. Vous les définissez à l'aide d'accolades dans l'URL du point de terminaison, comme `#{{customer_id}}`.

Voici comment cela fonctionne en pratique\u00A0:

**Exemple de point de terminaison\u00A0:**\
[`https://api.acme.com/#{{customer_id}}/orders`](https://api.acme.com//orders)

Dans ce cas, `customer_id` devient un paramètre de chemin.

**Si défini comme un paramètre\u00A0:**

| Paramètre | Source de la valeur |
| - | - |
| `customer_id` | Variable `customer_identifier` issue du prompt système |

**Exemple de requête de déclenchement**\u00A0:

```
{
    "call_number": "++44123123123",
    "voice_agent_id": "6819f0e147851f618cd6aed6",
    "call_properties": {
        "system_prompt": {
            "variables": {
                "customer_identifier": "abc123",
            }
        }
    }
}
```

Cela entraîne un appel à\u00A0:\
[`https://api.acme.com/abc123/orders`](https://api.acme.com/abc123/orders)

**Pour extraire via un prompt LLM\u00A0:**\
Utilisez une instruction claire comme\u00A0:\
*«*\u00A0Extrayez l'identifiant client mentionné par l'appelant s'il le fournit. S'il ne le fournit pas spontanément, demandez-le-lui.\u00A0*»*

<Frame>
  <img src="https://mintcdn.com/cloudtalk/g8s2E4Yk8cWS5656/images/help-center/articles/11275049/815cc3074282-image.png?fit=max&auto=format&n=g8s2E4Yk8cWS5656&q=85&s=a76817755f1e24e31cf664aec8ebcfec" alt="" width="650" height="644" data-path="images/help-center/articles/11275049/815cc3074282-image.png" />
</Frame>

<h3 id="h_453492ae81">
  Paramètres du corps
</h3>

Pour les méthodes `POST`, `PUT` et `PATCH`, vous devrez peut-être envoyer un corps de requête. Ils fonctionnent de la même manière que les paramètres de chemin et peuvent également utiliser des constantes, des variables du prompt système ou des prompts LLM.

**Les objets imbriqués** peuvent être définis à l'aide de la notation par points.

**Exemple de définition\u00A0:**

| **Paramètre** | **Type** | **Valeur** |
| - | - | - |
| `customer_id` | Paramètre | `customer_identifier` |
| `attendee.email` | Prompt LLM | *«\u00A0Extrayez l'adresse e-mail du client à partir de la conversation.\u00A0»* |
| `recipients` | Prompt LLM | *«\u00A0Extrayez toutes les adresses e-mail mentionnées par l'appelant.\u00A0»* |

**Requête de déclenchement**\u00A0:

```
{
    "call_number": "++44123123123",
    "voice_agent_id": "6819f0e147851f618cd6aed6",
    "call_properties": {
        "system_prompt": {
            "variables": {
                "customer_identifier": "abc123",
            }
        }
    }
}
```

**Cette requête donnera lieu au corps suivant\u00A0:**

```json theme={"system"}
{
  "customer_id": "abc123",
  "attendee": {
    "email": "john@acme.com"
  },
  "recipients": ["a@b.com", "c@d.com"]
}
```

<Frame>
  <img src="https://mintcdn.com/cloudtalk/0LuB-WYxwheF-8cl/images/help-center/articles/11275049/5b9ade3e0dcb-image-1.png?fit=max&auto=format&n=0LuB-WYxwheF-8cl&q=85&s=e35de45d644f8dfa1eb99f165c09c437" alt="" width="853" height="367" data-path="images/help-center/articles/11275049/5b9ade3e0dcb-image-1.png" />
</Frame>

***

<h2 id="h_0809ce1434">
  Attribuer des outils aux VoiceAgents
</h2>

Les outils permettent aux VoiceAgents d'effectuer des actions spécifiques pendant un appel, comme déclencher des workflows externes, envoyer des données à d'autres systèmes ou mettre fin à l'appel. Un même VoiceAgent peut utiliser plusieurs outils, et un même outil peut être utilisé par plusieurs VoiceAgents.

Les outils sont déclenchés en tant qu'**actions au sein d'un scénario VoiceAgent**. Cela signifie que le VoiceAgent n'utilisera un outil que lorsque la situation définie dans le scénario se produit pendant l'appel.

Pour utiliser un outil au sein d'un scénario\u00A0:

1. Accédez à la section **Scénarios et garde-fous** de la configuration du VoiceAgent.

2. Créez un nouveau **scénario** ou modifiez un scénario existant.

3. Définissez la situation dans laquelle l'outil doit être utilisé.

4. Dans le champ **Action**, sélectionnez **Appel d'outil**.

5. Dans la liste déroulante **Outils**, choisissez l'outil que vous souhaitez que le VoiceAgent utilise.

6. Enregistrez la configuration.

   <Frame>
     <img src="https://mintcdn.com/cloudtalk/0LuB-WYxwheF-8cl/images/help-center/articles/11275049/194bac00bc65-image.png?fit=max&auto=format&n=0LuB-WYxwheF-8cl&q=85&s=b4b12e4f82fb42298f289c4fb49b63d7" alt="" width="1178" height="642" data-path="images/help-center/articles/11275049/194bac00bc65-image.png" />
   </Frame>

Une fois configuré, le VoiceAgent utilise automatiquement l'outil sélectionné lorsque les conditions du scénario sont remplies pendant un appel.

***

<h2 id="h_b446948f0c">
  Conseils pour utiliser les outils efficacement
</h2>

* **Utilisez des noms d'outils clairs et descriptifs**\
  Donnez à chaque outil un nom qui reflète clairement ce qu'il fait. Évitez les abréviations ou les codes internes.

  * Bon exemple\u00A0: `trigger_refund`, `get_order_status`, `book_appointment`

  * À éviter\u00A0: `rfnd_tool_v1`, `statusQ`, `app_sched_new`

* **Rédigez une description en langage naturel**\
  Dans le champ Description de l'outil, expliquez quand et pourquoi le VoiceAgent doit utiliser l'outil. Pour les outils complexes, ajoutez une courte description pour chaque argument que l'agent doit collecter.

***

*Besoin d'aide ou une question\u00A0?* Contactez-nous simplement via notre [Portail Support](https://support.cloudtalk.io/hc/en-us/requests/new?ticket_form_id=26305535257884) — nous sommes là pour vous.


## Related topics

- [Outils VoiceAgent : Cal.com](/fr/articles/14073361-voiceagent-tools-cal-com.md)
- [VoiceAgents pour les appels entrants](/fr/articles/11399385-voiceagents-for-inbound-calls.md)
- [Conformité TCPA pour les appels sortants des VoiceAgents](/fr/articles/17230144-tcpa-compliance-for-voiceagent-outbound-calls.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.