Static File
Embarque un fichier de données (CSV, PDF, JSON, Parquet, …) dans le workflow pour le réutiliser à chaque run
À 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.
Paramètres de configuration
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.
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.
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 aval | Ce qu’il obtient concrètement |
|---|---|
| LLM / Agent | Contenu du fichier en texte (prêt pour le prompt) |
| Merge With Template | Contenu du fichier en texte (inséré via {{votreVariable}}) |
| Code Block | Un 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 objectif | Branchez vers… | Pourquoi |
|---|---|---|
| Faire lire un PDF ou CSV au modèle (brief, règles, glossaire) | LLM ou Agent | Le contenu est injecté automatiquement dans le contexte |
| Combiner le fichier avec d’autres textes avant le LLM | Merge With Template, puis LLM | Merge ouvre le fichier et assemble le tout via {{maVariable}} |
| Classifier ou décider à partir de règles dans un CSV | Static File + données produit → LLM | Chemin 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 org | Sé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 Extractor | Ne branchez pas Static File directement sur JSON Path Extractor |
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.
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 :
- Uploadez le CSV dans Static File.
- Ajoutez Merge With Template ; dans le template, écrivez
{{data}}(ou le nom de variable de votre choix). - Branchez la sortie File de Static File sur l’entrée
datadu Merge. - 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 :
- Ajoutez Static File, uploadez
rules.csv, renommez le node « Règles catégories ». - Ajoutez un Text Input (ou une autre source en amont) pour les attributs produit.
- 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.
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 :
- Uploadez
brief.pdfdans Static File ; renommez le node « Brief Q1 ». - Branchez File directement sur un LLM.
- 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 :
- Ajoutez Data Analyzer.
- Réglez le mode de source de données sur static_file (ou le libellé équivalent dans les settings).
- Sélectionnez le CSV dans les Datasources de l’organisation — ne connectez pas une sortie Static File au port fichier dynamique.
- 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.
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
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 ».
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.
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.
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.
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
Consommateur no-code le plus fréquent — lit le fichier épinglé comme contexte de prompt.
Ouvre le fichier en texte et l’assemble avec d’autres variables via {{…}}.
Analyse un CSV via les Datasources de l’organisation (pas via le port Static File).
À utiliser quand le fichier doit être choisi par l’utilisateur au runtime plutôt qu’épinglé dans le workflow.