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

# Contexte

> Le contexte regroupe les informations dynamiques accessibles à l'agent pendant un appel, cruciales pour personnaliser l'interaction et améliorer l'expérience utilisateur. Ces données enrichissent les prompts des agents vocaux par templating et sont également transmises lors des actions de type workflow pendant l'appel, ainsi que dans le webhook post-appel.

## Contexte système

Le contexte de chaque appel inclut automatiquement un ensemble de variables système qui fournissent des informations essentielles sur l'appel en cours. Ces variables sont toujours disponibles et peuvent être utilisées dans vos prompts, workflows et intégrations.

```json theme={null}
{
  "system": {
    "agentId": "b8d9637f-ba51-4aa2-84a4-80692f7bbd17",
    "callId": "40387944-5065-483f-942c-68bae81e70ec",
    "customerId": "1e1a79ee-c6ec-4b07-89f0-9a414daaa9de",
    "date": "2025-05-13",
    "dayOfWeek": "tuesday",
    "phone": "06 12 34 56 78",
    "phoneE164": "+33612345678",
    "now": "2025-05-13 10:36:37",
    "timeHHMM": "1036",
    "year": "2025"
  }
}
```

| Variable           | Description                                                                                                                                                  |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `system.callId`    | Identifiant unique de l'appel en cours. Peut être utilisé pour le suivi, les journaux ou les références croisées dans vos systèmes.                          |
| `system.agentId`   | Identifiant unique de l'agent vocal qui gère l'appel. Utile pour différencier les agents dans les analyses ou pour des configurations spécifiques.           |
| `system.dayOfWeek` | Jour de la semaine dans la locale du compte client. Permet d'adapter les salutations ou les disponibilités selon le jour.                                    |
| `system.phone`     | Numéro de téléphone de l'interlocuteur au format local, avec espaces. Idéal pour l'affichage ou la communication verbale.                                    |
| `system.now`       | Date et heure actuelles au format ISO, selon le fuseau horaire configuré. Permet de contextualiser l'appel dans le temps.                                    |
| `system.phoneE164` | Numéro de téléphone de l'interlocuteur au format E.164 (international). Format standardisé optimal pour les recherches en base de données ou les appels API. |

## Action pré-appel

Avant chaque appel entrant ou sortant, vous pouvez enrichir le contexte avec des informations additionnelles en configurant une action pré-appel sur votre agent.
Le retour de cette action sera injecté dans le contexte de l'appel.
<Tip>Utiliser le numéro de téléphone appelant/appelé (`system.phoneE164`) provenant du contexte système pour récupérer
des informations client depuis vos systèmes</Tip>

## Appel sortant

### API

Lors de la création d'appels via API, un contexte peut être fourni dans la requête et sera injecté lors de l'appel.

<Card title="Lancer des appels sortants" icon="phone-arrow-up-right" href="/api-reference/calls/create" horizontal>
  Voir la référence de l'API
</Card>

### Campagnes (Excel / CSV)

Pour les campagnes d'appels sortants en masse, vous pouvez fournir le contexte via des fichiers Excel ou CSV.

<Warning>
  Les noms de colonnes dans vos fichiers Excel/CSV ne doivent pas contenir d'espaces ou de caractères spéciaux pour
  être correctement transformés en variables. Utilisez des underscores (\_) pour séparer les mots.
</Warning>

## Appel entrant

### SIP

Lors de la réception d'un appel entrant via une connexion SIP, Volubile ajoute automatiquement au contexte de l'appel l'en-tête `User-to-User` et toutes les autres en-têtes SIP personnalisées commençant par `X-Volubile-`. Ces en-têtes sont alors disponibles et peuvent être exploitées au sein du prompt.

#### Conversion automatique

Les en-têtes SIP sont automatiquement transformées en variables de contexte selon la règle suivante :

1. Le préfixe `X-Volubile-` est supprimé
2. La clé restante est convertie en minuscules
3. Les tirets (`-`) sont remplacés par des underscores (`_`)

| En-tête SIP                      | Conversion dans le contexte |
| -------------------------------- | --------------------------- |
| `User-to-User: 6796`             | `{"user_to_user": "6796"}`  |
| `X-Volubile-code: 123456`        | `{"code": "123456"}`        |
| `X-Volubile-client-id: CL001`    | `{"client_id": "CL001"}`    |
| `X-Volubile-offer-type: premium` | `{"offer_type": "premium"}` |

#### Exemple complet

<CodeGroup>
  ```http En-têtes SIP reçues theme={null}
  User-to-User: 6796
  X-Volubile-code: ABC123
  X-Volubile-client-id: CL-45678
  X-Volubile-client-segment: premium
  X-Volubile-campagne-id: CAMP-2025-Q2
  ```

  ```json Contexte généré theme={null}
  {
      "user_to_user": "6796",
      "code": "ABC123",
      "client_id": "CL-45678",
      "client_segment": "premium",
      "campagne_id": "CAMP-2025-Q2"
  }
  ```
</CodeGroup>
