Static File

Embarque un fichier de données (CSV, PDF, JSON, Parquet, …) dans le workflow pour le réutiliser à chaque run

Node Static File sur le canvas avec zone Select File et sortie File

À quoi sert le node Static File ?

Le node Static File vous permet d’uploader un fichier une fois pour l’épingler au workflow. Vous réutilisez le même fichier à chaque run — sans connexion Google Drive et sans re-upload au lancement.

Le fichier est stocké dans le storage d’assets du workflow. Le node conserve une référence (nom, type, taille). Remplacer le fichier supprime l’ancien asset pour garder le storage propre.

Cas d’usage courants :

  • Données de référence qui changent rarement (règles de catégories, taxonomie, glossaire de marque)
  • Un PDF ou DOCX brief que le LLM doit lire à chaque run
  • Un JSON ou CSV seed fixe utilisé comme contexte pour une classification ou un enrichissement
  • Un fichier de correspondance (IDs → libellés) conservé à côté du workflow qui en a besoin

Configuration rapide

Ajoutez le node au canvas

Ouvrez la Node Library, allez dans Inputs → Static, puis glissez Static File sur votre workspace.

Uploadez un fichier

Ouvrez les settings du node et cliquez sur la zone d’upload (ou drag-and-droppez un fichier dessus). Extensions acceptées : .txt, .log, .md, .markdown, .csv, .tsv, .json, .jsonl, .ndjson, .xml, .html, .htm, .yaml, .yml, .toml, .pdf, .docx, .xlsx, .pptx, .parquet. Taille max : 100 Mo.

Le fichier s’upload automatiquement et le node persiste la référence — pas d’étape “Save” séparée.

Branchez la sortie

Connectez la sortie File à un node en aval capable d’utiliser le fichier — en pratique un LLM, un Agent, ou Merge With Template. Consultez Quel node brancher en aval ? avant de brancher d’autres tools.

Node Static File sur le canvas avec workflowsprod.csv chargé (CSV · 1.1 KB)

Paramètres de configuration

Réglages Static File avec zone Select File avant upload

Champs obligatoires

Name string required default: Static File

Nom du node — Label affiché sur le canvas. Renommez en quelque chose de descriptif (“Règles catégories CSV”, “Brief de marque PDF”) pour que le workflow se lise en un coup d’œil.

Description string required default: Embed a data file (CSV, PDF, JSON, Parquet, …) in the workflow

Description du node — Une courte note sur le contenu du fichier ou son rôle dans le workflow.

File file required

Le fichier uploadé. Le panneau de settings affiche le nom, le type et la taille. Trois actions sont disponibles sur un fichier configuré :

  • Replace — choisir un nouveau fichier ; l’ancien asset est automatiquement supprimé.
  • Download — re-télécharger le fichier courant via une URL signée à courte durée de vie.
  • Remove — supprimer l’asset et vider le node.
Réglages Static File avec fichier workflowsprod.csv uploadé et boutons Replace Download Delete
Info

Limites & stockage — Limite stricte de 100 Mo par fichier (rejet avec toast au-delà). L’asset est stocké sur le storage privé du workflow ; les URLs signées de download sont à courte durée de vie (régénérées via le bouton Download à chaque fois).

Que produit le node en sortie ?

Un seul anchor de sortie File.

Info

Analogie — le casier de consigne

Quand vous uploadez un fichier dans Static File, la plateforme range le document dans un casier sécurisé. Sur le fil de connexion, ce n’est pas le fichier qui circule, mais une référence — comme un numéro de casier.

La suite dépend du node branché en aval :

  • LLM, Agent et Merge With Template ouvrent le casier pour vous et injectent le contenu texte du fichier (CSV en texte CSV, PDF en texte extrait, etc.).
  • Code Block reçoit un lien d’accès temporaire au fichier — la suite dépend du code écrit dans ce node (voir Pour les développeurs).
  • Certains autres nodes (par ex. JSON Path Extractor, ou Data Analyzer en mode fichier dynamique) ne savent pas ouvrir ce casier seuls — un branchement direct échoue souvent ou ne produit rien d’exploitable.
