Français
Table — ajouter ou mettre à jour
Écrit la ligne : elle est créée si sa clé est libre, modifiée sinon. C’est le nœud de la mémoire entre exécutions.
Écrit une ligne dans une Table : elle est créée si sa clé est libre, modifiée sinon. C’est le nœud de la mémoire entre exécutions — « dernière relance envoyée le », « statut du dossier » — parce qu’il fonctionne de la même façon à la première exécution et à toutes les suivantes. Utilisez Table — ajouter une ligne quand un doublon doit échouer, et Table — mettre à jour une ligne quand une ligne absente doit échouer.
En bref
- Type :
table.upsert· version 1 - Catégorie : Actions
- Nature : Étape — s’exécute pendant une exécution
- Effet : Écrit à l’extérieur (
external_write) — écrit hors de Mankomail ; décrit au lieu d’être fait pendant un essai - Exige un mail porteur : Non
- Connexion : Aucune
- Entrées :
main - Sorties :
main
Paramètres
table
Table — Choisie dans la liste, ou par son identifiant court (son « slug »), qui peut venir d’un template.
- Type : Ressource distante (
resourceLocator) - Requis : Oui
- Façons de choisir : dans une liste, saisir un identifiant (
table)
values
Valeurs de la ligne, clé comprise — Une seule liste, clé comprise : la clé est faite de colonnes comme les autres, et deux listes à tenir d’accord est une liste de trop.
- Type : Liste d’éléments (
collection) - Requis : Non
- Défaut :
[] - Au plus 60 éléments
- Chaque élément a :
column— Colonne- Type : Texte (
string) - Requis : Oui
- Défaut :
""(vide) - 60 caractères au plus
- Expressions :
{{ }}refusé
- Type : Texte (
value— Valeur. Convertie dans le type de la colonne : « 1 234,50 » devient un nombre, « oui » un booléen, « 03/04/2026 » une date. Ce qu’il ne sait pas lire est refusé, jamais vidé.- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 10000 caractères au plus
- Type : Texte (
Sorties
main
Données produites
Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).
{{ data.<step>.rowId }}—string. L’identifiant de la ligne écrite. En essai, quand la ligne serait créée :simulated:<identifiant de la table>.{{ data.<step>.row.<column> }}—object. La ligne entière après écriture, par clé machine de colonne. Les cellules vides sont absentes.{{ data.<step>.created }}—boolean. true quand la ligne a été créée, false quand une ligne existante a été mise à jour.{{ data.<step>.reused }}—boolean. true quand l’étape a été retentée après un incident et que la ligne écrite par la première tentative a été rendue, sans réécriture.{{ data.<step>.simulated }}—boolean. true en essai : rien n’a été écrit.{{ data.<step>.summary }}—string. Le résumé d’une ligne :Ligne ajoutée.,Ligne mise à jour.,Aurait ajouté une ligne.,Aurait mis à jour la ligne.ouDéjà écrit lors d’une tentative précédente : rien n’a été réécrit.
Exemple
Un workflow retient, pour chaque client, la date de son dernier mail. La table clients a la colonne clé email_client. Une étape Calculer une date nommée « Aujourd’hui » fournit la date. Le nœud s’appelle « Retenir le client ».
text
table clients
values email_client = {{ email.from.email }}
dernier_mail_le = {{ data.aujourd_hui.date }}Au premier mail du client, la ligne est créée (created: true) ; aux suivants, elle est mise à jour (created: false), et {{ data.retenir_le_client.row.dernier_mail_le }} porte la date la plus récente.
Conseils
- Une seule liste, clé comprise. Valeurs de la ligne, clé comprise doit contenir une valeur pour chaque colonne cochée Entre dans la clé de rapprochement : c’est à partir de ces valeurs que le nœud retrouve la ligne. Une partie de clé manquante fait échouer l’étape avec
table.invalid_value; une table sans colonne clé échoue avectable.no_key. - La mise à jour garde les autres colonnes. Quand la ligne existe, seules les colonnes listées changent ; les autres gardent leur valeur.
- Le rapprochement ignore la casse, les accents et la ponctuation, et s’appuie sur l’option de table Refuser deux lignes de même clé. Laissez-la cochée sur une table que vous écrivez par clé.
- Les valeurs sont converties dans le type de la colonne ; une valeur inconvertible, ou une colonne absente de la table, fait échouer l’étape avec
table.invalid_value. Les colonnes se désignent par leur clé machine, pas par leur en-tête. - Les nouvelles tentatives sont sûres. L’écriture est enregistrée avec la clé d’idempotence de l’étape : une nouvelle tentative après incident rend la ligne déjà écrite (
reused: true) sans réécrire. - Essais. Rien n’est écrit, mais la ligne est réellement cherchée : le résultat dit donc si l’exécution la créerait ou la modifierait. L’étape rend la ligne telle qu’elle serait, avec
simulated: true. Voir Essais.