Skip to content

Tables ​

Une Table est une petite base de données au sein de votre organisation : des lignes et des colonnes typées, que l’équipe édite comme un tableur et que les workflows lisent et écrivent par les nœuds Table. Elle répond à deux besoins qu’un workflow ne peut pas satisfaire seul :

  • Les tables de correspondance que personne ne veut écrire dans un nœud : « ce département → ce consultant », « cet immeuble → son syndic », « ce partenaire → son animateur ». L’équipe les tient à jour ; le workflow ne fait que les lire.
  • Une mémoire entre exécutions. Chaque exécution d’un workflow part de zéro. Une Table est l’endroit où un workflow écrit un état qui lui survit : « dossier PSD-0142 → statut, date de la dernière relance », « ce client a déjà reçu la deuxième relance ».

Les Tables se trouvent sous Tables dans la navigation principale. Elles appartiennent à l’organisation, pas à un membre.

De quoi une table est faite ​

ÉlémentCe que c’est
NomLe nom lisible, par exemple « Départements → consultants ». Il se corrige à tout moment.
IdentifiantUn nom machine court (son « slug »), par exemple departements-consultants : lettres minuscules, chiffres, - et _, commençant par une lettre. Laissé vide à la création, il est déduit du nom. Un nœud peut désigner une table par cet identifiant au lieu de la choisir dans la liste.
ColonnesUne liste ordonnée de colonnes typées (voir plus bas). Une table en compte au moins une.
CléUne ou plusieurs colonnes marquées comme entrant dans la clé de rapprochement, qui sert aux nœuds à retrouver « la » ligne.
Refuser deux lignes de même cléSi deux lignes peuvent partager la même clé. Activé par défaut.
LignesLes données. Chaque ligne retient quand elle a été créée et modifiée, et par qui : un membre, un workflow ou un import.

Une table s’ouvre à l’adresse /tables/<identifiant> comme à son identifiant opaque : un lien vers une table se colle donc dans une conversation.

Les colonnes et leurs types ​

Chaque colonne a un Libellé (ce que lisent les personnes), une Clé machine (ce qu’écrivent les workflows), un Type, et deux options : Cellule obligatoire et Entre dans la clé de rapprochement. Une colonne de type Liste de choix a en plus ses Valeurs possibles, une par ligne (100 au plus).

TypeCe que contient une celluleCe qui est accepté à l’écriture
Textedu texte, tel que saisitout
Nombreun nombre1200.5, 1 200,50, 1.234,50, 1,234.50. Une virgule seule suivie d’exactement trois chiffres (1,234) est ambiguë et refusée.
Vrai ou fauxtrue ou falsetrue/false, yes/no, oui/non, vrai/faux, y/n, o, x, 1/0, on/off
Dateune date civile AAAA-MM-JJ, sans heure ni fuseau2026-04-03 ou la forme jour d’abord 03/04/2026, 3.4.26, 3-4-2026. Une année à deux chiffres vaut 20xx. La forme mois d’abord (américaine) n’est pas acceptée.
Date et heureun instant en UTC, ISO 86012026-04-03T14:30:00Z, 2026-04-03 14:30 (avec ou sans décalage). Une date seule vaut minuit UTC.
Liste de choixune des valeurs possiblesune valeur qui correspond à une valeur possible, sans tenir compte de la casse ni des accents ; c’est la valeur possible qui est enregistrée
Adresse e-mailune adresse, en minusculesune adresse avec un @ et un point dans le domaine

Une valeur qui ne se convertit pas est refusée, jamais vidée ni devinée. Le refus désigne la ligne et la colonne. Une cellule vide est enregistrée vide, jamais comme un texte vide, et une cellule contient au plus 4 000 caractères par défaut.

La clé machine d’une colonne s’écrit en lettres minuscules, chiffres et _, en commençant par une lettre. C’est ce que vous écrivez dans un nœud (departement) et ce que vous lisez dans une expression ({{ data.trouver_consultant.row.departement }}). Changer le libellé ne casse rien. Changer la clé machine réécrit toutes les lignes, et les workflows qui emploient l’ancienne clé sont à mettre à jour.

La clé ​

La clé est une propriété de la table, pas du nœud. Marquez une ou plusieurs colonnes comme Entre dans la clé de rapprochement : « département », ou « résidence » + « millésime ». Un nœud qui cherche, met à jour ou ajoute-ou-met-à-jour une ligne ne donne que les valeurs de ces colonnes ; la table sait de quelles colonnes il s’agit, si bien que deux workflows ne peuvent pas rapprocher par erreur sur deux colonnes différentes.

  • Le rapprochement ignore la casse, les accents et la ponctuation. « Saint-Étienne », « SAINT ETIENNE » et « saint etienne » sont la même clé.
  • Une clé est complète ou absente. Si l’une des colonnes de clé d’une ligne est vide, la ligne n’a pas de clé : elle n’est jamais retrouvée par clé, et n’entre jamais en conflit avec une autre.
  • Refuser deux lignes de même clé (activé par défaut) convient à une table de correspondance : deux lignes « département 69 » sont une faute de saisie, et la seconde est refusée au moment où elle est écrite (tables.duplicate_key). Décochez-le pour un journal, où la même clé revient par construction. Un journal se cherche quand même par clé.
  • Une table sans clé ne peut pas servir aux nœuds qui travaillent par clé : ils échouent avec table.no_key au lieu de rapprocher une ligne au hasard.

