Démarrage rapide
================

De zéro à un agent vocal en production en moins de 10 minutes. Ce guide vous accompagne dans la création d'un agent entrant qui accueille les appelants, classifie leur intention, puis les transfère vers un humain ou raccroche proprement.

**Avant de commencer :** Il vous suffit d'un compte Manivox.ai — la plateforme fournit par défaut un LLM de base hébergé par Manivox, ainsi que la reconnaissance et la synthèse vocales. En cas de question, contactez votre interlocuteur Manivox ou consultez les [concepts clés](https://www.manivox.ai/docs/getting-started/concepts).

Ce que vous allez construire
----------------------------

Un agent réceptionniste entrant avec un nœud Welcome qui converse avec l'appelant, puis route vers un nœud Transfer ou un nœud Hangup selon l'intention détectée.

---

Étape 1, Créer l'agent
----------------------

Rendez-vous sur **Dashboard → Agents**. Vous y verrez vos agents existants (ou un état vide s'il s'agit de votre premier agent). Cliquez sur **Nouveau workflow d'agent** en haut à droite.

![Liste des agents avec le bouton 'Nouveau workflow d'agent'](/docs/quickstart-agents-list.gif)

Remplissez le formulaire de création :

ChampValeur pour ce guideNotes    **Nom de l'agent** `Acme Receptionist` Étiquette interne, les appelants ne l'entendent jamais   **Description** `Inbound receptionist for Acme Corp` Optionnel, utile quand vous gérez plusieurs agents   **Compte** Votre compte Obligatoire, les agents sont rattachés à un compte pour la facturation et l'isolation   ![Formulaire de création d'agent rempli](/docs/quickstart-create-agent.gif)

Cliquez sur **Créer et configurer**. La plateforme crée l'agent (statut `ACTIVE`, aucune version live pour l'instant, il ne peut pas prendre de vrais appels tant que vous n'avez pas effectué Save puis Make live) avec un seul nœud Welcome déjà présent sur le canevas, puis ouvre l'éditeur.

