Static Constants
Définit des constantes nommées (plaintext ou chiffrées) et expose chacune comme un port de sortie séparé pour les nodes en aval
À quoi sert le node Static Constants ?
Le node Static Constants vous permet de définir une liste de constantes nommées et d’exposer chacune comme un port de sortie séparé sur le node. Contrairement à Static Text (une chaîne fixe unique), Static Constants est conçu pour le cas d’usage “petit sac de valeurs nommées” — endpoints API, noms de modèles, seuils par défaut, tokens sensibles — toutes définies à un endroit et consommées individuellement en aval.
Chaque constante est soit plaintext (stockée telle quelle), soit chiffrée (la valeur est envoyée au serveur, chiffrée, et stockée comme ciphertext — le plaintext original n’est jamais persisté). Les constantes chiffrées sont parfaites pour des secrets courts qui doivent vivre avec le workflow sans fuiter dans les exports.
Cas d’usage courants :
- Épingler une configuration : nom de modèle, température, taille de requête, budget de retry
- Nommer un environnement / tenant une fois et le référencer depuis plusieurs nodes
- Stocker des secrets courts (tokens API par workflow, URLs de webhook) à côté de la logique
- Centraliser des seuils réutilisés par plusieurs nodes Conditional / Filter List
Configuration rapide
Ajoutez le node au canvas
Ouvrez la Node Library, allez dans Inputs → Static, puis glissez Static Constants sur votre workspace.
Définissez vos constantes
Ouvrez les settings du node, cliquez sur Add constant, et remplissez la ligne :
- Name — l’identifiant (lettres, chiffres, underscores ; doit commencer par une lettre ou un underscore). Devient le label du port de sortie et le nom utilisé par les variables en aval.
- Value — la valeur que le port émet au runtime.
- Encrypt value — toggle ON pour les secrets. La valeur est envoyée au serveur, chiffrée avec la clé du workflow, et seul le ciphertext est persisté. Le panneau de settings affiche
••••••••pour les lignes déjà chiffrées.
Ajoutez autant de lignes que nécessaire. Les noms doivent être uniques.
Branchez les sorties
Chaque constante devient son propre port de sortie (labellé avec son nom). Câblez chaque port au consommateur en aval qui a besoin de cette valeur.
Paramètres de configuration
Champs obligatoires
Name string required default: Static Constants Nom du node — Label affiché sur le canvas. Renommez pour refléter le rôle des constantes (“LLM defaults”, “Webhook tokens”).
Description string required default: Define named constants (plaintext or encrypted) and expose them as separate outputs Description du node — Une courte note sur le rôle des constantes.
Constants list required Liste de constantes, chacune avec :
name(string) — Identifiant matchant^[A-Za-z_][A-Za-z0-9_]*$. Doit être unique parmi les constantes du node.value(string) — La valeur que le port émet. Les lignes plaintext peuvent être vides (sortie"") ; les lignes chiffrées doivent avoir une valeur non vide.encrypted(boolean) — Quand true, la valeur est chiffrée côté serveur à la sauvegarde et stockée comme ciphertext. Le panneau de settings affiche••••••••pour le ciphertext persisté.
Remplacer une valeur chiffrée — Une ligne chiffrée persistée ne peut pas être déchiffrée vers plaintext dans la UI (seul le runtime résout le ciphertext). Cliquez sur Replace sur la ligne pour entrer une nouvelle valeur ; à la sauvegarde elle est re-chiffrée et l’ancien ciphertext est écrasé.
Toggle du flag encrypt — Passer ON pour une ligne plaintext garde la valeur (elle sera chiffrée à la sauvegarde). Passer OFF pour une ligne chiffrée persistée vide la valeur (on ne peut pas déchiffrer le ciphertext côté client, donc le seul comportement safe est de demander un plaintext frais).
Que produit le node en sortie ?
Un port de sortie par constante définie — le label du port matche le nom de la constante. Chaque port émet une string.
<nom_de_constante> string La valeur de la constante. Pour les constantes plaintext, la valeur littérale entrée dans les settings. Pour les constantes chiffrées, la valeur déchiffrée résolue au runtime (le workflow runner déchiffre le ciphertext à la demande).
Exemple : si vous définissez trois constantes model, temperature et api_token, le node expose trois ports de sortie — model, temperature et api_token — que vous pouvez connecter à différents consommateurs en aval.
Exemples d’utilisation
Exemple 1 : Defaults LLM centralisés dans un seul node
Épingler nom de modèle et température une fois ; réutiliser à travers plusieurs nodes LLM dans le workflow.
Constantes :
| Name | Value | Encrypted |
|---|---|---|
model | claude-sonnet-4-6 | non |
temperature | 0.2 | non |
top_p | 0.95 | non |
Câblez model → input “Model” du node LLM, temperature → “Temperature”, etc.
Exemple 2 : Token API par workflow
Un workflow qui appelle un microservice interne. Le token est spécifique au workflow, n’a pas sa place dans les intégrations globales, et ne devrait jamais apparaître en plaintext dans la base.
Constantes :
| Name | Value | Encrypted |
|---|---|---|
service_base_url | https://internal.dng.ai/v2 | non |
service_token | eyJhbGciOi… | oui |
Câblez les deux à un node HTTP Request — le runtime déchiffre service_token juste avant d’envoyer la requête.
Exemple 3 : Seuils réutilisés par plusieurs nodes Conditional
Un pipeline qui gate plusieurs branches en aval sur le même seuil minimum de qualité.
Constantes :
| Name | Value | Encrypted |
|---|---|---|
min_score | 0.7 | non |
min_word_count | 300 | non |
Chaque node Conditional consomme le seuil concerné sans re-saisir la valeur (et un changement à un endroit se propage partout).
Bonnes pratiques
Un node par préoccupation. Ne mélangez pas defaults LLM avec secrets dans le même node Static Constants — des nodes séparés sont plus faciles à scanner et à autoriser de façon fine.
Nommez les constantes comme des variables d’environnement — UPPER_SNAKE_CASE ou snake_case, pas d’espaces. La regex du nom impose le format et les bindings de variables en aval restent propres.
Le chiffrement est scopé au workflow, pas à l’utilisateur. Toute personne avec accès en édition au workflow peut changer une valeur chiffrée (elle ne peut pas la lire, mais peut la remplacer). Gérez les ACL du workflow en conséquence pour les nodes qui portent des secrets.
Ne stockez pas de secrets d’entreprise ici. Utilisez les intégrations first-class de la plateforme (OAuth, credentials vaulted) pour les secrets de production. Static Constants est mieux pour les tokens courts, spécifiques au workflow.
Problèmes courants
Erreur de validation 'Constant name is invalid'
Cause : Le nom ne matche pas ^[A-Za-z_][A-Za-z0-9_]*$ — typiquement parce qu’il commence par un chiffre, contient un espace, un tiret ou une autre ponctuation.
Solution : Renommez vers un identifiant valide (api_token, MODEL_NAME, _internal). Espaces et tirets ne sont pas autorisés.
'Duplicate constant name'
Cause : Deux lignes partagent le même nom (insensible à la casse). Les ports de sortie doivent être uniques.
Solution : Renommez un des doublons. Le validator highlight la ligne dupliquée en rouge.
'Encrypted value is required'
Cause : Une ligne a été passée en encrypted mais le champ value est vide. Les lignes chiffrées ne peuvent pas être vides (chiffrer une chaîne vide n’apporte aucune valeur et pollue le storage).
Solution : Remplissez la valeur, ou togglez le chiffrement OFF si vous voulez vraiment émettre une chaîne vide.
Une valeur chiffrée 's'est oubliée elle-même' après avoir toggle le chiffrement OFF
Cause : Toggle le chiffrement OFF sur une ligne dont le ciphertext est déjà persisté vide la valeur affichée — la plateforme ne peut pas déchiffrer le ciphertext vers plaintext depuis le panneau de settings.
Solution : Re-saisissez la valeur plaintext. Si vous ne vouliez pas changer le ciphertext, retogglez le chiffrement ON et utilisez Replace pour garder la ligne en mode chiffré.
Les ports de sortie n'apparaissent pas / ne sont pas à jour après édition
Cause : Les ports de sortie sont dérivés des constantes sauvegardées. Si vous avez édité mais pas sauvegardé, le canvas affiche toujours le set de ports précédent.
Solution : Cliquez sur Update dans le panneau de settings — les ports de sortie sont rafraîchis depuis la liste de constantes sauvegardée.
Nodes associés
Utilisez Static Text pour une valeur texte fixe unique (pas de nommage par port, pas de chiffrement).
Utilisez Static File pour épingler un fichier de données entier (CSV, PDF, …) au lieu d’un sac de scalaires nommés.
Un consommateur fréquent — câblez service_token (chiffré) et service_base_url à un node HTTP Request.
Épinglez model, temperature et autres defaults ; câblez-les aux nodes LLM partout dans le workflow.