Ressources · Intégration n8n

Intégration SeaTable n8nAutomatiser SeaTable avec n8n.

Une base SeaTable peut avancer sans que personne ne l'ouvre. L'intégration SeaTable n8n donne accès à 16 opérations réparties sur 4 ressources, de la ligne unique au snapshot de la base, en passant par les liens entre tables et les fichiers. Son trigger surveille 3 événements pour lancer le workflow tout seul.

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

Pourquoi automatiser

Que fait vraiment l'intégration SeaTable n8n ?

L'intégration SeaTable n8n relie une base SeaTable à un moteur de workflow, c'est-à-dire un enchaînement d'étapes qui tourne sans intervention. n8n fournit deux nœuds : le nœud SeaTable, qui lit et écrit les données avec 16 opérations réparties sur 4 ressources, et le SeaTable Trigger, un nœud de départ qui démarre le workflow quand des lignes ou des signatures apparaissent.

Les deux partagent le même credential, l'identifiant stocké dans n8n, ici un Base-Token généré dans SeaTable.

Premier cas : une table de demandes alimentée par un formulaire. Le trigger réagit sur newRow, le workflow complète la fiche, puis row.update réécrit les valeurs dans la ligne d'origine. Personne ne ressaisit quoi que ce soit et la table reste l'endroit unique où l'équipe regarde. Un message dans Slack en fin de parcours suffit à prévenir.

Deuxième cas : l'archivage des documents signés. Le trigger écoute newAsset sur une colonne de signature, asset.getPublicURL transforme le chemin du fichier stocké en URL ouvrable, et le workflow envoie une copie par Gmail avant de marquer la ligne comme traitée. Le document ne transite jamais par une boîte mail à la main.

Troisième cas : garder SeaTable aligné avec une autre source. Un workflow récurrent lit un export depuis Microsoft Excel 365, utilise row.search pour savoir si l'enregistrement existe déjà, puis choisit entre row.create et row.update. Le même schéma fonctionne avec une table Supabase quand SeaTable sert de vue de travail et que la base applicative fait référence.

Le nœud couvre les lignes, la base, les liens et les fichiers. Tout ce que l'API SeaTable expose au-delà de ces 4 ressources n'a pas d'opération dédiée : c'est le rôle du nœud HTTP Request, qui appelle n'importe quel endpoint en réutilisant le même credential via l'authentification prédéfinie. Pas de second jeton à gérer.

Deux limites à connaître avant de construire. Le trigger fonctionne en polling, c'est-à-dire que n8n va demander à SeaTable si du nouveau est arrivé, au lieu d'être appelé par SeaTable : une ligne remonte donc avec un décalage. Et l'opération de recherche prévient que tous les types de colonnes ne sont pas cherchables, donc un filtre sur une colonne exotique passe par une lecture complète et une comparaison faite dans le workflow. Si tu hésites encore sur l'outil lui-même, l'Avis n8n détaille le reste.

Connexion

Comment connecter SeaTable à n8n ?

  1. 01

    Générer un Base-Token dans SeaTable

    Ouvre la base à automatiser, va dans les options de la base, puis Advanced et API Token. Le jeton créé là est un Base-Token : il appartient à cette base, pas à ton compte utilisateur. Donne-lui la permission Read-Write, sinon le workflow arrive à lister des lignes mais échoue dès qu'il essaie d'en créer ou d'en modifier une. Un compte SeaTable cloud ou un serveur auto-hébergé font l'affaire.

  2. 02

    Créer le credential côté n8n

    Dans n8n, menu Credentials, choisis le credential SeaTable, qui fonctionne par clé d'API. Renseigne Environment avec Cloud-Hosted ou Self-Hosted selon l'endroit où tourne ton serveur SeaTable, colle le jeton dans API Token (of a Base), puis sélectionne le Timezone de ce serveur. Une fois enregistré, ce credential se retrouve dans la liste déroulante de tous tes nœuds SeaTable.

  3. 03

    Pointer le nœud sur une table

    Pose un nœud SeaTable dans le workflow, sélectionne le credential, puis l'opération. Presque toutes commencent par Table Name, une liste déroulante chargée depuis la base. Pas besoin de retenir le nom exact, n8n le propose. Tu peux basculer le champ en expression quand le nom de la table vient d'un nœud précédent. Le trigger suit la même logique et ajoute View Name.

