Ressources · Intégration n8n

Nœud Data table n8nConfigurer Data table dans n8n.

Le nœud Data table n8n donne à un workflow une mémoire qui survit à son exécution. Il range des lignes structurées dans n8n, via 2 ressources et 11 opérations, sans aucun compte à relier. À sortir dès qu'une exécution doit se souvenir de ce que la précédente a déjà traité.

Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth

Pourquoi automatiser

À quoi sert le nœud Data table n8n ?

Une data table, c'est une petite table rangée à l'intérieur de n8n, avec des colonnes nommées et des valeurs typées, que tous les workflows du projet peuvent lire et écrire. Le nœud Data table est la main qui y touche : créer la table, lister les tables, en renommer une, puis insérer, lire, mettre à jour, upserter ou supprimer des lignes. Rien ne sort de n8n, rien ne disparaît quand l'exécution se termine.

Premier cas, la table de correspondance. Associer un code produit à une tranche tarifaire, ou un pays à un commercial, finit presque toujours codé en dur dans un nœud If, et personne n'ose plus y toucher six mois plus tard. Dans une data table, la correspondance reste modifiable depuis l'onglet Data Tables de l'aperçu du projet, par quelqu'un qui n'ouvrira jamais le workflow.

Deuxième cas, le compteur qui résiste au redémarrage. Une API qui autorise un nombre d'appels fixe par jour a besoin d'un décompte rangé quelque part de fiable. Une ligne par jour, lue avec Get row(s) et relevée avec Update row(s), suffit. Si ce décompte traîne aujourd'hui dans Google Sheets, le rapatrier ici retire un service externe du chemin critique.

Troisième cas, le dédoublonnage. Un import quotidien relancé deux fois annonce deux fois la même commande. Avec une table, chaque item passe par If row does not exist, seuls les inconnus continuent vers l'envoi Slack, et Insert row les inscrit en fin de course. La relance du soir reste silencieuse.

Quand préférer autre chose. Si la donnée appartient à un autre système, demande-la à ce système : une table devient un cache qu'il faut tenir à jour. Pour préparer les champs avant écriture, Edit Fields (Set) reste plus lisible qu'une colonne technique de plus. Et une table n'est pas une file d'attente : les lignes n'ont pas d'ordre propre en dehors de la colonne de tri.

Les limites, maintenant. Le nœud est en version 1 et expose 2 ressources, Table et Row, pour 11 opérations. Il n'existe pas de trigger Data table : un Schedule Trigger, un webhook (une URL appelée par un outil externe) ou le trigger d'une application doit ouvrir le workflow. Les types de colonnes se figent à la création, et les suppressions sont définitives. La Formation n8n déroule ces montages de bout en bout.

Actions

Quelles opérations propose le nœud Data table ?

Le nœud Data table expose 11 opérations sur 2 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.

Matrice ressources × opérations
RessourceCreateGetUpdateDeleteDeleteInsertListIf Row ExistsIf Row Does Not ExistUpsert
Row
Table

Row

7 opérations
01

Delete row(s)

row.deleteRows

Ce que tu vois dans n8n

Notes & cas d'usage

Supprime toutes les lignes qui répondent aux conditions posées, et renvoie ce qu'elle a retiré. La suppression est définitive, d'où le garde-fou intégré.

Paramètres clés

  • Data table : la table choisie dans la liste, par nom ou par ID.
  • Must Match : allConditions resserre la sélection, anyCondition l'élargit.
  • Conditions : chaque ligne associe une Column, une Condition et une Value, souvent {{ $json.email }}.
  • Dry Run : simule la suppression et renvoie les lignes concernées dans leur état avant et après.
Cas d'usage
vider les lignes d'une campagne une fois son export parti.
02

Get row(s)

row.get

Ce que tu vois dans n8n

Notes & cas d'usage

Ressort des lignes de la table et les transmet au nœud suivant sous forme d'items. C'est l'opération qui transforme une donnée stockée en donnée de workflow.

Paramètres clés

  • Data table : la table à lire, par liste, par nom ou par ID.
  • Must Match et Conditions : le filtre qui décide des lignes rapportées.
  • Return All : coché, tout remonte ; décoché, Limit Per Input Row plafonne le résultat pour chaque item entrant.
  • Order By, Order By Column et Order By Direction : tri sur une colonne, DESC pour le plus récent d'abord.
Cas d'usage
relire le quota stocké d'un client avant de décider quoi lui envoyer.
03

If row exists

row.rowExists

Ce que tu vois dans n8n

Notes & cas d'usage

