{{customer_name}} et fournissez la valeur à chaque appel — depuis votre requête API, un lead de campagne, un webhook d’enrichissement entrant, ou le contexte système intégré à la plateforme.
Syntaxe de référence des variables
Référencez une variable avec des doubles accolades — la forme à privilégier, compatible JSON :{customer_name} est également résolue, mais uniquement pour les clés effectivement connues (une variable définie ou système). Cela permet de préserver intactes les accolades littérales — par exemple du JSON dans le corps d’un outil. Tout espace réservé dont la clé est inconnue reste inchangé.
Définir des variables sur un assistant
Chaque assistant possède une liste de définitions de variables. Une définition comprend :Les clés sont validées à l’enregistrement : un format invalide, une collision avec une variable système réservée, une clé en double ou un label manquant sont tous rejetés.
Où les variables sont substituées
Les valeurs sont substituées au début de l’appel, avant l’exécution du modèle ou du flow, dans les champs suivants :- Assistant : system prompt
- Assistant : first message (message d’accueil)
- Nœud de flow
start.greeting - Nœud de flow
agent.instructions - Nœud d’outil du flow : URL de la requête et valeurs des en-têtes
- Nœud Transfer du flow : number de destination et announcement
- Nœud Warm transfer du flow : number de destination, caller announcement et briefing instructions
- Built-in tool texts — description de l’outil, announcement du transfert, hold message, connected message, briefing first message et summary instructions du transfert accompagné, farewell à la fin de l’appel, pre-transfer message du transfert vers un autre assistant et prompt de la collecte de la carte de paiement
{{handover_number}}, fourni via les champs personnalisés du lead de campagne, via variables dans l’appel API, ou via le webhook de variables entrant — et un briefing de transfert accompagné peut commencer par Hallo, hier {{assistant_name}} von {{company}} — Anrufer {{caller_name}}. Voir la Référence des nœuds pour savoir ce que contrôle chaque champ de flow.
Les textes parlés des outils sont substitués deux fois : une première fois au début de l’appel avec les variables d’entrée résolues, puis à nouveau au moment où l’outil s’exécute — les valeurs collectées pendant la conversation (via set_variable ou des étapes Collect) sont ainsi incluses et restent prioritaires.
Ainsi, un nœud d’outil peut appeler https://api.example.com/orders/{{order_id}} ou envoyer Authorization: Bearer {{api_token}} avec des valeurs propres à chaque appel.
Sources de valeur et priorité
Une valeur peut provenir de plusieurs sources. Au début de l’appel, la plateforme utilise cet ordre de priorité, du plus élevé au plus faible :- Explicite — valeurs transmises avec l’appel :
variablesde l’APImake-call, ou les champs personnalisés d’un lead de campagne mappés sur les clés correspondantes. - Webhook de variables entrant — enrichissement récupéré au début de l’appel (voir ci-dessous).
- Variables système — renseignées par la plateforme à partir du contexte de l’appel.
- Valeur par défaut — le
default_valuede la définition.
Valeurs explicites via l’API
Leads de campagne → variables
Dans une campagne, chaque lead peut porter des champs personnalisés libres. Au moment de la composition, un champ est mappé sur une variable portant la même clé. Une colonne CSV devient ainsi une variable :customer_name et appointment_date alimentent {{customer_name}} et {{appointment_date}} pour chaque appel. Attribuez source: "lead" à une variable issue d’un lead pour documenter son origine.
Variables système
Ces clés sont toujours disponibles au début de l’appel. Elles sont réservées : vous ne pouvez pas définir une variable personnalisée portant l’une de ces clés.Webhook de variables entrant
Pour les appels entrants, vous ne connaissez souvent pas l’appelant à l’avance. Configurez un webhook de variables sur l’assistant. Famulor l’appelle au début de l’appel pour enrichir les variables, par exemple à partir du numéro de l’appelant. Il se déclenche avant le début de l’appel ; voir Webhooks post-appel pour ce que Famulor envoie une fois l’appel terminé.Requête
Famulor envoie une requêtePOST avec un corps JSON :
Réponse
Renvoyez les variables à fusionner :Automatisation native (alternative)
À la place d’un webhook personnalisé, vous pouvez créer une Automation avec le déclencheur Inject input variables et la rattacher à l’assistant. Ajoutez une action Return variables avec la même structure{ variables: {…} }. Sans automatisation active correspondante, le webhook configuré est utilisé.
Vérifier la signature
Exemple de requête
API et MCP
GET /api/v1/assistants/{id}/variables— lit les définitions de variables de l’assistant ; scopeassistants:read.PATCH /api/v1/assistants/{id}/variables— remplace les définitions de variables ; scopeassistants:write.- Outils MCP :
get_assistant_variables,set_assistant_variables.