Brand Kit Variables
Exposez les champs du Brand Kit (texte, listes, personas, palette de couleurs) comme des entrées de workflow connectables
À quoi sert ce node ?
Le node Brand Kit Variables transforme les champs du Brand Kit actif (nom de marque, ton, palette de couleurs, personas, piliers de contenu, etc.) en entrées de workflow structurées, branchables à n’importe quel node aval. Un seul node contient plusieurs variables — chaque variable configurée expose son propre port de sortie.
Usages courants :
- Injecter les données
{{Persona}}dans un prompt LLM sans les coder en dur - Laisser l’utilisateur App choisir quelle persona ou quelle industrie cibler au runtime
- Piloter la génération d’image avec la palette de couleurs de la marque
- Réutiliser un même workflow sur plusieurs marques en changeant le Brand Kit actif
Un node, plusieurs sorties. Contrairement à la plupart des nodes d’input, Brand Kit Variables crée un port de sortie par variable configurée. Ajoutez une variable pour chaque champ du Brand Kit que vous voulez câbler — toutes vivent sur le même node sur le canvas.
Configuration rapide
Ajouter le node sur le canvas
Trouvez-le dans Inputs → Brand Kit Variables. L’ajout du node active automatiquement le réglage workflow brandForRunner pour que les utilisateurs App puissent choisir un Brand Kit au runtime.
Ajouter une variable
Cliquez sur + Add variable en bas des réglages du node. Choisissez le champ du Brand Kit à exposer (ex. Brand Name, Persona, Color Palette).
Basculer multi/single pour les variables liste
Pour les listes (Personas, Industry, Values, …) décidez si l’utilisateur App pique un élément (toggle off) ou plusieurs / tous (toggle on). Les scalaires (texte, palette, …) n’ont pas ce toggle.
Câbler les ports de sortie
Chaque variable configurée expose un port à droite du node. Connectez chaque port au node aval qui a besoin de cette valeur.
Paramètres de configuration
Réglages par variable (canvas)
key select required Le champ du Brand Kit auquel cette variable est rattachée. Groupé par section : Business info, Brand identity, Audience, Content strategy, Style & voice. Ajouter le même champ deux fois est autorisé (ex. deux instances de Persona pour “primaire” et “secondaire”).
multiple boolean default: false N’a de sens que pour les champs liste (string_array, object_array). Quand false, l’utilisateur App pique un élément et la sortie est réduite à un seul élément (string ou objet). Quand true, la sortie reste un tableau et l’utilisateur App peut choisir un sous-ensemble ou utiliser tous les éléments dynamiquement.
Configuration sur le canvas
Les variables sont stockées sur le node comme une liste ordonnée. Le panneau de réglages permet de :
- Ajouter une variable avec le bouton ”+ Add variable” en bas (les nouvelles lignes ne poussent pas la liste hors écran)
- Choisir un type de variable dans un dropdown sectionné (miroir des sections du Brand Kit)
- Basculer
Multiplesur les types liste (Persona,Industry,Values,Age Category,Content Pillars,Guardrails,Secondary Languages,Sales Distribution) - Prévisualiser la forme vers laquelle la variable résout via un aperçu JSON replié (types object / list) ou une liste de swatchs (palette de couleurs)
- Supprimer une variable avec l’icône poubelle — son port de sortie disparaît du canvas
La liste des variables est persistée dans le paramètre variables du node. Éditer la liste met à jour les ports de sortie immédiatement.
Runtime sur l’App tab
Quand un utilisateur App lance le workflow, chaque variable configurée s’affiche comme une carte adaptée à son type :
| Forme de la variable | UI runtime |
|---|---|
Scalaire string / boolean (ex. Brand Name, Mission) | Aperçu inline en lecture seule |
Scalaire string_long (ex. About the Brand, Tone of Voice) | Aperçu en lecture seule, tronqué à 2 lignes avec Voir plus / Voir moins |
Scalaire object (Color Palette) | Liste de swatchs en lecture seule dans un disclosure “Show preview” |
Liste, multiple=false (ex. Persona — single, Industry — single) | Dropdown single-select — obligatoire pour lancer |
Liste, multiple=true (ex. Persona — multi, Values — multi) | Toggle Use all : actif, le workflow tourne sur tous les éléments courants ; inactif, ouvre un multi-select compact |
Use all est dynamique, pas un snapshot. Quand Use all est on, le workflow prend toujours les éléments qui existent dans le Brand Kit au runtime — y compris ceux ajoutés après la sauvegarde du workflow. Quand il est off, seuls les ids explicitement sélectionnés sont envoyés.
La carte App tab affiche aussi un avertissement si le Brand Kit actif n’a pas de Persona configurée et qu’une variable Persona est câblée.
Dépendances aux réglages workflow
Le node dépend de deux réglages workflow, tous les deux gérés automatiquement :
| Réglage | Rôle | Géré auto |
|---|---|---|
defaultBrandId | Le Brand Kit que l’App tab utilise pour résoudre les variables | À définir explicitement dans les réglages workflow ; obligatoire pour lancer |
brandForRunner | Active le sélecteur de Brand Kit sur l’App tab | Mis à True automatiquement par l’effet canvas dès qu’au moins un node Brand Kit Variables est présent |
Si le Brand Kit actif est supprimé ou jamais défini :
- Une bannière canvas prévient que le workflow ne tournera pas
- Le bouton Run de l’App tab est désactivé
- Le runner applique la même règle côté serveur via pre-flight (défense en profondeur)
Ports de sortie
Le node crée un anchor par variable configurée, nommé d’après le label du champ Brand Kit (espaces retirés) :
| Variable | Nom du port | Type de sortie |
|---|---|---|
Brand Name | BrandName | string |
Color Palette | ColorPalette | object |
Industry (multi=false) | Industry | string (élément unique) |
Industry (multi=true) | Industry (Multi) | string[] |
Persona (multi=false) | Persona | object (persona unique) |
Persona (multi=true) | Persona (Multi) | object[] |
Effondrement de type. Quand multiple est off sur un champ liste, le type du port passe de liste-de-X à X. Un node aval câblé sur Industry (single) reçoit la string littérale, pas un tableau d’un élément. Vous pouvez donc câbler les variables single-pick directement dans les nodes qui attendent des scalaires (prompts LLM, conditionnels, …) sans étape d’extraction.
Que produit le node en sortie ?
Au runtime, le node émet un dictionnaire indexé par nom de port. Exemple avec Brand Name, Industry (multi=true), Persona (multi=false) :
{
"BrandName": "Stade Rennais F.C.",
"Industry": ["Sportswear", "Footwear"],
"Persona": {
"id": "p1",
"name": "Sarah, the busy parent",
"description": "A working parent juggling family and career…",
"demographics": { "age": "32", "location": "Paris, France" }
}
}
Chaque valeur est résolue au runtime contre le Brand Kit actif :
- Scalaires → valeur courante du champ (ou
nullsi vide) - Liste, multi=false → l’élément sélectionné (ou
nullsi rien de choisi) - Liste, multi=true, Use all → la liste courante complète
- Liste, multi=true, sous-ensemble → le sous-ensemble piqué (les éléments supprimés du Brand Kit depuis la sauvegarde sont silencieusement retirés)
Exemples d’utilisation
Génération de contenu pilotée par persona
Générer une copie adaptée à une persona choisie au runtime :
graph LR
A[Brand Kit Variables: Persona single] --> B[LLM: Générer la copie]
A2[Short Text: Sujet] --> B
B --> C[Output]
Le prompt LLM référence {{BrandKit_Variables_0.Persona.name}}, {{BrandKit_Variables_0.Persona.description}} et {{BrandKit_Variables_0.Persona.frustrationsAndPainPoints}}.
Boucle multi-persona
Itérer sur toutes les personas courantes du Brand Kit :
graph LR
A[Brand Kit Variables: Persona multi, Use all] --> B[Loop]
B --> C[LLM: Message par persona]
C --> D[Merge]
Génération d’image aux couleurs de la marque
Piloter un générateur d’image IA avec la couleur primaire du Brand Kit :
graph LR
A[Brand Kit Variables: Color Palette] --> B[JSON Path Extractor: $.primary]
B --> C[Text to Image]
Routage conditionnel par industrie
Aiguiller le workflow selon l’industrie sélectionnée :
graph LR
A[Brand Kit Variables: Industry single] --> B{Conditional}
B -->|Sportswear| C[Template sportswear]
B -->|Footwear| D[Template footwear]
Bonnes pratiques
- Une variable par port — séparez, ne regroupez pas. Si un node aval a besoin à la fois de
PersonaetBrand Name, ajoutez les deux comme variables séparées sur le même node Brand Kit Variables. N’essayez pas de câbler un seul port et de splitter en aval. - Utilisez
Use allpour les workflows type newsletter. Quand vous voulez que le workflow couvre automatiquement toutes les personas / values / piliers existants aujourd’hui et demain, préférezUse allau multi-select. La liste reste en phase avec le Brand Kit sans ré-éditer le workflow. - Préférez le single-pick quand le node aval attend un scalaire. Câbler un
Personasingle-pick dans un LLM est plus simple qu’un multi-pick + une opération de liste. L’effondrement de type fait le reste. - Câblez le JSON Path Extractor pour les champs imbriqués. Pour les objets (Color Palette, Persona), intercalez un JSON Path Extractor pour extraire un sous-champ — ses suggestions sont pré-remplies pour chaque forme de variable Brand Kit.
- Testez avec un Brand Kit vide. Posez une variable Persona, basculez sur un Brand Kit sans personas, et vérifiez que l’avertissement App tab apparaît et que le Run est désactivé.
Problèmes courants
L'utilisateur App voit des clés de traduction brutes au lieu des labels
Cause : Le cache des modules Node du dev server tient une copie obsolète du JSON de traductions après un hot reload.
Solution : Hard-refresh la page ou redémarrer le dev server. En production ça n’arrive pas — les traductions sont bundlées au build.
Le bouton Run est désactivé alors que les variables sont configurées
Cause : Le defaultBrandId du workflow est vide ou pointe sur un Brand Kit supprimé.
Solution : Ouvrez les réglages workflow et choisissez un Brand Kit actif. La bannière canvas en haut de page explique aussi le problème.
Une variable single-pick n'affiche aucune option sur l'App tab
Cause : Le Brand Kit actif n’a pas d’éléments pour ce champ (ex. aucune Persona configurée, liste Industry vide).
Solution : Éditez le Brand Kit pour ajouter des éléments, puis rechargez l’App tab. La carte affiche un message “No items available” pour que ce ne soit pas silencieux.
Une variable multi-pick soumise avec une sélection vide est rejetée
Cause : Quand Use all est off, le multi-select exige au moins un élément avant que le workflow ne puisse tourner.
Solution : Soit piquer au moins un élément, soit rebasculer Use all à on. Le message d’erreur nomme la variable qui a échoué à la validation.
Une Persona précédemment choisie a disparu de la sélection
Cause : La persona a été supprimée du Brand Kit entre la sauvegarde et le run. Le résolveur retire silencieusement les ids périmés.
Solution : Rouvrez l’App tab et piquez une persona courante. Les sélections multi-pick retirent les ids supprimés au prochain run sans erreur.
Nodes associés
Extraire un champ précis des sorties object / liste de ce node
Itérer sur une variable multi-pick comme “Personas — Use all”
Injecter les valeurs Brand Kit directement dans les prompts via {{node.port}}
Brancher le workflow sur une sélection single-pick (industrie, catégorie d’âge)