> 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.

# Suivi en temps réel

Le suivi en temps réel permet d’observer en direct les conversations des agents via WebSocket et de contrôler à distance les appels actifs. Cette fonctionnalité offre une visibilité en temps réel sur les événements de conversation et permet d’intervenir via des commandes de contrôle.

> **Note**
>
> Cette fonctionnalité est réservée aux entreprises.

## Vue d’ensemble

Les sessions de suivi diffusent les événements de conversation en temps réel, notamment les transcriptions, les réponses de l’agent et les corrections. Vous pouvez également envoyer des commandes de contrôle pour terminer des appels, les transférer vers des numéros de téléphone ou activer la prise en charge humaine pendant des conversations de chat actives.

## Point de terminaison WebSocket

Connectez-vous à une conversation en direct à l’aide du point de terminaison de suivi :

```
wss://api.elevenlabs.io/v1/convai/conversations/{conversation_id}/monitor
```

Remplacez `{conversation_id}` par l’ID de la conversation que vous souhaitez suivre.

## Authentification

L’authentification exige :

* **Autorisations de la clé API** : votre clé API doit disposer du périmètre `ElevenLabs Agents Write`
* **Accès au Workspace** : vous devez disposer d’un accès `EDITOR` au Workspace de l’agent
* **Format de l’en-tête** : incluez votre clé API via l’en-tête `xi-api-key`

### Exemple de connexion

```javascript
const ws = new WebSocket('wss://api.elevenlabs.io/v1/convai/conversations/conv_123/monitor', {
  headers: {
    'xi-api-key': 'your_api_key_here',
  },
});
```

```python
import websockets
import asyncio

async def monitor_conversation():
    uri = "wss://api.elevenlabs.io/v1/convai/conversations/conv_123/monitor"
    headers = {
        "xi-api-key": "your_api_key_here"
    }

    async with websockets.connect(uri, extra_headers=headers) as websocket:
        # Connection established
        pass
```

## Configuration

Avant de suivre des conversations, activez cette fonctionnalité dans les paramètres de votre agent :

### Accéder aux paramètres de l’agent

Ouvrez la page de configuration de votre agent dans le Dashboard.

### Activer le suivi

Dans le panneau des paramètres Avancé, activez l’option « Monitoring ».

![Bouton d’activation du suivi dans les paramètres de l’agent](/docs/_fern-img/1a4b5507a39ddf6a517772b8c01ede5f7d12429175fdf89e04c8ba910f646f8e.webp)

### Sélectionner les événements

Choisissez les événements que vous souhaitez suivre. Consultez les [événements client](/docs/fr/eleven-agents/customization/events/client-events) pour obtenir la liste complète des événements disponibles.

> **Warning**
>
> Les événements suivants ne peuvent pas être suivis : les scores VAD, les métriques de probabilité de tour et les pings.

> **Info**
>
> La conversation doit être active avant que vous puissiez vous y connecter pour la suivre. Vous ne pouvez pas suivre une conversation avant son début.

## Commandes de contrôle

Envoyez des commandes JSON via le WebSocket pour contrôler la conversation :

#### Terminer l’appel

Terminez immédiatement la conversation active.

```javascript
// End the active conversation
ws.send(JSON.stringify({
  command_type: "end_call"
}));
```

```python
import json

# End the active conversation
await websocket.send(json.dumps({
    "command_type": "end_call"
}))
```

#### Transférer vers un numéro de téléphone

Transférez l’appel vers un numéro de téléphone spécifié.

```javascript
// Transfer to a phone number
ws.send(JSON.stringify({
  command_type: "transfer_to_number",
  parameters: {
    phone_number: "+1234567890"
  }
}));
```

```python
import json

# Transfer to a phone number
await websocket.send(json.dumps({
    "command_type": "transfer_to_number",
    "parameters": {
        "phone_number": "+1234567890"
    }
}))
```

> **Note**
>
> L’outil système `transfer_to_number` doit déjà être configuré dans l’agent.

#### Mise à jour contextuelle en temps réel

Injectez du contexte ou des instructions dans la conversation active afin que l’agent puisse utiliser les nouvelles informations dans ses réponses.

```javascript
// Send a contextual update to the agent
ws.send(JSON.stringify({
  command_type: "contextual_update",
  parameters: {
    contextual_update: "<your update text>"
  }
}));
```