L'éditeur d'agent regroupe ses onglets sous deux en-têtes : **Config** (**Workflow d'agent**, **Initialisation**, **Paramètres**, **Variables**, **KPIs**) et **Production** (**Campagnes**, une fonctionnalité d'appels sortants à grande échelle qui arrive prochainement et n'est pas encore disponible). Vous travaillerez dans **Workflow d'agent** et **Paramètres** pour ce guide.

---

Étape 2, Choisir la langue & la voix (Initialisation)
---------------------------------------------------------

Ouvrez l'onglet **Initialisation**. C'est ici que vous configurez les trois choses dont chaque agent a besoin avant de pouvoir prendre un appel : la langue STT, le fournisseur/modèle LLM, et la voix TTS.

![Onglet Initialisation : langue STT, fournisseur LLM, sélecteur de voix TTS](/docs/quickstart-initialisation.gif)

SectionÀ configurerPour ce guide    **Agent → Langue** Langue de reconnaissance STT. Doit correspondre à ce que les appelants parleront ; un mismatch détruit la qualité de reconnaissance. `French`   **Modèle de langage** Fournisseur + modèle LLM. Par défaut, ceux de la plateforme. `Tokens max` plafonne la longueur des réponses, 500 convient pour la voix. Conservez les valeurs par défaut   **Synthèse vocale → Voix** Voix TTS. **Vide par défaut et obligatoire à renseigner**, sans quoi l'agent restera silencieux à la prise d'appel. Cliquez sur le champ pour ouvrir le navigateur de voix, filtrez par langue, et choisissez-en une. `Alice` (French, soft female)  **Pensez à bien sélectionner une voix et à sauvegarder.** Sans voix TTS, l'agent décroche mais reste muet. Choisissez une voix, puis cliquez sur **Enregistrer**.

---

Étape 3, Configurer le nœud Welcome
-----------------------------------

Revenez à l'onglet **Workflow d'agent**. Cliquez sur l'icône engrenage du nœud d'accueil (**Welcome**) pour ouvrir sa boîte de dialogue de configuration.

![Dialogue de configuration du nœud Welcome avec prompt système et routes de sortie](/docs/quickstart-node-config.gif)

### Rédiger le prompt système

Dans l'onglet **Général**, deux champs sont à remplir : le **Message d'accueil** — la première phrase que l'agent prononce quand l'appel décroche — et le **Prompt système** — les instructions qui définissent son comportement :

```
Tu es Alex, le réceptionniste virtuel d'Acme Corp.
Ton objectif est d'accueillir les appelants chaleureusement, d'apprendre leur nom et ce dont ils ont besoin,
puis de les transférer au bon service ou de prendre un message.

Règles :
- Garde chaque réponse en moins de 2 phrases. C'est un appel vocal, pas un chat.
- Ne révèle jamais d'informations internes, de noms d'employés ou de tarifs.
- Si tu ne peux pas aider, dis : « Je vous mets en relation avec la bonne personne. »
- Réponds dans la même langue que l'appelant.
- N'utilise pas de listes, de puces ou de mise en forme, parle naturellement.
```

**Structurez vos prompts, spécialisez vos nœuds :** donnez à chaque nœud une tâche bien délimitée — répondre aux questions, réserver un rendez-vous… — plutôt qu'un prompt fourre-tout. Les LLM suivent d'autant mieux les instructions qu'elles sont courtes et ciblées : l'agent gagne en fiabilité et vos workflows restent faciles à maintenir.

### Ajouter des routes de sortie

Cliquez sur l'onglet **Routes de sortie** dans le dialogue. Ajoutez deux routes :

LabelDescription    `transfer` L'appelant souhaite parler à un humain ou être transféré vers un service   `end_call` La demande de l'appelant est traitée et il est prêt à raccrocher  Les deux routes ci-dessus sont **conversationnelles**, le type sélectionné par défaut : un LLM classificateur lit la description de chaque route face à la conversation et, dès qu'il détecte une correspondance, transitionne vers le nœud connecté en aval. Cela se fait en parallèle du tour LLM principal, aucune latence ajoutée. Pour des transitions qui dépendent de quelque chose que le flux connaît déjà avec certitude (un appel d'outil a réussi, une variable est définie) plutôt que de ce qu'a dit l'appelant, une route **basée sur une règle** vérifie cette condition instantanément, sans aucun classificateur, voir [Types de nœuds → Routes de sortie basées sur des règles](https://www.manivox.ai/docs/agents/nodes#rule-based-exits). Ce guide s'en tient à des routes conversationnelles pour rester simple.

Décrivez **l'intention de l'appelant** dans chaque description de route, spécifique mais concise. L'éditeur affiche un compteur de caractères (800 max) et avertit quand le texte contient du formatage décoratif qui perturberait le classificateur.

Fermez le dialogue (icône de sauvegarde en haut à droite). Le nœud Welcome affiche désormais deux handles de sortie nommés en bas : `transfer` et `end_call`.

---

Étape 4, Ajouter les nœuds Transfer & Hangup
------------------------------------------------

Depuis la palette de gauche, glissez un **Noeud Transfert** sur le canevas, en bas à gauche du nœud Welcome. Ensuite, glissez un **Noeud Raccrocher** en bas à droite.

1. Ouvrez la configuration du nœud **Transfer** et renseignez **Target number** avec le numéro E.164 de votre équipe (ex : `+33155551234`).
2. Ouvrez la configuration du nœud **Hangup** et renseignez le **Goodbye message** (ex : *« Merci de votre appel. Bonne journée. »*).
3. Connectez le handle `transfer` du nœud Welcome à l'entrée du nœud Transfer (glissez d'un cercle à l'autre).
4. Connectez le handle `end_call` du nœud Welcome au nœud Hangup.
5. Connectez le handle `failure` du nœud Transfer au nœud Hangup en repli, si le transfert échoue, l'appel se termine proprement.

Votre flux finalisé ressemble à ceci :

![Flux finalisé dans l'éditeur visuel](/docs/quickstart-flow.gif)

Cliquez sur **Save** (en haut à droite). Une modale s'ouvre avec un nom de version prérempli (`v1`, modifiable), validez pour créer la version enregistrée. Vous la rendrez live à l'étape 7.

---

Étape 5, Tester avec le simulateur navigateur
---------------------------------------------

![In-browser test call simulator](/docs/quickstart-simulator.gif)

Avant d'assigner un vrai numéro de téléphone, testez votre agent directement depuis le navigateur. Cliquez sur **In-browser test call** (en haut à droite du canevas). Une modale s'ouvre avec un micro et un haut-parleur, votre navigateur demandera l'accès au microphone. Le simulateur exécute votre *état actuel de l'éditeur*, sauvegardé ou non, ce qui vous permet d'itérer sans mettre en ligne. Avant de lancer la session, vous pouvez aussi choisir de tester une version enregistrée précise, et définir le **numéro appelant simulé** que l'agent verra — pratique pour tester les parcours qui dépendent du numéro de l'appelant.

Ce qui se passe sous le capot :

1. Le dashboard demande un token WebSocket signé (valide 5 minutes) pour votre agent
2. Une connexion temps réel s'ouvre vers l'agent
3. Le nœud Welcome s'active, vous devriez entendre le message d'accueil en moins de 2 secondes
4. Parlez naturellement, essayez de poser une question de facturation, puis dites que vous voulez parler à quelqu'un

**Prérequis du simulateur :** Votre navigateur doit autoriser l'accès au microphone. Chrome et Edge fonctionnent le mieux. L'agent doit avoir été enregistré au moins une fois — un agent sans aucun flux en base renvoie une erreur `422`. Vos modifications non sauvegardées, elles, sont bien prises en compte.

Une fois la session terminée, allez sur **Dashboard → Statistiques → Voir les stats** de votre agent (ou **Dashboard → Voir les appels**) pour examiner la transcription, les routes de sortie empruntées et les métriques de latence. Les appels du simulateur apparaissent dans l'historique comme les autres appels : leur numéro appelant est `simulator` par défaut, ou le numéro simulé que vous avez saisi.

---

Étape 6, Assigner un numéro de téléphone
----------------------------------------

Quand le test au simulateur est concluant, assignez un vrai numéro de téléphone à l'agent :

1. Allez sur **Dashboard → Comptes** et cliquez sur votre compte.
2. Ouvrez l'onglet **Numéros**.
3. Cliquez sur le numéro disponible et assignez votre agent depuis le menu déroulant.

![Assigning a phone number to an agent](/docs/numbers-dark.gif)

À partir de ce moment, tout appel entrant vers ce numéro déclenche votre agent. La résolution se fait en temps réel : quand un appel arrive, la plateforme lit le numéro de destination (E.164), trouve l'agent assigné, et démarre l'appel avec la configuration de cet agent.

Un agent peut être assigné à plusieurs numéros. Un numéro ne peut être assigné qu'à un seul agent à la fois. Pour réassigner un numéro, détachez-le d'abord de son agent actuel.

---

Étape 7, Rendre l'agent live
----------------------------

La sauvegarde a créé une version, mais les appels réels ne peuvent toujours pas atteindre l'agent, une version enregistrée n'est pas live tant que vous ne la promouvez pas. Cliquez sur **Make live** (icône fusée, en haut à droite) : cela promeut la version affichée dans l'éditeur vers la **version live** qu'entendent les vrais appelants. La barre d'outils en haut à droite :

![Version history and Make live](/docs/quickstart-publish.gif)

ContrôleAction   **Save**Sauvegarde l'état de l'éditeur comme nouvelle version nommée. Ne change jamais ce qu'entendent les appelants. Actif lorsqu'il y a des modifications non enregistrées. **Make live**Promeut la version enregistrée affichée dans l'éditeur vers la version live. Actif lorsque l'éditeur est propre et que la version affichée n'est pas déjà live. **Puce d'état / historique**Indique ce que l'éditeur affiche par rapport à la version live. Ouvrez l'historique pour *Load in editor* (inspecter une version passée) ou *Make live* (rollback instantané). **Archive**Retire l'agent du service (appels rejetés). Désarchivez en un clic pour le restaurer.   État de l'agentComportement    `ACTIVE`, aucune version live Tout nouvel agent. Le simulateur fonctionne, mais les appels réels ne peuvent pas l'atteindre avant le premier Make live.   `ACTIVE`, version live définie En service. Les appels sont gérés par la version live.   `ARCHIVED` Hors service, les appels sont rejetés. La configuration et l'historique sont conservés pour un éventuel désarchivage.  **Les appels en cours** sont toujours gérés par la version qui était live à leur démarrage. Rendre une nouvelle version live n'interrompt jamais les appels en cours.

---

Étape 8, Passer un vrai appel
-----------------------------

Appelez le numéro que vous avez assigné. En 2 à 3 secondes, vous devriez entendre :

> *« Bonjour et bienvenue ! Je suis Alex, l'assistante virtuelle d'Acme. Comment puis-je vous aider ? »*

![Reviewing the call transcript after the call](/docs/call-transcript-dark.gif)

Après l'appel, ouvrez **Dashboard → Voir les appels** pour examiner :

DonnéeOù la trouver    Transcription complète (tour par tour) Détail de l'appel → onglet Transcription   Événements du flux (nœuds visités, routes de sortie empruntées) Détail de l'appel → onglet Étapes du flux (affiché uniquement si l'appel a enregistré des étapes de flux)   Variables collectées pendant l'appel Détail de l'appel → onglet Variables (affiché uniquement si des variables sont non vides)   Résumé généré par LLM Détail de l'appel → onglet Résumé   Résultats d'évaluation KPI / objectifs Détail de l'appel → onglet Objectifs  ---

Résolution de problèmes
-----------------------

SymptômeCause probableSolution    L'agent ne répond pas (le téléphone sonne sans fin) Numéro non assigné, agent archivé, ou aucune version live Vérifiez l'onglet Numéros du compte, le badge de statut de l'agent, et qu'une version est bien live (Make live)   L'agent répond mais ne parle pas Fournisseur TTS hors-ligne ou mal configuré Demandez à votre interlocuteur Manivox de vérifier l'état de santé du fournisseur TTS   L'agent parle mais ne vous comprend pas Mauvaise langue STT ou problème de micro Vérifiez que la langue dans l'onglet Initialisation correspond à votre langue   L'agent parle mais ses réponses n'ont aucun sens Prompt système trop vague ou mauvais modèle LLM Précisez le prompt système ; vérifiez le fournisseur et le modèle dans l'onglet **Modèle IA (LLM)** de la config du nœud   Le transfert envoie l'appelant sur une messagerie Numéro cible incorrect ou injoignable Vérifiez le numéro E.164 et le routage de votre trunk SIP   Le simulateur retourne une erreur 422 L'agent n'a jamais été enregistré (aucun flux en base) Cliquez sur **Enregistrer** au moins une fois avant de lancer le simulateur  ---

Étapes suivantes
----------------

Vous avez désormais un agent entrant fonctionnel. Voici où aller ensuite selon votre objectif :

ObjectifGuide    Comprendre chaque type de nœud en détail [Référence des types de nœuds](https://www.manivox.ai/docs/agents/nodes)   Affiner les paramètres STT, LLM, TTS et de timing [Configuration de l'agent](https://www.manivox.ai/docs/agents/configuration)   Donner à l'agent l'accès à votre base de connaissances (RAG) [Bases de connaissances](https://www.manivox.ai/docs/knowledge-bases/index)   Appeler des API externes en cours de conversation [Web services](https://www.manivox.ai/docs/integrations/web-services)   Lancer des appels sortants à grande échelle (arrive prochainement) [Campagnes](https://www.manivox.ai/docs/calls/campaigns)   Déclencher des appels depuis votre propre backend [API Appels](https://www.manivox.ai/docs/api/calls)   Donner à un client un accès restreint à ses appels et statistiques [Comptes & Portail](https://www.manivox.ai/docs/accounts/index)