Ouvrir le Studio

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
Info

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 InputsBrand 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 Multiple sur 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 variableUI 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
Info

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églageRôleGéré auto
defaultBrandIdLe Brand Kit que l’App tab utilise pour résoudre les variablesÀ définir explicitement dans les réglages workflow ; obligatoire pour lancer
brandForRunnerActive le sélecteur de Brand Kit sur l’App tabMis à 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) :

VariableNom du portType de sortie
Brand NameBrandNamestring
Color PaletteColorPaletteobject
Industry (multi=false)Industrystring (élément unique)
Industry (multi=true)Industry (Multi)string[]
Persona (multi=false)Personaobject (persona unique)
Persona (multi=true)Persona (Multi)object[]
Info

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 null si vide)
  • Liste, multi=false → l’élément sélectionné (ou null si 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 Persona et Brand 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 all pour les workflows type newsletter. Quand vous voulez que le workflow couvre automatiquement toutes les personas / values / piliers existants aujourd’hui et demain, préférez Use all au 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 Persona single-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