Connecter Notion à n8n : synchroniser une base de données et automatiser vos pages (guide complet)
Publié le 23 juillet 2026 · 7 min de lecture
Notion sert de base de connaissances à une majorité d'équipes qui n'ont pas de vraie base de données : documentation produit, procédures internes, base de prospects, wiki d'équipe. Le problème, c'est que ce contenu reste enfermé dans l'interface Notion tant que rien ne va le chercher automatiquement. Connecter Notion à n8n change cette dynamique : une nouvelle ligne dans une base de données peut déclencher un workflow, et à l'inverse, n8n peut écrire, mettre à jour ou vectoriser des pages Notion sans intervention manuelle. Ce guide couvre l'authentification, les opérations du node Notion, le trigger, les pièges des propriétés, et deux exemples concrets — dont la synchronisation vers une base vectorielle pour un assistant RAG.
Cette friction n'est pas propre à Notion : une revue de référence en systèmes d'information de Maryam Alavi et Dorothy Leidner, publiée en 2001 dans MIS Quarterly, décrivait déjà le problème central des systèmes de gestion des connaissances — la difficulté à faire circuler l'information stockée vers les processus qui en ont besoin, plutôt que de la laisser dormir dans un référentiel consulté seulement à la demande (Alavi & Leidner, 2001, MIS Quarterly). Un pipeline n8n qui pousse et tire automatiquement le contenu Notion vers les autres outils d'une équipe (Slack, une base vectorielle, un CRM) est une réponse assez directe à ce problème, vingt-cinq ans plus tard.
Quand Notion a du sens comme source pour n8n
Trois cas d'usage reviennent le plus souvent :
- Base de connaissances interrogeable par IA : les procédures, la documentation produit ou les notes de réunion stockées dans Notion sont vectorisées par n8n et deviennent la source d'un chatbot RAG qui répond avec citations, plutôt que de rester des pages qu'il faut chercher manuellement.
- Suivi léger de projet ou de contenu éditorial : une base de données Notion (statuts, dates, assignés) comme tableau de bord modifiable par une équipe non technique, pendant que n8n déclenche des notifications ou des actions sur changement de statut.
- Back-office de configuration : exactement comme pour Airtable, une base Notion peut servir de panneau de configuration à un workflow — une liste de flux à surveiller, des feature flags, une liste de contacts — éditable sans toucher au JSON du workflow.
Si le volume dépasse plusieurs milliers de lignes, ou si la fraîcheur des données doit se compter en secondes plutôt qu'en minutes, Notion montre ses limites plus tôt qu'un vrai Postgres — notre guide de connexion n8n-Supabase couvre l'alternative.
Authentification : l'intégration interne
La méthode recommandée pour un usage backend dans n8n est l'intégration interne Notion, créée depuis notion.so/my-integrations :
- Cliquez sur « New integration », donnez-lui un nom explicite (« n8n — sync production » plutôt que « Test »), associez-la à votre espace de travail.
- Copiez le secret d'intégration interne (Internal Integration Secret) affiché — c'est le seul moment où il est visible en clair.
- Dans n8n : Credentials → New → Notion API, collez le secret. Aucun flux OAuth2 à gérer pour ce cas d'usage.
Notion propose aussi des credentials OAuth2 côté n8n, utiles quand plusieurs utilisateurs doivent s'authentifier chacun avec leur propre compte — mais seule l'intégration interne (API Access Token) supporte le node Notion Trigger : si votre workflow doit se déclencher sur un changement, partez directement sur l'intégration interne.
L'étape qu'on oublie systématiquement : une intégration ne voit par défaut aucune page. Il faut ouvrir chaque page ou base de données concernée dans Notion, cliquer sur les trois points en haut à droite → Connexions → ajouter l'intégration. Sans ce partage explicite, l'API renvoie une liste vide même avec un token parfaitement valide — la source d'erreur la plus fréquente en début d'intégration.
Les opérations du node Notion
Le node Notion couvre deux ressources principales, chacune avec ses propres opérations :
Ressource Database :
- Get All / Get Many : liste les pages d'une base, avec un système de filtres et de tri qui reflète les filtres natifs de Notion (par propriété, par condition).
- Search : recherche des bases de données accessibles à l'intégration par mot-clé.
Ressource Page (l'équivalent d'une ligne dans une base, ou d'une page libre) :
- Create : crée une page dans une base de données, en mappant chaque propriété (titre, select, date, relation…) sur le schéma attendu par Notion.
- Update : modifie les propriétés d'une page existante à partir de son
pageId. - Get / Get All Blocks : récupère respectivement les propriétés d'une page et le contenu texte réel de son corps — deux choses distinctes qu'on confond souvent. Les propriétés donnent le statut ou la date ; les blocs donnent ce qui est effectivement écrit dans la page.
- Archive : archive une page (l'équivalent d'une suppression réversible côté Notion).
Un point de vigilance sur Create et Update : chaque propriété doit être envoyée dans le format exact attendu par son type Notion (un select attend { name: "Valeur" }, une date attend un objet { start: "2026-07-23" }). Le node n8n simplifie ce mapping, mais une propriété créée après coup côté Notion (un nouveau statut ajouté à un select) n'apparaît qu'après un rafraîchissement du schéma — cliquez sur l'icône de rafraîchissement du champ si une valeur récente manque à la liste déroulante.
Le trigger Notion : du polling, pas un webhook
Le Notion Trigger de n8n interroge périodiquement une base de données surveillée et compare l'horodatage de dernière modification des pages depuis son dernier passage, pour ne déclencher le workflow que sur les pages nouvelles ou modifiées. Deux points à connaître :
- Ce n'est pas un événement push en temps réel : l'API Notion n'expose pas de webhook natif pour ce cas d'usage côté n8n — il faut compter le délai de l'intervalle de polling configuré (une minute au minimum en pratique) avant qu'un changement ne déclenche le workflow.
- Seule l'intégration interne fonctionne : comme mentionné plus haut, un credential OAuth2 ne permet pas d'utiliser ce trigger — n8n refusera de le configurer avec ce type de credential.
Pour détecter un changement de statut précis plutôt que « la page a changé », faites tourner le trigger sur un intervalle court et filtrez ensuite avec un node IF sur la propriété qui vous intéresse.
Limite de débit : 3 requêtes par seconde
L'API Notion limite chaque intégration interne à une moyenne de 3 requêtes par seconde, avec de courtes rafales tolérées au-delà de ce seuil. Un dépassement renvoie un code 429 accompagné d'un en-tête Retry-After indiquant le délai d'attente recommandé. Sur un workflow n8n qui boucle sur un grand nombre de pages (une synchronisation complète, par exemple), ajoutez un nœud Wait court entre chaque appel ou traitez par lots avec Split In Batches — la même logique de respect des quotas que celle décrite dans notre article sur la pagination avec le node HTTP Request.
Exemple concret n°1 : base de données Notion → notification Slack
Un pipeline représentatif pour un suivi de tâches ou de contenu éditorial :
- Notion Trigger surveille une base « Articles » et se déclenche sur toute page modifiée.
- Un node IF filtre sur la propriété
Statut = "Prêt à publier", pour ignorer les autres modifications (relecture en cours, brouillon). - Un node Slack notifie l'équipe éditoriale avec le titre, l'auteur assigné et un lien direct vers la page Notion (
https://notion.so/{pageId}), pour une action immédiate sans changer d'outil.
Exemple concret n°2 : synchroniser Notion vers une base vectorielle pour du RAG
C'est le cas d'usage qui revient le plus souvent pour les équipes qui documentent déjà leurs procédures dans Notion et veulent un assistant qui y réponde :
- Notion Trigger (ou un déclenchement planifié quotidien via Schedule, plus économe en requêtes qu'un polling fréquent) détecte les pages nouvelles ou modifiées dans une base documentaire.
- Le node Notion récupère le contenu complet via Get All Blocks, puis un node Code aplatit la structure de blocs Notion (paragraphes, listes, titres) en texte brut exploitable.
- Le texte est découpé en fragments et transformé en embeddings, puis inséré dans Supabase pgvector avec l'opération Upsert — sur l'identifiant de page Notion comme clé, pour que la mise à jour d'une page existante remplace son embedding plutôt que d'en créer un doublon. Le détail de cette mécanique de vectorisation est couvert dans notre guide Supabase pgvector.
- Un chatbot RAG peut ensuite répondre aux questions de l'équipe en citant la page Notion source — exactement le pipeline packagé dans le workflow sync-notion-base-vectorielle du Pack Assistant RAG.
En résumé
L'intégration interne avec son secret d'API est la méthode d'authentification à privilégier — c'est la seule à supporter le trigger, et il ne faut pas oublier de partager explicitement chaque page ou base avec l'intégration depuis l'interface Notion. Le trigger reste du polling, la limite de 3 requêtes par seconde se gère avec un délai ou un traitement par lots, et la distinction entre propriétés d'une page et contenu de ses blocs est le piège le plus courant en début d'intégration. Pour aller au-delà d'une simple synchronisation et brancher directement Notion sur un assistant documentaire complet (ingestion PDF, chatbot à citations, endpoint API), le Pack Assistant RAG (119 €) livre les quatre workflows déjà assemblés, y compris cette synchronisation Notion vers pgvector prête à importer.
FAQ
Questions fréquentes
Faut-il utiliser OAuth2 ou l'intégration interne pour connecter Notion à n8n ?
Pour un usage backend dans n8n, l'intégration interne (avec son secret d'API) est la bonne option : elle est plus simple à mettre en place et c'est la seule à supporter le node Notion Trigger. Les credentials OAuth2 existent côté n8n mais ne fonctionnent pas avec le trigger — réservez-les à un scénario où plusieurs utilisateurs doivent s'authentifier chacun avec leur propre compte Notion.
Pourquoi mon intégration Notion ne voit-elle aucune page dans n8n ?
Une intégration interne ne voit que les pages et bases de données explicitement partagées avec elle. Ouvrez la page ou la base concernée dans Notion, cliquez sur les trois points en haut à droite, « Connexions », puis ajoutez votre intégration. Sans cette étape, l'API renvoie une liste vide même avec un token valide.
Le trigger Notion de n8n est-il un vrai webhook ?
Non, c'est du polling : n8n interroge périodiquement la base de données surveillée et compare les horodatages de modification depuis le dernier passage. Il n'existe pas d'événement push natif exposé par l'API Notion pour ce cas d'usage — comptez le délai de l'intervalle configuré avant qu'un changement ne déclenche le workflow.
Quelle est la limite de débit de l'API Notion à connaître dans n8n ?
L'API Notion limite une intégration interne à une moyenne de 3 requêtes par seconde, avec de courtes rafales tolérées au-delà. Un dépassement renvoie un code 429 avec un en-tête Retry-After. Sur un workflow qui boucle sur beaucoup de pages, ajoutez un léger délai entre les appels ou traitez par lots avec Split In Batches.
Comment récupérer le contenu texte complet d'une page Notion, pas seulement ses propriétés ?
Les propriétés d'une page (titre, statut, tags) sont différentes de son contenu (les blocs du corps de page). Le node Notion doit utiliser l'opération Get All Blocks (ou une requête récursive sur les blocs enfants) pour récupérer le texte réellement écrit dans la page, propriété par propriété ne suffit pas.
Bundle FlowKit Complet
269 €