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

# Référence des nœuds de Flow

> Tous les types de nœuds du générateur de Flow, avec leurs champs et leur comportement

Voici la référence détaillée du générateur de Flow, champ par champ : chaque type de nœud, ses champs et son comportement pendant un appel. Pour comprendre ce qu'est un flow et comment fonctionnent les connexions et leurs étiquettes, commencez par la [présentation du générateur de Flow](/fr/flow-builder/overview).

## Start

Point d'entrée de chaque Flow. Définit le **greeting** et le **greeting mode** :

* `agent speaks first` — le message d'accueil est prononcé dès que l'appel est connecté (cas typique en entrant).
* `user speaks first` — l'assistant attend l'appelant (cas typique en sortant : la personne appelée dit d'abord « Allô ? »).

## Agent

Un agent conversationnel avec son propre **name**, ses propres **instructions**, et un **voice override** facultatif. La conversation reste avec cet agent jusqu'à ce qu'il la transmette via l'un de ses liens sortants.

* Chaque lien sortant est une transmission possible ; l'assistant utilise son étiquette pour décider. Voir [pourquoi les étiquettes comptent](/fr/flow-builder/overview#pourquoi-les-étiquettes-de-bord-et-dagent-sont-importantes).
* Si les instructions sont vides, le prompt système de l'assistant (Prompt avancé) sert de base ; le texte du nœud est **ajouté**, pas remplacé.
* La substitution de voix permet à différents agents de parler avec des voix différentes.

## Condition

Un point de décision forcé. Vous rédigez une **description** de ce qui est décidé ; l'assistant doit choisir exactement un lien sortant en fonction des étiquettes des liens. Utilisez-le quand l'aiguillage doit se faire immédiatement.

## Tool

Exécute un **outil API ou intégré** réutilisable pendant la conversation et renvoie le résultat à l'assistant. Configurez son endpoint, ses identifiants, sa description et son comportement réutilisable sous **Tools**.

| Champ                         | Objectif                                                   |
| ----------------------------- | ---------------------------------------------------------- |
| **Name and description**      | Comment l'assistant comprend ce que fait l'outil           |
| **URL, method et headers**    | La requête HTTP (GET/POST/PUT/PATCH/DELETE)                |
| **Parameter schema**          | Le JSON Schema des valeurs que l'assistant doit recueillir |
| **Timeout**                   | Le délai d'attente de la requête                           |
| **Announcement**              | Ce qui est dit au démarrage de l'outil                     |
| **Run asynchronously**        | Poursuivre la conversation pendant que l'outil s'exécute   |
| **Filler phrases and timing** | Phrases tournantes prononcées pendant les longues attentes |

<Tip>
  Pour les webhooks longs, comme les écritures CRM ou les vérifications de disponibilité, activez **Run asynchronously** et ajoutez deux ou trois phrases de remplissage. L'appelant garde une conversation fluide pendant que la requête se termine.
</Tip>

## Transfer (blind)

Transfère immédiatement l'appel vers un **numéro de téléphone ou une URI SIP** (SIP REFER), éventuellement après une courte **announcement**. L'assistant quitte l'appel ; la personne qui reçoit l'appel n'est pas briefée.

## Warm transfer

La transmission haut de gamme : l'appelant est mis en **hold music**, l'assistant compose le numéro de la cible (un collaborateur), la **briefe avec un résumé généré par l'IA** de la conversation jusqu'ici, et connecte les deux parties seulement ensuite. Le collaborateur peut accepter ou refuser ; la messagerie vocale de la cible est détectée.

| Champ                        | Objectif                                                                                                                                                                                                             |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Target**                   | Un utilisateur, une extension, un ring group ou une queue Famulor Loop — ou un numéro externe au format E.164 ou sous forme d'URI `sip:`. Vous pouvez aussi laisser l'assistant déterminer le numéro pendant l'appel |
| **Outbound phone number**    | Le numéro utilisé pour appeler la cible (nécessite un trunk sortant)                                                                                                                                                 |
| **Hold message**             | Ce que l'appelant entend avant d'être mis en attente                                                                                                                                                                 |
| **Connected message**        | Ce que l'appelant entend une fois la cible en ligne                                                                                                                                                                  |
| **Briefing initial message** | La première chose que l'assistant dit à la cible                                                                                                                                                                     |
| **Summary instructions**     | Comment l'assistant résume la conversation pour la cible                                                                                                                                                             |
| **Ringing timeout**          | Combien de temps faire sonner la cible (5–120 secondes ; 30 par défaut)                                                                                                                                              |
| **Hold music**               | S'il faut jouer une musique d'attente, et quelle piste disponible utiliser                                                                                                                                           |
| **Fallback**                 | Poursuivre la conversation, mettre fin à l'appel, ou effectuer un transfert à froid si la cible ne répond pas ou refuse                                                                                              |

Les résultats du Warm transfer (`started` / `completed` / `failed`) sont enregistrés comme événements d'appel.

## Collect

Capture de données structurée avec **validation, relance et confirmation intégrées** — bien plus fiable que d'espérer que le LLM transcrive correctement une adresse e-mail.

* **Types :** `name`, `email`, `phone`, `address`, `date of birth`, `dtmf` (chiffres au clavier ou dits à voix haute), `credit_card` (carte de paiement).
* **Variable** (requis) : le résultat est stocké sous ce nom et inclus dans le webhook `call.completed`.
* **Prompt** : instructions supplémentaires facultatives, en complément du dialogue intégré.
* **Max attempts** (3 par défaut) : après l'échec final, le Flow emprunte le lien étiqueté `failed`, s'il existe.
* **DTMF digits** : pour le type `dtmf`, le nombre de chiffres à recueillir.
* **Timeout and stop key** (`dtmf`, définis sur l'outil **Collect keypad** assigné) : le temps dont dispose l'appelant avant que la tentative n'expire (1–30 s, 5 s par défaut), et quelle touche — `#` ou `*` — termine la saisie plus tôt plutôt que d'attendre le délai complet.
* **Payment card:** nécessite l'outil **Collect payment card** et un compte Stripe connecté éligible. Pendant l'appel, les informations de paiement sont recueillies de façon sécurisée. Seules une référence réutilisable du moyen de paiement et des données d'affichage non sensibles sont conservées ; le numéro complet de la carte et le code de sécurité ne sont jamais stockés. Connectez d'abord Stripe sous **Tools → Agent Connectors**.

## DTMF

Invite l'appelant à saisir un nombre fixe de **chiffres sur le clavier téléphonique** — les chiffres prononcés à voix haute fonctionnent aussi. L'outil **DTMF input** assigné définit le nombre de chiffres à recueillir (1–32) ; l'appelant dispose d'environ quatre secondes par chiffre, et appuyer sur `#` termine la saisie plus tôt. Utilisez `collect` avec le type `dtmf` quand vous voulez validation et nouvelles tentatives ; utilisez ce nœud plus simple pour des choix de menu rapides.

<Tip>
  Donnez à l'appelant une consigne en mots simples — la description de l'outil assigné détermine ce que l'assistant demande, donc rédigez-la comme l'appelant doit l'entendre : « Merci de saisir votre numéro de compte, puis appuyez sur # pour confirmer », ou pour un menu : « Appuyez sur 1 pour le support, 2 pour les ventes. » Un appelant qui n'est pas guidé au préalable se met souvent à parler au lieu d'appuyer sur des touches.
</Tip>

## End

Termine l'appel, en prononçant éventuellement d'abord un **farewell**. Donnez toujours à vos Flows une fin explicite — cela produit des statuts d'appel propres et empêche la conversation de dériver une fois sa mission accomplie.

## Bibliothèque d'outils centrale

**Add node** ouvre une Tool Library consultable par recherche. Les paramètres réutilisables restent gérés sur la page Tools :

| Outil du registre      | Emplacement dans le Flow                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| API                    | Nœud **Tool** générique                                                                                 |
| Call transfer          | Nœud **Transfer** dédié                                                                                 |
| Warm transfer          | Nœud **Warm transfer** dédié                                                                            |
| DTMF input             | Nœud **DTMF** dédié                                                                                     |
| Collect keypad         | Nœud **Collect** dédié                                                                                  |
| Autres outils intégrés | Nœud **Tool** générique référencé                                                                       |
| Serveur MCP            | Affectation à l'échelle de l'assistant uniquement ; ce n'est pas une action de Flow déterministe unique |

Utilisez **Edit in Tools** pour modifier les paramètres réutilisables. Le changement s'applique à chaque assistant et Flow qui utilise l'outil.

<Note>
  Les nœuds Tool, Transfer, Warm transfer, DTMF et Collect keypad sélectionnent un outil réutilisable depuis la page Tools. Si un outil sélectionné devient indisponible, le nœud suit son chemin d'échec configuré et le détail de l'appel affiche le problème.
</Note>
