FlowKit

Connecter Baserow à n8n : la base de données self-hosted qui remplace vos tableurs

Publié le 21 août 2026 · 7 min de lecture

Un besoin revient sans cesse dans un projet d’automatisation : donner à une équipe non technique une interface pour consulter ou corriger à la main les données qu’un workflow n8n produit — une liste de leads qualifiés par IA, un suivi de dossiers, un catalogue de contenus. Un tableur Google Sheets fait l’affaire au début, jusqu’à ce que les formules cassent et que deux personnes écrasent la même ligne en même temps. Supabase règle le problème de structure, mais expose du SQL à des gens qui n’en ont jamais écrit. Entre les deux se trouve Baserow : une base de données relationnelle open source, avec une interface façon tableur, un node natif dans n8n, et la possibilité de l’héberger entièrement chez vous.

Qu’est-ce que Baserow et pourquoi l’envisager avec n8n

Baserow ressemble à Airtable — colonnes typées, vues filtrées, formulaires de saisie — mais tourne sur PostgreSQL et se déploie en une commande Docker sur votre propre VPS. Pour une équipe déjà engagée dans le self-hosting (voir notre guide pour choisir un VPS pour n8n self-hosted), c’est la pièce qui manquait pour donner une vraie interface à des données sans faire sortir un octet vers un service tiers américain — un argument qui compte autant pour la conformité RGPD que pour la maîtrise des coûts, puisque le plan gratuit auto-hébergé n’a pas de plafond de lignes artificiel.

n8n intègre un node Baserow natif (n8n-nodes-base.baserow) depuis plusieurs versions déjà, avec une mise à jour notable en mars 2026 : opérations en lot (créer, mettre à jour et supprimer plusieurs lignes en une seule requête plutôt qu’en boucle), des filtres supplémentaires sur l’opération Get Many, et une authentification par jeton API simplifiée. Pas de node communautaire à installer, pas de maintenance tierce à surveiller — contrairement à certaines intégrations de ce blog qui reposent sur des packages non officiels.

Installer Baserow en self-hosted

L’image officielle se lance avec un seul conteneur Docker qui embarque PostgreSQL, Redis et l’application :

docker run -d --name baserow \
  -e BASEROW_PUBLIC_URL=https://baserow.votre-domaine.fr \
  -v baserow_data:/baserow/data \
  -p 8080:80 \
  baserow/baserow:1.32

Si vous exposez déjà n8n derrière un reverse proxy, le même principe s’applique ici — voir notre guide pour configurer n8n en HTTPS avec Traefik ou Caddy — pour obtenir un certificat TLS automatique sur baserow.votre-domaine.fr plutôt que d’exposer le port 8080 brut. Sur une instance qui héberge déjà plusieurs services (n8n, Baserow, éventuellement Supabase), gardez des volumes de sauvegarde distincts : une restauration accidentelle de l’un ne doit jamais écraser l’autre.

Générer le jeton API et connecter le credential

Depuis le compte Baserow (menu utilisateur en bas à gauche → ParamètresJetons API), créez un jeton dédié à n8n plutôt que d’utiliser votre jeton personnel — un jeton par intégration permet de révoquer l’accès d’un workflow sans couper tous les autres. Dans n8n, le credential Baserow API ne demande que deux champs : l’URL de l’instance (l’API répond sur /api/) et ce jeton. Comme pour toute clé d’intégration, stockez-la exclusivement dans le credential chiffré n8n — notre guide de sécurisation des credentials API détaille les bonnes pratiques si votre instance n’est pas encore verrouillée sur ce point.

Le node Baserow : opérations et mode batch

Le node expose les opérations classiques — Create, Get, Get Many (avec filtres par champ, tri et pagination), Update, Delete — appliquées à une table identifiée par son ID numérique (visible dans l’URL de la table sur l’interface Baserow). Depuis la mise à jour de mars 2026, l’opération Create accepte un tableau d’objets pour insérer plusieurs lignes en un seul appel : utile quand un workflow traite un lot d’éléments (une extraction de facture PDF produisant plusieurs lignes de détail, par exemple) plutôt qu’un item à la fois, ce qui réduit le nombre de requêtes et le risque de heurter une limite de débit.

Un point qui surprend souvent au premier essai : les champs de type Single Select ou Link to Table attendent l’ID interne de l’option ou de la ligne liée, pas son libellé texte. Un appel préalable à Get Many sur la table de référence, filtré par le libellé affiché, permet de résoudre cet ID avant l’écriture — le même patron que celui décrit dans notre guide du node Compare Datasets pour rapprocher deux jeux de données.

Cas concret : un tracker de leads alimenté par IA