Joue le rôle d'un portillon sur les items entrants. Un item dont la correspondance existe dans la table ressort inchangé, un item sans correspondance ne produit rien du tout.

Paramètres clés

  • Data table : la table servant de référence.
  • Must Match : allConditions quand plusieurs colonnes doivent concorder.
  • Conditions : la colonne, la comparaison et la valeur, en général {{ $json.id }} repris du déclencheur.
Cas d'usage
ne laisser passer que les clients déjà inscrits dans une table de comptes validés, et écarter les autres sans branche d'erreur.
04

If row does not exist

row.rowNotExists

Ce que tu vois dans n8n

Notes & cas d'usage

L'image inversée du contrôle précédent. Seuls les items absents de la table poursuivent leur route, ce qui en fait l'étape de dédoublonnage la plus courte de n8n.

Paramètres clés

  • Data table : la table qui garde la trace du déjà traité.
  • Must Match : anyCondition suffit quand un seul identifiant prouve que l'item est connu.
  • Conditions : le plus souvent une ligne unique comparant une colonne à {{ $json.orderId }}.
Cas d'usage
relancer un import du jour sans réexpédier deux fois la même confirmation de commande.
05

Insert row

row.insert

Ce que tu vois dans n8n

Notes & cas d'usage

Écrit une nouvelle ligne pour chaque item entrant. Aucune correspondance, aucune condition : ce qui arrive obtient sa ligne.

Paramètres clés

  • Data table : la table de destination, qui doit déjà exister.
  • Columns : la mise en correspondance des champs entrants avec les colonnes, à la main ou automatiquement quand les noms coïncident.
  • Optimize Bulk : empêche le renvoi des données insérées, ce qui améliore la performance d'insertion en masse jusqu'à 5 fois.
Cas d'usage
journaliser chaque payload de webhook reçu pendant un lancement pour recompter ensuite.
06

Update row(s)

row.update

Ce que tu vois dans n8n

Notes & cas d'usage

Réécrit les lignes correspondant aux conditions avec les valeurs mappées. Ce qui ne correspond à rien reste intact, aucune ligne nouvelle n'apparaît, et le nombre de lignes de la table ne bouge pas d'un pouce.

Paramètres clés

  • Data table : la table à modifier.
  • Columns : les champs écrits, donc ne mappe que ce qui doit bouger.
  • Must Match et Conditions : associe une Column, une Condition et une Value comme {{ $json.status }}, la combinaison qui désigne précisément le lot à réécrire.
  • Dry Run : renvoie tout avant et après, sans rien écrire.
Cas d'usage
marquer un lot d'enregistrements comme exporté une fois le fichier réellement parti.
07

Upsert row(s)

row.upsert

Ce que tu vois dans n8n

Notes & cas d'usage

Met à jour les lignes trouvées, et en insère une quand rien ne correspond. Un seul nœud au lieu d'une recherche, d'un embranchement et de deux écritures.

Paramètres clés

  • Data table : la table qui porte l'état courant.
  • Columns : les valeurs écrites dans les deux cas, insertion comme mise à jour.
  • Must Match et Conditions : la clé qui tranche entre les deux chemins, souvent {{ $json.email }}.
  • Dry Run : montre l'état avant et après, de quoi confirmer que la clé est bien unique.
Cas d'usage
garder une seule ligne par abonné, qu'il soit tout nouveau ou déjà croisé.

Table

4 opérations
08

Create a data table

table.create

Ce que tu vois dans n8n

Notes & cas d'usage

Fabrique une table et ses colonnes depuis un workflow, plutôt qu'à la main dans l'interface. Pratique quand un modèle doit monter son propre stockage au premier lancement.

Paramètres clés

  • Name : requis, le nom de la table à créer, en clair ou via une expression.
  • Columns : une entrée par colonne, chacune avec un Name et un Type parmi boolean, date, number et string.
  • Reuse Existing Tables : renvoie la table existante de même nom au lieu de lever une erreur.
Cas d'usage
un workflow d'installation qu'un collègue lance une fois avant la vraie automatisation.
09

Delete a data table

table.delete

Ce que tu vois dans n8n

Notes & cas d'usage

Fait disparaître une table entière, ses colonnes et ses lignes d'un coup. L'action ne se rattrape pas, et c'est pourquoi elle tient sur un seul paramètre, sans filtre pour l'adoucir.

Paramètres clés

  • Data table : requis, désigné dans la liste, par nom ou par ID ; préfère l'ID quand deux tables portent un nom voisin.
