Faire circuler les données
Les variables transmettent des informations d’un bloc à un autre : message utilisateur, réponse HTTP, instruction, réponse LLM, outils ou résultats d’outils.
Portées
| Portée | Durée | Exemples |
|---|---|---|
SYSTEM | Fournie par la plateforme à chaque exécution | userMessage, datetime, customParams |
USER | Liée à la personne connectée | userData.email, locale, timezone |
CONVERSATION | Conservée entre plusieurs messages | conversationHistory, informations collectées |
REQUEST | Limitée au parcours courant | documents.body, chatCompletion-1.content |
Utilisez REQUEST par défaut. Réservez CONVERSATION aux informations qui doivent survivre d’un tour à l’autre.
Variables globales
| Variable | Utilisation |
|---|---|
userMessage | Demande de l’utilisateur |
datetime, datetime.date, datetime.hour, datetime.minute | Date et heure courantes |
customParams | Paramètres transmis par une intégration web |
llmAppId, organizationId, workflowId | Identifiants de contexte |
workflowExecutionId, queryExecutionId | Identifiants d’exécution |
conversationHistory | Historique de la conversation |
userData | Objet décrivant l’utilisateur |
userData.email, userData.name, userData.givenName, userData.familyName, userData.userId | Attributs utilisateur courants |
userData.organizationId, userData.attributes, userData.iamProfiles | Organisation, attributs et profils IAM |
locale, timezone | Langue et fuseau horaire |
Les informations de userData (nom, email, profils et attributs) proviennent de l’administration des utilisateurs de votre organisation. userData.attributes contient les attributs définis pour la personne connectée ; la liste est vide si aucun attribut n’est défini. Pour un utilisateur anonyme, userData.email vaut anonymous et les autres informations, attributs compris, ne sont pas renseignées.
Sorties des blocs
Par défaut, une sortie s’écrit ainsi :
{{identifiantDuBloc.nomDeVariable}}Par exemple, {{http-1.body}} désigne le corps produit par http-1.
Si le bloc http-1 reçoit l’alias documents, la référence devient {{documents.body}}. Un alias facilite la lecture, mais doit rester unique.
Pour utiliser toutes les sorties d’un bloc d’un seul coup, référencez le bloc sans nom de sortie : {{http-1}} désigne l’objet complet produit par http-1. Cette référence est aussi proposée par l’aide à la saisie.
| Bloc | Sorties principales |
|---|---|
| Message simple | message |
| Requête HTTP | body, metadata |
| Sources de données | llmConnectorId, dataSourceIds, index, embeddingModel, dimensions |
| Variables | Variables nommées directement |
| Condition | hasMatch, matchedIndex, nextStep |
| Instruction LLM | raw, metadata, messages, instruction, tools, model, maxTokens |
| Requête LLM | content, genericToolCalls, metadata |
| MCP - Liste d’outils | tools, toolServerRouting, metadata |
| MCP - Appel d’outils | metadata, toolCallResults |
Pour les autres blocs proposés par votre organisation, sélectionnez leurs sorties depuis l’aide à la saisie. Les noms des références dépendent du bloc et de son alias.
Créer une variable
Le bloc Variables crée une ou plusieurs valeurs nommées directement. Cliquez sur Ajouter une variable pour chacune :
| Portée | Nom | Valeur |
|---|---|---|
Requête | emailUtilisateur | {{userData.email}} |
La valeur est ensuite disponible via {{emailUtilisateur}}. Une valeur peut s’étendre sur plusieurs lignes, par exemple pour stocker une consigne réutilisée dans plusieurs instructions.
Évitez les espaces, accents, caractères spéciaux et doublons dans les noms.
Écrire une référence
Dans les champs compatibles, tapez {{ et sélectionnez une proposition. Les suggestions regroupent les variables du workflow ; vérifiez que le bloc producteur sera exécuté avant celui qui utilise sa sortie sur la route testée.
| Besoin | Référence |
|---|---|
| Message utilisateur | {{userMessage}} |
| Date courante | {{datetime.date}} |
| Corps HTTP | {{http-1.body}} |
| Identifiants des sources sélectionnées | {{dataSources-1.dataSourceIds}} |
| Instruction préparée | {{generatePrompt-1.instruction}} |
| Réponse LLM | {{chatCompletion-1.content}} |
| Appels d’outils | {{chatCompletion-1.genericToolCalls}} |
| Outils MCP | {{listTools-1.tools}} |
| Routage MCP | {{listTools-1.toolServerRouting}} |
Une référence peut être insérée dans du texte :
Bonjour {{userData.givenName}}, votre demande concerne : {{userMessage}}Ou dans du JSON :
{
"query": "{{userMessage}}",
"email": "{{userData.email}}"
}Paramètres d’intégration customParams
customParams transporte les valeurs fournies à l’exécution, même lorsqu’elles ne sont pas connues pendant la configuration :
{{customParams.mcpAuthorization}}
{{customParams.mcpAccessToken}}
{{customParams.source}}Ces paramètres dépendent de l’intégration utilisée. Vérifiez lors d’un test qu’elle transmet les valeurs attendues.
Déboguer une variable
Ajoutez temporairement un Message simple :
{{codeblock documents.body}}Pour forcer un langage d’affichage :
{{codeblock documents.body "json"}}Retirez ce bloc avant publication s’il peut exposer un secret ou une donnée personnelle.