Créer une table ​

Seul un administrateur crée une table.

  1. Ouvrez Tables et cliquez sur Nouvelle table, ou sur Importer un CSV pour partir d’un fichier.
  2. Donnez-lui un Nom. Laissez Identifiant vide pour le déduire du nom.
  3. Modifiez les colonnes. Le dialogue en propose deux pour commencer, Clé (marquée comme clé) et Valeur ; renommez-les, changez leur type, retirez-les ou ajoutez-en. Cochez Clé sur les colonnes qui identifient une ligne et Obligatoire sur celles qui ne doivent jamais être vides.
  4. Gardez ou décochez Refuser deux lignes de même clé.
  5. Cliquez sur Créer la table.

Quand vous partez d’un CSV, la première ligne du fichier propose les colonnes, et l’import s’ouvre juste après la création de la table.

Depuis un workflow, le sélecteur de table de chaque nœud Table propose Créer une table… aux administrateurs : le même dialogue s’ouvre, et la table créée revient sélectionnée. Un membre qui n’est pas administrateur lit qu’un administrateur peut en créer une depuis la page Tables.

Éditer les lignes dans la grille ​

Une table ouverte est un tableur : cliquez sur une cellule pour la modifier, triez par une colonne, filtrez, cherchez dans toutes les colonnes, sélectionnez plusieurs lignes.

  • Ajouter une ligne ouvre une nouvelle ligne dans la grille, en saisie, curseur sur sa première cellule. Tab ou Entrée passe à la cellule suivante, Échap retire la ligne. La ligne est enregistrée dès que ses cellules obligatoires sont remplies, ou quand vous cliquez sur Enregistrer la ligne ; une ligne vide n’est jamais enregistrée. Entrée au bout de la ligne en ouvre une autre : vous saisissez les lignes en série.
  • Clavier : flèches pour se déplacer, Entrée pour modifier, Échap pour annuler, Tab pour la cellule suivante, Suppr pour vider.
  • Les erreurs s’affichent sous la cellule qui les cause : cellule obligatoire laissée vide, valeur qui ne se lit pas dans le type de la colonne, clé déjà prise.
  • La suppression de lignes se fait sur une sélection, et s’annule aussitôt avec Annuler : les mêmes lignes reviennent, avec les mêmes identifiants.
  • Les filtres combinent des conditions sur les colonnes (égal à, différent de, contient, ne contient pas, commence par, finit par, supérieur ou inférieur à, est vide, n’est pas vide), avec Toutes les conditions ou Au moins une condition. Jusqu’à 20 conditions.
  • Deux personnes sur la même cellule. Si quelqu’un d’autre a enregistré la cellule pendant que vous la modifiiez, votre saisie n’est pas enregistrée : un bandeau montre ce que vous avez tapé et ce qui est enregistré, et vous choisissez Écrire ma valeur quand même ou Garder la valeur enregistrée.

Modifier la structure ​

Les colonnes se gèrent depuis la grille : Ajouter une colonne dans la barre d’outils, ou le menu « … » d’un en-tête de colonne (aussi au clic droit) pour Renommer…, Changer le type… ou supprimer la colonne. Ces gestes sont réservés aux administrateurs ; un membre lit que la structure est tenue par un administrateur.

  • Changer le type convertit chaque cellule. Si une seule cellule ne se convertit pas, le changement est refusé en bloc et la liste des cellules concernées s’affiche. Vous pouvez alors Garder le type actuel, ou Vider ces cellules et changer le type : les vider ne se défait pas.
  • Supprimer une colonne perd ses valeurs sur toutes les lignes. La dernière colonne d’une table ne peut pas être supprimée.
  • Supprimer la table retire définitivement ses colonnes et ses lignes. Les workflows qui la lisent échoueront.

Avant de renommer ou de supprimer, ouvrez Utilisé par : la liste donne les workflows dont un nœud Table vise cette table, indique pour chacun s’il est publié ou en brouillon, et s’il Écrit dedans ou Lit seulement. Elle est calculée à partir des workflows eux-mêmes : elle est toujours à jour.

Importer et exporter ​

L’import se fait en deux temps, et tout membre peut importer.

  1. Le fichier. Collez ce que vous avez copié d’un tableur, déposez un fichier ou choisissez-en un. Tabulations, virgules et points-virgules sont reconnus ; le séparateur est deviné, sauf si vous le choisissez. Décochez La première ligne porte les en-têtes quand vous collez un extrait qui commence directement par des données : les colonnes sont alors prises dans l’ordre. Le contenu est limité à 4 Mo.
  2. Les colonnes. Cinq lignes d’exemple s’affichent avec une correspondance proposée, trouvée sur les libellés et les clés machine sans tenir compte de la casse ni des accents (« Département » retrouve departement). Choisissez « Ne pas importer » pour une colonne à laisser de côté.
  3. Les options. Choisissez ce qui se passe quand la clé existe déjà :