Prenons un scénario complet, cohérent avec les workflows déjà présents sur ce blog. Un formulaire multi-étapes collecte une demande entrante ; un appel LLM qualifie le lead (score, besoin identifié, urgence) et l’enrichit automatiquement (secteur, taille d’entreprise via une recherche web) ; le node Baserow Create insère une ligne dans une table Leads avec ces champs déjà remplis. L’équipe commerciale ouvre Baserow, filtre la vue sur les scores supérieurs à un seuil, et travaille directement dans une interface qu’elle connaît sans jamais toucher à n8n ni à une base SQL.

C’est précisément l’argument que documente la recherche en génie logiciel destiné aux utilisateurs finaux : une synthèse de référence de Ko et al. (2011), The State of the Art in End-User Software Engineering, publiée dans ACM Computing Surveys, montre que des utilisateurs sans formation en programmation commettent significativement moins d’erreurs et progressent plus vite lorsqu’ils manipulent des structures visuelles et contraintes (colonnes typées, formulaires, vues filtrées) plutôt que du code ou des requêtes libres. Donner à une équipe commerciale une vue Baserow plutôt qu’un accès en lecture à Supabase n’est pas un détail cosmétique : c’est ce qui évite qu’une donnée mal comprise se transforme en erreur silencieuse dans le suivi commercial.

Déclencher n8n depuis Baserow (le sens inverse)

Le flux fonctionne aussi dans l’autre sens. Baserow expose des webhooks par table, configurables sur les événements rows.created et rows.updated, avec un filtre optionnel sur les champs qui doivent changer pour déclencher l’appel. Un commercial qui passe manuellement le statut d’un lead à « Rendez-vous pris » dans l’interface Baserow peut ainsi déclencher un Webhook Trigger n8n qui envoie une alerte Slack à l’équipe, dans la même logique que notre guide sur les digests multi-sources — sauf qu’ici la source de vérité éditable à la main est Baserow, pas une table Supabase opaque pour qui n’écrit pas de SQL.

Baserow, Data Tables, Google Sheets ou Supabase : quand choisir quoi

Ces quatre options ne sont pas interchangeables :

  • n8n Data Tables — pour un état interne au workflow (déduplication, cache, file d’attente) que personne n’a besoin de consulter directement. Aucune interface dédiée, pas d’accès depuis un node Code, plafond de 50 Mo par défaut.
  • Google Sheets — pour un besoin ponctuel ou un volume de quelques centaines de lignes, sans conflit d’écriture simultanée. Rappelons que Panko (1998), dans son étude de référence What We Know About Spreadsheet Errors publiée dans le Journal of Organizational and End User Computing, chiffre le taux d’erreur des tableurs à grande échelle entre 1 et 6 % des cellules — un rappel utile avant de bâtir un processus critique sur une feuille de calcul plutôt que sur des colonnes typées et validées.
  • Baserow — dès qu’une personne non technique doit consulter, filtrer ou corriger les données à la main, avec une vraie structure relationnelle et une exigence de self-hosting.
  • Supabase — pour un volume important, des requêtes complexes, ou quand la donnée ne sort jamais du périmètre technique (RAG, journalisation, files d’attente à fort débit).

Pièges fréquents

  • Un seul jeton API pour tous les workflows. En cas de fuite ou de dysfonctionnement, impossible de révoquer un accès sans couper toutes les intégrations. Un jeton par workflow ou par usage limite le rayon d’impact.
  • Écrire des libellés au lieu des ID sur les champs liés. Une valeur texte envoyée sur un champ Single Select ou Link to Table échoue silencieusement ou crée une option en double selon la configuration du champ — toujours résoudre l’ID au préalable.
  • Oublier les webhooks lors d’une modification manuelle. Si une personne corrige une ligne directement dans Baserow, seuls les événements rows.updated avec le bon filtre de champ déclenchent la suite du pipeline — vérifiez cette configuration plutôt que de supposer qu’elle capture tout changement.

Pour aller plus loin

Le tracker de leads décrit ici s’imbrique naturellement avec le tri et le scoring d’urgence du Pack Inbox IA (79 €) : les emails triés et priorisés alimentent la même table Baserow que les leads issus d’un formulaire, pour une vue commerciale unifiée. Si votre volume de données ou vos besoins de recherche sémantique dépassent ce que Baserow peut offrir, le Pack Assistant RAG (119 €) prend le relais avec une vraie base vectorielle Supabase. Le Bundle FlowKit Complet (269 €) réunit les trois packs pour qui veut couvrir la chaîne complète, de la réception d’un email jusqu’au suivi commercial visible par toute l’équipe.

Bundle FlowKit Complet

269 €