file file

Une référence de fichier que la plateforme résout selon le node en aval. Les nodes qui savent ouvrir le casier reçoivent le contenu texte extrait. Les autres peuvent ne voir que la référence et ne pas exploiter le fichier tel quel.

Qui reçoit quoi ?

Node en avalCe qu’il obtient concrètement
LLM / AgentContenu du fichier en texte (prêt pour le prompt)
Merge With TemplateContenu du fichier en texte (inséré via {{votreVariable}})
Code BlockUn lien d’accès temporaire — voir Pour les développeurs
JSON Path Extractor, Data Analyzer (fichier dynamique)Non utilisable via un fil Static File direct

Quand le contenu est ouvert pour un LLM (par exemple un CSV embarqué), il ressemble au fichier lui-même :

brand,min_price,category
Acme,50,Premium
Acme,0,Standard

Quel node brancher en aval ?

Choisissez le chemin qui correspond à votre objectif. Les cas courants ci-dessous ne demandent pas d’écrire de code.

Votre objectifBranchez vers…Pourquoi
Faire lire un PDF ou CSV au modèle (brief, règles, glossaire)LLM ou AgentLe contenu est injecté automatiquement dans le contexte
Combiner le fichier avec d’autres textes avant le LLMMerge With Template, puis LLMMerge ouvre le fichier et assemble le tout via {{maVariable}}
Classifier ou décider à partir de règles dans un CSVStatic File + données produit → LLMChemin no-code : le modèle voit le CSV et les attributs produit dans le prompt
Analyser un CSV avec le node IA dédiéData Analyzer en mode static_file + Datasource orgSélectionnez le CSV dans les Datasources — ne branchez pas Static File sur le port fichier dynamique
Extraire un champ précis d’un JSON embarquéStatic File (.json) → LLM (schéma JSON en sortie) → JSON Path ExtractorNe branchez pas Static File directement sur JSON Path Extractor
Warning

Une connexion qui paraît valide sur le canvas ne garantit pas que le node en aval saura ouvrir le casier. Préférez LLM, Agent ou Merge With Template, sauf si vous savez que le node cible résout les assets Static File.

Tip

Besoin du contenu texte brut du fichier dans un node qui ne l’extrait pas tout seul ? Insérez Merge With Template avec une variable unique du type {{data}}. Merge ouvre le casier et produit du texte plain que vous pouvez transmettre en aval.

Pattern : Static File → Merge With Template → LLM

Utilisez ce chemin quand le node suivant attend du texte et que vous voulez assembler le fichier avec d’autres fragments.

Static File (rules.csv) → Merge With Template → LLM
                          template: {{data}}

Sur le canvas :

  1. Uploadez le CSV dans Static File.
  2. Ajoutez Merge With Template ; dans le template, écrivez {{data}} (ou le nom de variable de votre choix).
  3. Branchez la sortie File de Static File sur l’entrée data du Merge.
  4. Branchez la sortie Merged content du Merge vers le LLM (ou un autre node texte).

Ce que reçoit le LLM : le CSV en texte, prêt à être cité dans le prompt.

Quand l’utiliser : combiner le fichier épinglé avec d’autres variables dans un seul bloc ; ou alimenter un node qui ne résout pas Static File tout seul.

Quand le sauter : un fil direct Static File → LLM suffit si le modèle n’a besoin que de ce fichier.

Exemples d’utilisation

Exemple 1 : Classifier un produit à partir d’un CSV de règles

Situation : les règles de catégories sont dans rules.csv. Chaque run reçoit les attributs d’un produit (marque, prix, SKU) et doit renvoyer la catégorie correspondante.

Extrait du CSV :

brand,min_price,category
Acme,50,Premium
Acme,0,Standard

Sur le canvas :

  1. Ajoutez Static File, uploadez rules.csv, renommez le node « Règles catégories ».
  2. Ajoutez un Text Input (ou une autre source en amont) pour les attributs produit.
  3. Ajoutez un LLM. Branchez Static File et l’entrée produit. Dans le prompt, demandez au modèle d’appliquer les règles du fichier et de renvoyer la catégorie.

