> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Procédures

## Présentation

Une procédure contient des instructions pour une tâche spécifique. Chaque procédure comporte un déclencheur qui décrit quand elle s'applique et un contenu qui indique quoi faire. Lorsqu'une conversation correspond au déclencheur, l'agent charge la procédure.

Utilisez des procédures lorsque votre agent doit traiter de nombreuses tâches distinctes. Par exemple, un agent de support client peut utiliser une procédure pour chaque type de demande : remboursements, vérification d'identité, récupération de compte ou résolution de problèmes de connexion.

![Onglet Procédures dans le
Dashboard de l'agent](/docs/_fern-img/38b190b7a08cb9e628da309a86c5e4b315eabccf238a41d5d3a6c2646aba11af.webp)

## Types de procédures

Il existe deux types de procédures :

* Les **[procédures en langage naturel](/docs/fr/eleven-agents/customization/procedures/free-form-procedures)** sont rédigées sous forme d'instructions en langage naturel que l'agent interprète et adapte à la situation.
* Les **[procédures structurées](/docs/fr/eleven-agents/customization/procedures/structured-procedures)** sont une liste ordonnée d'étapes typées que l'agent exécute de la même manière à chaque fois.

Vous pouvez utiliser les deux types pour un même agent. L'agent sélectionne la procédure pertinente selon son déclencheur, quel que soit son type.

> **Tip**
>
> Les procédures peuvent s'appeler entre elles. Une procédure en langage naturel appelle une autre procédure à l'aide d'une [référence intégrée](/docs/fr/eleven-agents/customization/procedures/free-form-procedures#inline-references),
> et une procédure structurée appelle une autre procédure structurée à l'aide d'une étape
> [Sous-procédure](/docs/fr/eleven-agents/customization/procedures/structured-procedures#sub-procedure).
> Une approche courante consiste à conserver le traitement ouvert dans une procédure en langage naturel et à confier les parties qui doivent toujours s'exécuter de la même façon à une procédure structurée.

Un agent peut avoir des procédures, un [workflow](/docs/fr/eleven-agents/customization/agent-workflows), ou les deux. Lorsque les deux sont présents, chaque procédure est disponible depuis chaque point du workflow ; une procédure ne peut pas être limitée à des nœuds spécifiques du workflow. La plupart des agents reposent sur l'une ou l'autre approche, mais elles peuvent être combinées.

## Quand utiliser des procédures

Chaque agent dispose d'un [prompt système](/docs/fr/eleven-agents/best-practices/prompting-guide). Les procédures et les [workflows](/docs/fr/eleven-agents/customization/agent-workflows) permettent d'ajouter une structure, et un agent peut utiliser les deux. Choisissez un point de départ selon le degré de variation possible dans la conversation.

| Exigence                                                             | Utiliser                                                                                             | Pourquoi                                                                                                                                                                                                         |
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Agent de preuve de concept simple                                    | Prompt système uniquement                                                                            | La solution la plus rapide à configurer et à itérer, mais un prompt unique devient difficile à gérer à mesure que le périmètre de l'agent s'étend.                                                               |
| Tâche pour laquelle l'agent peut adapter la formulation et l'ordre   | [Procédure en langage naturel](/docs/fr/eleven-agents/customization/procedures/free-form-procedures) | Conserve toute la conversation dans le contexte d'un même LLM ; l'agent peut donc adapter la formulation et l'ordre, et gérer les changements de direction inattendus. Utilise davantage la fenêtre de contexte. |
| Tâche dont les étapes doivent toujours s'exécuter de la même manière | [Procédure structurée](/docs/fr/eleven-agents/customization/procedures/structured-procedures)        | Chaque étape s'exécute dans l'ordre défini, de la même façon à chaque fois, et vous la rédigez sous la forme d'une courte liste d'étapes.                                                                        |
| Contrôle total sur des branchements complexes et des cas limites     | [Workflow](/docs/fr/eleven-agents/customization/agent-workflows)                                     | S'exécute sous la forme d'un graphe de sous-agents que vous concevez et reliez vous-même, avec un contrôle total sur les branchements et le modèle utilisé à chaque étape.                                       |

Les procédures en langage naturel constituent le choix par défaut. Elles sont les plus rapides à rédiger, se lisent comme un document afin que les équipes non techniques puissent en assurer la gestion, et permettent à l'agent de s'adapter lorsqu'une conversation sort du cadre prévu. Privilégiez une procédure structurée lorsque le coût d'une étape ignorée ou exécutée dans le mauvais ordre est élevé, par exemple pour l'authentification, une escalade ou une transaction financière. Utilisez un workflow lorsque vous avez besoin d'une logique de routage ou d'un contrôle du modèle à chaque étape qu'aucun type de procédure ne propose.

## Gérer les procédures

Le Dashboard est la méthode recommandée pour créer des procédures. Utilisez la CLI ou l'API pour gérer les procédures par programmation ou les intégrer à vos outils de déploiement.

#### Créer depuis le Dashboard

Ouvrez votre agent dans le [Dashboard](https://elevenlabs.io/app/agents), puis sélectionnez **Procédures**.
Utilisez **+** pour créer une procédure en langage naturel ou structurée. Vous pouvez regrouper les procédures dans des dossiers
depuis le même menu. Consultez les pages
[Procédures en langage naturel](/docs/fr/eleven-agents/customization/procedures/free-form-procedures)
et
[Procédures structurées](/docs/fr/eleven-agents/customization/procedures/structured-procedures)
pour obtenir des conseils de rédaction.

#### Gérer via la CLI

La [CLI ElevenLabs](/docs/fr/eleven-agents/operate/cli) gère les procédures avec le groupe de commandes
`elevenlabs agents procedures`. Définissez d'abord `ELEVENLABS_API_KEY` dans votre environnement.

```bash
# List the procedures on a branch
elevenlabs agents procedures list \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t

# Create a procedure
elevenlabs agents procedures create \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t \
  --json '{"name": "Refund request", "type": "free_form", "trigger": "When the user asks to refund an order", "content": "Ask for the order ID."}'

# Publish every changed procedure draft on the branch
elevenlabs agents update \
  --agent-id agent_7101k5zvyjhmfg983brhmhkd98n6 \
  --branch-id agtbranch_0901k4aafjxxfxt93gd841r7tv5t \
  --json '{"version_description": "Publish refund procedure"}'
```

Utilisez `elevenlabs agents procedures drafts` pour lire, mettre à jour ou supprimer un brouillon, et
`elevenlabs agents procedures remove` pour préparer une suppression. Ajoutez `--schema` à n'importe quelle commande pour voir
son contrat d'entrée et de sortie.

#### Gérer via l'API

Les brouillons de procédures suivent le [cycle de vie du versionnage des agents](/docs/fr/eleven-agents/operate/versioning#drafts). Ils sont associés à chaque utilisateur et à chaque branche ; chaque
membre de l'équipe dispose donc de brouillons distincts sur chaque branche. La publication enregistre les modifications apportées à vos procédures dans une nouvelle
version d'agent immuable sur cette branche. Les brouillons des autres utilisateurs ne sont pas affectés.

Les réponses de configuration de l'agent incluent des métadonnées sur les procédures, telles que les ID, noms, types et
déclencheurs, mais pas le contenu des procédures ni les brouillons. Utilisez les points de terminaison des procédures pour lire et modifier le
contenu complet. Tous les points de terminaison des procédures sont imbriqués sous
`/v1/convai/agents/{agent_id}/branches/{branch_id}`.

### Créer ou mettre à jour un brouillon

Créez une procédure avec `POST /procedures`. Mettez-la à jour avec
`PATCH /procedures/{procedure_id}/draft`, en incluant `name`, `content`, `type` et `trigger`
dans chaque requête. Le `type` doit correspondre au type existant de la procédure.

Utilisez `GET /procedures/{procedure_id}/draft` pour lire les modifications non publiées. Si vous n'avez aucun brouillon,
le point de terminaison renvoie la version publiée.

### Publier les modifications

Publiez les brouillons en créant une nouvelle version de l'agent avec
[Mettre à jour un agent](/docs/fr/api-reference/agents/update). Une requête publie chaque brouillon de procédure modifié
sur la branche, pour les deux types de procédures. Si la branche comporte des procédures structurées,
la publication les valide et les compile, c'est-à-dire qu'elle convertit leurs étapes dans le format exécuté par
l'agent, puis renvoie les éventuelles erreurs. Si la validation réussit, la configuration de l'agent est
publiée. Vous n'avez rien à compiler vous-même.

Suivez les instructions spécifiques au type pour les
[procédures en langage naturel](/docs/fr/eleven-agents/customization/procedures/free-form-procedures#manage-a-free-form-procedure)
ou les
[procédures structurées](/docs/fr/eleven-agents/customization/procedures/structured-procedures#manage-a-structured-procedure).

### Abandonner ou supprimer une procédure

`DELETE /procedures/{procedure_id}/draft` abandonne les modifications non publiées et restaure la
version publiée. Si la procédure n'a jamais été publiée, elle est supprimée.

`DELETE /procedures/{procedure_id}` prépare la suppression d'une procédure publiée. Publiez la
modification en suivant le même processus.

Consultez le [Guide de l'API des procédures](/docs/fr/api-reference/agents/procedures/) pour obtenir les schémas complets des
points de terminaison.

## Limites

* Le contenu d'une procédure est limité à 50 000 caractères.
* L'agent conserve dans son contexte les cinq procédures démarrées le plus récemment. Lorsque davantage de procédures ont été démarrées dans une même conversation, le contenu, les outils intégrés et les documents de base de connaissances des procédures en langage naturel les plus anciennes disparaissent du prompt. Gardez des procédures ciblées et utilisez des sous-procédures afin que peu d'entre elles soient actives simultanément.
* Vous ne pouvez pas modifier le type d'une procédure après sa création. Pour passer d'une procédure en langage naturel à une procédure structurée, ou inversement, créez une nouvelle procédure et mettez à jour toutes les références qui y renvoient.
* Les procédures appartiennent à un seul agent. Elles ne peuvent pas être partagées entre plusieurs agents ni stockées comme ressources au niveau du Workspace.
* La duplication d'un agent copie ses procédures au lieu de les partager. Les copies reçoivent de nouveaux ID de procédure ; les références dans l'agent dupliqué doivent donc utiliser ces nouveaux ID.
* Les procédures ne peuvent pas être limitées à des nœuds spécifiques du workflow. Lorsqu'un agent dispose des deux, chaque procédure est disponible depuis chaque nœud.
* Les procédures structurées ne peuvent pas référencer de documents de base de connaissances.