```python
import json

# Send a contextual update to the agent
await websocket.send(json.dumps({
    "command_type": "contextual_update",
    "parameters": {
        "contextual_update": "<your update text>"
    }
}))
```

#### Activer la prise en charge humaine

Passez du mode agent IA au mode opérateur humain pour les conversations par chat.

```javascript
// Enable human takeover
ws.send(JSON.stringify({
  command_type: "enable_human_takeover"
}));
```

```python
import json

# Enable human takeover
await websocket.send(json.dumps({
    "command_type": "enable_human_takeover"
}))
```

#### Envoyer un message en tant qu’humain

Envoyez un message à l’utilisateur en tant qu’opérateur humain dans les conversations par chat.

```javascript
// Send a message as a human operator
ws.send(JSON.stringify({
  command_type: "send_human_message",
  parameters: {
    text: "How can I help you?"
  }
}));
```

```python
import json

# Send a message as a human operator
await websocket.send(json.dumps({
    "command_type": "send_human_message",
    "parameters": {
        "text": "How can I help you?"
    }
}))
```

#### Désactiver la prise en charge humaine

Redonnez le contrôle de l’opérateur humain à l’agent IA.

```javascript
// Disable human takeover and return to AI
ws.send(JSON.stringify({
  command_type: "disable_human_takeover"
}));
```

```python
import json

# Disable human takeover and return to AI
await websocket.send(json.dumps({
    "command_type": "disable_human_takeover"
}))
```

## Cas d’usage

Le suivi en temps réel permet plusieurs scénarios opérationnels :

#### Assurance qualité

Suivez les conversations des agents en temps réel pour garantir le respect des standards de qualité et identifier des possibilités de formation.

#### Escalade vers un humain

Détectez les conversations nécessitant une intervention humaine et prenez le relais de l’agent IA de manière fluide.

#### Tableaux de bord analytiques

Créez des tableaux de bord de suivi en temps réel qui agrègent les métriques de conversation et les indicateurs de performance.

#### Supervision de centre d’appels

Supervisez simultanément plusieurs conversations d’agents et intervenez lorsque nécessaire.

#### Intervention automatisée

Mettez en œuvre des systèmes automatisés qui analysent le contenu des conversations et déclenchent des actions selon des conditions spécifiques.

#### Formation et accompagnement

Utilisez les conversations en direct comme supports de formation et fournissez des retours en temps réel afin d’améliorer les performances des agents.

## Limites

#### Livraison asynchrone des événements

Les événements de suivi sont envoyés de manière asynchrone par rapport à la conversation et peuvent ne pas arriver dans le même ordre que les événements principaux de la conversation. Lors du traitement des événements, ne vous appuyez pas sur leur ordre pour reconstituer le minutage exact de la conversation.

#### Données audio non disponibles

Le point de terminaison de suivi ne diffuse que les événements textuels et les métadonnées. Les données audio brutes ne sont pas incluses dans les événements de suivi.

#### Limite d’événements historiques

Seuls les 100 derniers événements environ sont mis en cache et disponibles lors de la connexion à une conversation active. Les événements antérieurs ne peuvent pas être récupérés.

#### Restrictions de filtrage des événements

Les scores VAD, les métriques de probabilité de tour et les événements ping ne peuvent pas être suivis lorsque la sélection personnalisée des événements est activée.

#### Moment de la connexion

Vous devez vous connecter après le début de la conversation. Le point de terminaison de suivi ne peut pas être utilisé avant le lancement de la conversation.

#### Autorisations requises

Les clés API doivent disposer du périmètre `ElevenLabs Agents Write`, et vous devez avoir un accès `EDITOR` au Workspace pour suivre les conversations.

## Ressources associées

#### [Webhooks post-appel](/docs/fr/eleven-agents/workflows/post-call-webhooks)

Recevez les données et l’analyse des conversations une fois les appels terminés.

#### [Analyse des agents](/docs/fr/eleven-agents/customization/agent-analysis)

Configurez l’évaluation de la réussite et la collecte de données pour les conversations.

#### [Événements client](/docs/fr/eleven-agents/customization/events/client-events)

Comprenez les événements reçus dans les applications conversationnelles.

#### [API WebSocket](/docs/fr/eleven-agents/libraries/web-sockets)

Découvrez l’API WebSocket pour les conversations en temps réel.