Ce que reçoit le LLM : le CSV en texte (casier ouvert automatiquement) plus les attributs produit de l’autre entrée.

Résultat attendu : pour un produit Acme à 79 €, le modèle renvoie par exemple Premium.

Variante avec Merge : si le prompt doit combiner plusieurs blocs de texte, insérez Merge With Template entre Static File et le LLM avec {{rules}} dans le template.

Tip

Pour des règles qui doivent s’appliquer à l’identique à chaque run, sans variation du modèle, demandez à votre équipe technique d’envisager Code Block — voir Pour les développeurs. Pour la plupart des workflows no-code, le chemin LLM ci-dessus suffit.

Exemple 2 : Donner un brief PDF au LLM à chaque run

Situation : vous voulez qu’un brief de marque ou de campagne reste attaché au workflow pour que le modèle ait toujours le même contexte.

Sur le canvas :

  1. Uploadez brief.pdf dans Static File ; renommez le node « Brief Q1 ».
  2. Branchez File directement sur un LLM.
  3. Dans le prompt, faites référence au brief (ton, audience, contraintes) et demandez le livrable.

Ce que reçoit le LLM : le contenu du PDF extrait en texte — vous n’avez pas à coller le brief dans le prompt.

Résultat attendu : le modèle répond en s’appuyant sur le brief (par exemple un draft qui respecte le ton de voix indiqué).

Exemple 3 : Analyser un CSV de référence avec Data Analyzer

Situation : vous voulez que le node Data Analyzer réponde à des questions en langage naturel sur un CSV fixe.

Sur le canvas :

  1. Ajoutez Data Analyzer.
  2. Réglez le mode de source de données sur static_file (ou le libellé équivalent dans les settings).
  3. Sélectionnez le CSV dans les Datasources de l’organisation — ne connectez pas une sortie Static File au port fichier dynamique.
  4. Rédigez les instructions (par exemple « résume les top catégories par chiffre d’affaires »).

Ce que reçoit Data Analyzer : le CSV choisi dans les Datasources, pas un fil Static File du canvas.

Résultat attendu : une réponse texte basée sur ce CSV, réutilisable à chaque run jusqu’à changement de Datasource.

Warning

Brancher Static File sur l’entrée fichier dynamique de Data Analyzer échoue en général avec une erreur de datasource introuvable. Utilisez le sélecteur Datasource, ou Static File → LLM / Merge With Template.

Comment l’intégrer dans un workflow ?

Pattern no-code typique pour classifier un produit à partir de règles épinglées :

graph LR
    ProductInput[Text_Input produit]
    RulesFile[Static_File rules.csv]
    MergeNode[Merge_With_Template]
    LlmNode[LLM classification]
    ProductInput --> LlmNode
    RulesFile --> MergeNode
    MergeNode --> LlmNode

Chemin direct sans Merge quand seules les règles et le texte produit comptent :

graph LR
    ProductInput[Text_Input produit]
    RulesFile[Static_File rules.csv]
    LlmNode[LLM classification]
    ProductInput --> LlmNode
    RulesFile --> LlmNode

Bonnes pratiques

Tip

Renommez le node selon le rôle du fichier (« Règles catégories », « Brief Q1 PDF ») — plus rapide à scanner qu’un générique « Static File ».

Tip

Replace, n’ajoutez pas un autre node. Utilisez Replace quand le fichier change ; l’ancien asset est nettoyé automatiquement. Ajouter un second Static File juste pour « la nouvelle version » laisse des assets inutilisés dans le storage.

Tip

Préférez LLM ou Merge With Template quand vous avez besoin du texte du fichier en no-code. Ouvrez le casier avec un node qui sait le faire.

Warning

N’uploadez pas de secrets (clés API, PII clients, credentials) dans Static File. Utilisez Static Constants pour des secrets courts, ou les intégrations de la plateforme pour les credentials. Le storage d’assets est scopé au workflow mais pas conçu pour du matériel sensible.

Warning

Ne supposez pas que chaque node sait lire Static File. JSON Path Extractor et Data Analyzer (fichier dynamique) sont des pièges fréquents — voir Problèmes courants.