Cas d'usage
démonter la table de test qu'un workflow d'essai a créée, à la fin de ce même workflow.
10

List data tables

table.list

Ce que tu vois dans n8n

Notes & cas d'usage

Restitue les tables du projet sous forme d'items, une par table. Utile quand un workflow doit savoir ce qui existe avant d'écrire quoi que ce soit.

Paramètres clés

  • Return All : coché pour la liste entière ; décoché, Limit Per Input Row la plafonne, par exemple à 50.
  • Filter by Name : conserve les tables dont le nom contient le texte, sans tenir compte de la casse.
  • Sort Field et Sort Direction : tri sur createdAt, name ou updatedAt, croissant ou desc.
Cas d'usage
vérifier que la table d'archive du mois dernier existe toujours avant un export.
11

Update a data table

table.update

Ce que tu vois dans n8n

Notes & cas d'usage

Change le nom d'une table existante. Rien d'autre ne bouge : colonnes, types et lignes restent exactement là où ils étaient.

Paramètres clés

  • Data table : requis, la table à renommer, depuis la liste, par nom ou par ID.
  • New Name : requis, le nouveau nom, souvent construit par une expression comme {{ $json.period }}.
Cas d'usage
renommer une table glissante en début de mois pour garder un historique lisible.
Besoin d'aide

Besoin d'aide pour automatiser Data table avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Data table dans n8n, les questions qui suivent

01Le nœud Data table n8n est-il inclus dans n8n ?
Oui. C'est un nœud core livré avec n8n, sur n8n Cloud comme sur une instance auto-hébergée, sans installation et sans surcoût côté n8n. L'auto-hébergement passe par Docker ou npm, en Community Edition sous licence Sustainable Use, et un workflow se comporte de la même façon dans les deux cas. Comme la donnée ne quitte pas n8n, une instance auto-hébergée garde ces lignes sur une infrastructure que tu maîtrises. C'est souvent la raison même pour laquelle une équipe préfère une data table à un tableur externe.
02Que faut-il configurer avant de s'en servir ?
Rien côté compte. Ce nœud n'a ni credential (le jeu d'identifiants enregistré dans n8n) ni sélecteur Authentication : pas de clé à générer, pas de droit à accorder, pas de jeton à faire tourner. C'est un vrai avantage, une pièce de moins qui casse un dimanche soir. Il te faut en revanche une table, créée depuis l'onglet Data Tables de l'aperçu du projet, ou par un workflow avec l'opération Create a data table. Et il te faut un déclencheur en amont, puisque le nœud s'exécute sur les items entrants et n'ouvre jamais un workflow tout seul.
03Quelles sont les limites du nœud Data table ?
Le nœud est en version 1, avec 2 ressources et 11 opérations, et il n'existe pas de trigger Data table : rien ne se déclenche quand une ligne change, un Schedule Trigger ou un webhook doit mener la vérification. Les types de colonnes se choisissent à la création, parmi boolean, date, number et string, et aucune opération ne vient modifier une colonne ensuite. Le renommage se limite au nom de la table. Les suppressions de lignes comme de tables sont définitives, et c'est précisément le rôle de Dry Run que de t'en prémunir.
04Data table ou tableur pour stocker un état de workflow ?
Prends une data table quand la donnée n'intéresse que tes workflows : clés de dédoublonnage, compteurs, état d'exécution, petites tables de correspondance. Elle vit dans n8n, donc aucun quota, aucune authentification et aucun appel réseau entre le workflow et sa propre mémoire. Prends un tableur quand un humain doit lire, trier ou partager la donnée hors de n8n, ou quand d'autres outils lisent déjà ce fichier. Règle simple : si personne en dehors de l'automatisation n'ouvrirait ce fichier, garde-le dans une data table.
05n8n ou Make pour garder un état entre deux exécutions ?
Ça dépend surtout de l'endroit où tu veux que la donnée se pose. Make est une plateforme d'automatisation hébergée, sans option d'auto-hébergement, facturée à l'opération : chaque lecture et chaque écriture d'une valeur stockée compte dans ce décompte. n8n tourne sur tes propres serveurs si tu le souhaites, donc la table et ses lignes restent sur une infrastructure que tu contrôles, et la logique visuelle vit dans le même éditeur que le reste. Si ta contrainte est la localisation des données ou un gros volume de petites lectures, l'auto-hébergement répond directement. Si tu ne veux jamais gérer de serveur, la plateforme hébergée reste plus simple.
Hack'celeration Lab

Reçois nos tips intégration chaque semaine.

Pas de spam. Désinscription à tout moment.