OptionEffet
Laisser la ligne existanterien n’est écrit sur les lignes déjà présentes
Mettre à jour les colonnes importéesseules les colonnes du fichier changent ; les autres restent
Remplacer la ligne entièreles colonnes absentes du fichier sont vidées
Toujours ajouterla clé est ignorée et chaque ligne est ajoutée. C’est le mode d’un journal, et le seul possible sur une table sans clé.

Un administrateur peut aussi cocher Vider la table avant d’importer, seule façon de remplacer toute la table par un fichier.

Le résultat donne le nombre de lignes créées, mises à jour, supprimées et écartées. Chaque ligne écartée vient avec son numéro et sa raison : une cellule obligatoire est vide, une valeur ne se lit pas dans le type de sa colonne, la clé est vide alors que la table en a une, la clé apparaît deux fois (dans le fichier ou déjà dans la table), ou le plafond de lignes est atteint.

Exporter en CSV télécharge toute la table : les libellés en première ligne, des points-virgules comme séparateurs, de l’UTF-8 avec marque d’ordre d’octets pour que les tableurs l’ouvrent correctement. Les booléens s’écrivent true et false.

Qui a le droit de quoi ​

La structure appartient aux administrateurs ; les lignes appartiennent à l’équipe.

GesteQui
Créer, renommer, supprimer une table ; changer ses optionsles administrateurs
Ajouter, renommer, retyper, supprimer une colonneles administrateurs
Vider la table avant un importles administrateurs
Ajouter, modifier, supprimer des lignes ; importertout membre
Lire, chercher, exportertout membre
Lire et écrire des lignes depuis un workflowtout workflow, par les nœuds Table

Un workflow ne change jamais la structure d’une table : il ne peut ni créer de table ni ajouter de colonne.

Les Tables dans les workflows ​

Sept nœuds travaillent sur les Tables. Chacun désigne la table, choisie dans la liste ou donnée par son identifiant, qui peut venir d’une expression.

NœudCe qu’il fait
Table — chercher une ligneCherche une ligne par sa clé et oriente l’exécution vers found ou not_found.
Table — lister des lignesRend les lignes qui passent des filtres, triées et bornées, sous forme de tableau prêt pour une Boucle.
Table — ajouter une ligneAjoute une ligne ; échoue si la clé est déjà prise et que la table refuse les doublons.
Table — mettre à jour une ligneModifie les colonnes que vous nommez sur la ligne qui porte cette clé ; échoue s’il n’y en a pas.
Table — ajouter ou mettre à jourCrée la ligne si sa clé est libre, la modifie sinon. Le nœud de la mémoire entre exécutions.
Table — supprimer une ligneRetire la ligne qui porte cette clé. Ne rien trouver à retirer est un succès.
Table — ajouter un commentaireAjoute une ligne datée au bas d’une cellule de texte, sans jamais écraser ce qu’elle contient.

Les valeurs écrites par un nœud passent par la même conversion que dans la grille : "1 200,50" écrit dans une colonne Nombre est enregistré 1200.5, et une valeur qui ne se convertit pas fait échouer l’étape. Un nom de colonne qui n’existe pas fait aussi échouer l’étape : une faute de frappe se voit.

Essais. Les deux nœuds de lecture lisent la vraie table. Les cinq nœuds d’écriture n’écrivent rien : ils rendent la ligne telle qu’elle serait après l’écriture, valeurs converties, pour que l’étape suivante montre ce qu’elle recevrait. Voir Essais.

Un rejeu n’écrit jamais deux fois. Chaque écriture est enregistrée avec l’étape qui l’a faite. Quand une étape fait l’objet d’une nouvelle tentative ou que l’exécution reprend après un incident, le nœud retrouve son écriture précédente et rend le même résultat (reused: true) au lieu d’ajouter une seconde ligne ou un second commentaire.

Politique de nœuds. Les nœuds d’écriture sont déclarés comme écrivant à l’extérieur (external_write), comme les autres nœuds qui écrivent : un administrateur peut les interdire par la politique de nœuds de l’organisation.

Les limites ​

LimitePar défautRéglée par
Tables par organisation100TABLES_MAX_TABLES
Colonnes par table60TABLES_MAX_COLUMNS
Lignes par table50 000TABLES_MAX_ROWS
Caractères par cellule4 000TABLES_MAX_CELL_CHARS
Taille d’un import4 Mofixe
Lignes supprimées ou restaurées d’un coup500fixe
Valeurs possibles d’une Liste de choix100fixe

L’administrateur de l’instance règle les quatre premières, dans la limite de maximums absolus ; voir Variables d’environnement. Une écriture au-delà d’une limite est refusée avec tables.limit_reached. La page indique combien de tables et de lignes il reste.

Il n’y a ni relations entre tables ni vues enregistrées : un rapprochement entre deux tables se fait dans le workflow, par la clé.

Pages liées ​