Déclencheurs

Qu'est-ce qui déclenche un workflow SeaTable ?

SeaTable Trigger est le nœud qui démarre un workflow quand quelque chose se passe dans SeaTable. Il écoute 3 événements, listés ci-dessous par famille. Tu en choisis un ou plusieurs, tu actives le workflow : n8n enregistre le webhook (l'URL que SeaTable appelle) sur ton compte.

Ce que tu vois dans n8n

Tous les événements, par famille

Une ligne par objet, une puce par action. L'événement à cocher dans le nœud s'écrit objet.action ; survole une puce pour lire quand il se déclenche.

new.*2
    updated.*1

      Notes de configuration

      01Set Up the SeaTable TriggerLe SeaTable Trigger est en version 2 et fonctionne en polling : n8n interroge l'API SeaTable à l'intervalle défini dans Poll Times, au plus toutes les minutes, et sort un item par élément trouvé. Rien à configurer côté SeaTable, et la ligne arrive dans le workflow avec un décalage égal à cet intervalle.

      Le SeaTable Trigger est en version 2 et fonctionne en polling : n8n interroge l'API SeaTable à l'intervalle défini dans Poll Times, au plus toutes les minutes, et sort un item par élément trouvé. Rien à configurer côté SeaTable, et la ligne arrive dans le workflow avec un décalage égal à cet intervalle.

      Paramètres clés

      • Event : le paramètre qui choisit lequel des 3 événements est écouté. Pas d'option « tous les événements », donc un nœud trigger surveille un événement.
      • Table Name : requis, la table surveillée, prise dans la liste ou définie par une expression.
      • View Name : facultatif, limite la surveillance à une vue. Les lignes exclues de cette vue ne remontent jamais.
      • Simplify : renvoie une version allégée de la réponse au lieu des données brutes.
      • Return Column Names : à true les noms de colonnes, à false les clés de colonnes. Le reste du workflow lit ces noms, donc le choix se fait une fois.
      Cas d'usage
      un trigger par table et par événement, avec la vue comme filtre plutôt qu'un nœud IF.
      02New Row and New SignatureLa famille new compte 2 événements. newRow se déclenche sur les lignes créées depuis la dernière interrogation : c'est la porte d'entrée d'une table de formulaire, de commandes ou de demandes internes. newAsset se déclenche sur les nouvelles signatures et s'appuie sur une colonne de signature électronique, donc le workflow réagit au moment où le document est signé.

      La famille new compte 2 événements. newRow se déclenche sur les lignes créées depuis la dernière interrogation : c'est la porte d'entrée d'une table de formulaire, de commandes ou de demandes internes. newAsset se déclenche sur les nouvelles signatures et s'appuie sur une colonne de signature électronique, donc le workflow réagit au moment où le document est signé.

      Paramètres clés

      • Signature Column : requis pour l'événement signature, c'est la colonne de signature électronique suivie, choisie dans la liste ou définie par une expression.
      • Table Name : la table qui contient les lignes ou la colonne de signature.
      Quand l'utiliser
      quand le moment qui compte est la création. Une ligne qui apparaît signifie du travail à faire, et le workflow peut l'enrichir, l'orienter ou l'annoncer immédiatement.
      Cas d'usage
      un devis signé lance la branche d'archivage, une nouvelle ligne dans la table support ouvre un ticket ailleurs.
      03New or Updated RowLa famille updated compte 1 événement. updatedRow couvre les lignes récemment créées ou modifiées : il attrape donc la modification qu'un événement de création laisse passer, un statut basculé, un montant corrigé, un responsable changé.

      La famille updated compte 1 événement. updatedRow couvre les lignes récemment créées ou modifiées : il attrape donc la modification qu'un événement de création laisse passer, un statut basculé, un montant corrigé, un responsable changé.

      Paramètres clés

      • Table Name : requis, la table surveillée.
      • View Name : une vue construite sur un filtre transforme cet événement large en événement précis, puisque seules les lignes qui entrent dans la vue ressortent.
      • Return Column Names : laisse-le actif quand la suite du workflow teste une colonne lisible plutôt qu'une clé technique.
      Quand l'utiliser
      pour les process pilotés par un statut, où la ligne existe déjà et où l'information utile est ce qui a changé.
      Cas d'usage
      une affaire passée en Gagné lance la séquence d'onboarding, une adresse corrigée renvoie la correction vers l'outil qui détient la fiche client.
      Actions

      Que sait faire le nœud SeaTable ?

      Le nœud SeaTable expose 16 opérations sur 4 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
      RessourceCreateGetUpdateAddDeleteCollaboratorPublic URLGet ManyLockMetadataSearchSnapshotUnlockUpload
      Row✓✓✓✓✓✓✓✓
      Base✓✓✓
      Link✓✓✓
      Asset✓✓

      Row

      8 opérations
      01

      Create a row

      row.create

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Ajoute une ligne dans une table et la renvoie. C'est ce qui transforme un événement extérieur en enregistrement visible.

      Paramètres clés

      • Table Name : la table de destination, dans la liste ou par expression.
      • Data to Send : autoMapInputData quand les propriétés entrantes portent déjà le nom des colonnes, defineBelow pour remplir chaque colonne à la main.
      • Columns to Send : les paires colonne et valeur. Dates en YYYY-MM-DD ou YYYY-MM-DD hh:mm, durées en secondes, cases à cocher en true, on ou 1, choix multiples séparés par des virgules.
      • Apply Column Default Values : applique les valeurs par défaut des colonnes, sur le backend normal uniquement.
      Cas d'usage
      une réponse de formulaire devient une ligne de la table des demandes.
      02

      Delete a row

      row.remove

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Supprime définitivement une ligne. Rien ne revient à part la confirmation, donc tout ce dont le workflow a encore besoin doit être lu avant ce nœud.

      Paramètres clés

      • Table Name : la table concernée.
      • Row ID : l'identifiant de la ligne à supprimer, souvent {{ $json.row_id }} récupéré d'une recherche ou d'une lecture précédente.
      Cas d'usage
      nettoyer les doublons repérés par une branche de dédoublonnage, ou vider une table tampon une fois ses lignes basculées dans la table définitive.
      03

      Get a row

      row.get

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Lit une seule ligne et renvoie son contenu. C'est la façon normale de récupérer la fiche complète quand le trigger ou l'étape précédente n'a transmis qu'un identifiant.

      Paramètres clés

      • Table Name : la table à lire.
      • Row ID : la ligne voulue, dans la liste ou par expression.
      • Simplify : renvoie une version allégée de la réponse plutôt que les données brutes.
      • Return Column Names : true pour les noms de colonnes, false pour les clés. Garde le même réglage sur tout le workflow, les expressions qui suivent en dépendent.
      Cas d'usage
      recharger la ligne d'une commande avant de générer le document qui en reprend les montants.
      04

      Get many rows

      row.list

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Récupère un lot de lignes depuis une table ou depuis une de ses vues, et sort un item n8n par ligne. La suite du workflow boucle donc naturellement.

      Paramètres clés

      • Table Name : la table source.
      • View Name : facultatif mais souvent le vrai filtre, puisque la vue porte déjà les conditions définies par l'équipe dans SeaTable.
      • Simplify : allège la réponse quand seules les valeurs comptent.
      • Return Column Names : bascule la sortie entre noms de colonnes et clés de colonnes.
      Cas d'usage
      une exécution hebdomadaire lit la vue des factures en retard et envoie une relance par ligne.
      05

      Add a row lock

      row.lock

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Verrouille une ligne pour empêcher toute modification. L'enregistrement reste lisible dans la base, mais ses valeurs sont figées tant que rien ne le déverrouille.

      Paramètres clés

      • Table Name : la table qui contient la ligne.
      • Row ID : la ligne à figer, en général celle que le workflow vient de traiter.
      Cas d'usage
      une note de frais validée est verrouillée dès son export vers la comptabilité, pour qu'une modification tardive ne casse pas discrètement la correspondance entre la base et l'export.
      07

      Remove a row lock

      row.unlock

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Libère une ligne verrouillée plus tôt et la remet dans un état où les humains comme les workflows peuvent écrire dedans.

      Paramètres clés

      • Table Name : la table qui contient la ligne.
      • Row ID : la ligne à libérer.
      Cas d'usage
      une procédure de correction qui déverrouille une ligne archivée, applique le correctif avec une opération de mise à jour, puis reverrouille à la fin de la même exécution. Placer ce nœud avant une mise à jour évite aussi l'échec d'un workflow qui tente d'écrire dans une ligne figée.
      08

      Update a row

      row.update

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Écrit de nouvelles valeurs dans une ligne existante, sans toucher aux colonnes que tu ne mentionnes pas. C'est ce qui fait de SeaTable une table vivante et pas un simple journal.

      Paramètres clés

      • Row ID : la ligne réécrite. Une expression approximative ici écrase le mauvais enregistrement.
      • Data to Send : autoMapInputData associe les propriétés entrantes aux colonnes de même nom, defineBelow définit chaque colonne explicitement.
      • Inputs to Ignore : la liste des propriétés à ne pas envoyer, séparées par des virgules, pratique quand l'item entrant transporte des champs techniques.
      Cas d'usage
      réécrire le résultat d'un enrichissement sur la ligne qui a déclenché l'exécution.

      Base

      3 opérations
      09

      Create a snapshot

      base.snapshot

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Fige une copie de la base entière au moment où le nœud tourne. Aucun paramètre à remplir : le credential désigne déjà une base, et c'est celle-là qui est capturée.

      Cas d'usage
      un workflow planifié prend un snapshot chaque matin avant l'import, ce qui donne un état connu auquel comparer en cas de mauvais mapping. Placé juste avant une mise à jour de masse, le même nœud fournit la photo d'avant, sans que personne ait à y penser.
      10

      Get metadata of a base

      base.metadata

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Renvoie la structure complète de la base : ses tables, leurs colonnes et les types derrière, plutôt que les données qu'elles contiennent. Aucun paramètre.

      Cas d'usage
      un workflow générique qui s'adapte aux colonnes réellement présentes au lieu de les coder en dur. Lire les métadonnées répond aussi à la question qui bloque la recherche, puisque la sortie montre le type exact de chaque colonne avant qu'un workflow essaie d'y chercher quoi que ce soit.
      11

      Get username from email or name

      base.collaborator

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Traduit une personne en nom d'utilisateur interne SeaTable, du type 244b43hr6fy54bb4afa2c2cb7369d244@auth.local. Les colonnes collaborateur stockent cette valeur et pas un email, donc un workflow qui veut assigner quelqu'un doit passer par cette conversion.

      Paramètres clés

      • Name or email of the collaborator : l'email ou le nom affiché dont dispose déjà le workflow.
      Cas d'usage
      un ticket arrive avec l'email de l'assigné, ce nœud le convertit, et une mise à jour dépose le résultat dans la colonne collaborateur.

      Asset

      2 opérations
      15

      Get the public URL from asset path

      asset.getPublicURL

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Transforme le chemin interne d'un fichier stocké dans SeaTable en URL ouvrable ailleurs. Les fichiers d'une colonne image ou fichier sont rangés sous forme de chemins, et la valeur brute de la colonne est donc rarement exploitable telle quelle.

      Paramètres clés

      • Asset Path : le chemin stocké, de la forme /images/2023-09/logo.png.
      Cas d'usage
      construire le lien vers un document signé avant de l'envoyer dans un message ou vers un archivage externe, juste après que le trigger a signalé une nouvelle signature.
      16

      Upload a file or image

      asset.upload

      Ce que tu vois dans n8n

      Notes & cas d'usage

      Pousse un fichier binaire venu d'un nœud précédent dans une colonne fichier ou image d'une ligne existante.

      Paramètres clés

      • Column Name : la colonne fichier ou image qui reçoit le document.
      • Row ID : la ligne à laquelle il est rattaché.
      • Property Name : le nom de la propriété binaire qui contient les données, data dans la plupart des nœuds n8n. Une erreur ici explique la majorité des envois vides.
      • Replace Existing File : à true un fichier de même nom est remplacé, à false les deux cohabitent avec un numéro entre parenthèses.
      • Append to Column : à true les fichiers déjà présents restent, à false ils sont retirés.
      Cas d'usage
      ranger un PDF généré sur sa ligne.
      Besoin d'aide

      Besoin d'aide pour automatiser SeaTable avec n8n ?

      L'équipe te répond directement.

      Chaque message est lu par une personne.

      FAQ

      SeaTable et n8n : les questions qui suivent

      01L'intégration SeaTable n8n est-elle gratuite ?
      Côté n8n, oui. Le nœud SeaTable et le SeaTable Trigger sont livrés avec n8n : rien à installer, aucun coût supplémentaire, que tu sois sur n8n Cloud, l'offre hébergée par n8n, ou sur ta propre instance installée en Docker ou en npm, en Community Edition sous licence Sustainable Use. Un workflow se comporte pareil dans les deux cas, donc tu peux le construire d'un côté et le déplacer de l'autre. Il te faut en revanche un compte SeaTable, sur le service cloud ou sur un serveur SeaTable auto-hébergé, puisque le jeton se génère depuis l'intérieur d'une base. Ce que coûte ce compte relève de SeaTable, pas de n8n.
      02Quels credentials faut-il pour connecter SeaTable à n8n ?
      Un seul credential, par clé d'API, partagé par les deux nœuds. Trois champs à remplir. Environment indique si ton instance SeaTable est Cloud-Hosted ou Self-Hosted. API Token (of a Base) reçoit un Base-Token, généré dans SeaTable depuis les options de la base, puis Advanced, puis API Token, avec la permission Read-Write dès que le workflow crée, modifie ou supprime quelque chose. Timezone correspond au fuseau de ton serveur SeaTable, et un mauvais réglage décale les dates écrites. Le jeton appartient à une base et non à un utilisateur, donc automatiser une seconde base demande un second credential. Une fois enregistré, il apparaît dans la liste de tous les nœuds SeaTable.
      03Quelles sont les limites du nœud SeaTable dans n8n ?
      Le nœud couvre 4 ressources, à savoir les lignes, la base, les liens et les fichiers, pour 16 opérations au total. Tout ce que l'API SeaTable propose en dehors de cette liste n'a pas d'opération dédiée, et la réponse est le nœud HTTP Request, qui appelle n'importe quel endpoint en réutilisant le même credential SeaTable par authentification prédéfinie. Deux détails piègent en pratique. La recherche ne supporte pas tous les types de colonnes, donc une recherche sur une colonne inhabituelle passe par une lecture puis une comparaison dans le workflow. Et l'écriture sur le backend Big Data ne fonctionne que si l'option est activée dans le nœud et le backend activé dans la base.
      04Le SeaTable Trigger réagit-il en temps réel ?
      Non, et autant le dire franchement. Le SeaTable Trigger fonctionne en polling : n8n va demander à l'API SeaTable si du nouveau est arrivé, à l'intervalle que tu choisis dans Poll Times, le réglage le plus rapide vérifiant toutes les minutes. Aucun webhook à déclarer côté SeaTable, ce qui simplifie la mise en route, mais une ligne remonte avec un décalage égal à ton intervalle. Dimensionne les process en conséquence : une signature qui lance un archivage une minute plus tard, très bien. Un workflow censé répondre à quelqu'un qui attend devant son écran, non. Chaque nœud trigger surveille un seul événement, faute d'option englobante.
      05n8n ou Make pour SeaTable ?
      Ça dépend de quatre critères, et aucun des deux outils n'est un mauvais choix. L'hébergement d'abord : Make est hébergé par Make, sans option d'auto-hébergement, alors que n8n tourne sur ton serveur ou sur n8n Cloud. La maîtrise des données découle de ce premier point, et c'est souvent lui qui tranche quand la base contient des données personnelles ou contractuelles. Le modèle de coût ensuite : Make facture à l'opération, donc un workflow qui boucle sur beaucoup de lignes se paie au volume, alors qu'un n8n auto-hébergé se paie à la machine. La logique visuelle enfin, avec des habitudes de branchement et de gestion d'erreur différentes. Regarde les 16 opérations dont tu as besoin, puis tranche.