Problèmes courants

Le node en aval ne voit pas le contenu du fichier

Cause : ce node n’ouvre pas le casier tout seul. Il ne reçoit qu’une référence, pas le texte.

Solution : branchez Static File sur un LLM, un Agent, ou Merge With Template (par exemple template {{data}}). Pour un traitement custom, voir Pour les développeurs.

JSON Path Extractor échoue quand il est branché depuis Static File

Cause : JSON Path Extractor attend du JSON structuré. Un CSV n’est pas du JSON, et une référence Static File brute non plus.

Solution : utilisez Static File (.json) → LLM avec un schéma JSON en sortie, puis JSON Path Extractor. Ou gardez la classification dans le LLM sans JSON Path Extractor.

Data Analyzer indique Datasource not found

Cause : en mode fichier dynamique, Data Analyzer cherche dans les Datasources de l’organisation — pas dans les assets Static File du workflow.

Solution : utilisez Data Analyzer en mode static_file et choisissez un CSV dans Datasources, ou passez par Static File → LLM / Merge With Template.

Le LLM semble ignorer le fichier

Cause : la connexion File manque, ou le prompt ne mentionne jamais le fichier.

Solution : vérifiez que la sortie File est bien branchée sur le LLM. Dans le prompt, faites référence explicitement au fichier joint (règles, brief, glossaire) et à ce qu’il faut en faire.

L'upload échoue avec un toast 'too large'

Cause : le fichier dépasse la limite stricte de 100 Mo.

Solution : compressez le fichier, splittez-le, ou déplacez les données vers un store externe (BigQuery, stockage cloud) et référencez-les via une intégration avec credentials.

L'extension sélectionnée n'est pas acceptée

Cause : l’extension du fichier n’est pas dans la liste autorisée. Static File refuse les formats média destinés à d’autres nodes (images, vidéo, audio).

Solution : utilisez Static Image / Static Video pour les médias. Pour les fichiers de données, convertissez vers un format supporté (.csv, .json, .parquet, etc.).

Le bouton Download ne fait rien ou renvoie 404

Cause : l’URL signée a expiré (elles sont à courte durée de vie) ou l’asset a été supprimé hors du node.

Solution : rouvrez le panneau de settings — l’URL est régénérée à chaque clic. Si le problème persiste, ré-uploadez le fichier.

Pour les développeurs

Comment la résolution Static File fonctionne sous le capot

Au run, Static File émet un ID d’asset (workflow asset), pas les octets du fichier. Le runner résout cet ID différemment selon le consommateur :

  • LLM, Agent, Merge With Template et Human in the Loop résolvent l’asset en texte extrait (CSV → texte CSV, PDF → texte, etc.).
  • Code Block résout l’asset en URL signée temporaire. Le code dans le node doit télécharger puis parser le fichier. C’est le chemin prévu pour une logique custom déterministe (par exemple appliquer des règles CSV sans LLM).
  • Merge With Template sert de convertisseur texte pratique : une fois le fichier résolu en texte, un template du type {{data}} expose ce contenu à tout consommateur texte en aval — y compris quand un opérateur place Merge avant un node qui ne résout pas Static File lui-même.
  • JSON Path Extractor n’accepte que du JSON parseable. Ne branchez pas Static File (CSV ou ID d’asset brut) directement dessus. Chaîne typique : fichier JSON → étape intermédiaire qui produit du texte JSON → JSON Path Extractor.
  • Data Analyzer en mode fichier dynamique charge les IDs depuis la table Datasource de l’organisation, pas depuis les assets Static File — d’où « Datasource not found » quand Static File est branché sur ce port.
flowchart TD
    SF[Static_File asset_id]
    SF --> IOManager
    IOManager -->|"resolve content"| TextNodes[LLM Agent Merge HITL]
    IOManager -->|"resolve URL"| CodeBlock[Code_Block]
    IOManager -->|"no resolution"| Other[Other_tools]
    TextNodes --> ExtractedText[Extracted_text]
    CodeBlock --> SignedUrl[Signed_URL]
    Other --> RawId[Raw_asset_id]

Nodes associés