FlowKitVoir les packs

Template n8n · Pack Assistant RAG

Synchroniser Notion vers une base vectorielle avec n8n

Votre documentation vit dans Notion ? Ce workflow l'indexe automatiquement : chaque nuit à 2 h, il parcourt une base Notion, découpe et vectorise le contenu, puis met la base vectorielle à jour — votre chatbot RAG reste synchrone avec la vérité du moment.

Pipelinesync-notion-base-vectorielle.json · 9 nodes
  1. Toutes les nuits à 2htriggerPlanification (cron)
  2. Pages de la base NotionNotion
  3. Préparer le contenuSet (champs)
  4. BoucleBoucle (batches)
  5. Insérer dans la base vectorielleBase vectorielle Supabase
  6. Notifier la fin sur SlackSlack

Sous-nodes IA rattachés

  • Chargeur de texteChargeur de documents
  • Découpage du texteDécoupage de texte
  • Embeddings OpenAIEmbeddings OpenAI

Le problème que ça règle

Le pire défaut d'un assistant documentaire est de répondre juste... sur une version périmée. Une base vectorielle remplie une fois se dégrade en silence, à mesure que la documentation évolue dans Notion.

En planifiant l'indexation la nuit, la fraîcheur devient une propriété du système : personne n'a besoin d'y penser. Le traitement page par page (boucle) évite les timeouts sur les grosses bases et trace chaque insertion.

Comment le workflow fonctionne, node par node

  1. 01

    Toutes les nuits à 2h

    Planification (cron)

    Cron 0 2 * * * : la synchronisation tourne pendant les heures creuses. Rapprochez la fréquence si votre documentation bouge plusieurs fois par jour.

  2. 02

    Pages de la base Notion

    Notion

    Liste toutes les pages de la base Notion visée (databasePage getAll). L'intégration Notion doit avoir été invitée sur cette base.

  3. 03

    Préparer le contenu

    Set (champs)

    Construit pour chaque page un champ content (titre et propriétés) et un champ source (URL de la page) qui deviendra la citation du chatbot.

  4. 04

    Boucle

    Boucle (batches)

    Traite les pages une par une : chaque itération vectorise une page, et la sortie « done » ne se déclenche qu'une fois la base entière parcourue.

  5. 05

    Insérer dans la base vectorielle

    Base vectorielle Supabase

    Mode insert vers la table documents partagée avec les autres workflows du pack : Notion et PDF cohabitent dans le même index.

  6. 06

    Chargeur de texte

    Chargeur de documents

    Sous-node ai_document en mode JSON : charge le champ content et attache la métadonnée source pour les citations.

  7. 07

    Découpage du texte

    Découpage de texte

    Fragments de 1 000 caractères, chevauchement 150 — mêmes réglages que l'ingestion PDF pour un index homogène.

  8. 08

    Embeddings OpenAI

    Embeddings OpenAI

    text-embedding-3-small, identique aux autres workflows du pack : un seul espace vectoriel pour tout le corpus.

  9. 09

    Notifier la fin sur Slack

    Slack

    Branche « done » de la boucle : un message confirme la synchronisation complète — l'absence de message un matin vous alerte d'un problème.

Ce qu'il faut pour le faire tourner

  • n8n ≥ 1.60 avec les nodes LangChain
  • Une intégration Notion invitée sur la base à synchroniser
  • Un projet Supabase pgvector (table documents + match_documents, SQL dans le guide)
  • Une clé API OpenAI et un bot Slack pour la notification

Pistes de personnalisation

  • Purger puis réindexer les pages modifiées seulement, en filtrant sur last_edited_time de Notion
  • Récupérer le corps complet des pages (blocs) via un node Notion supplémentaire si vos contenus dépassent les propriétés
  • Synchroniser plusieurs bases Notion en dupliquant le node source et en fusionnant les items

FAQ

Questions fréquentes

Comment importer ce template dans n8n ?

Importez sync-notion-base-vectorielle.json via « Import from File », créez le credential Notion (jeton d'intégration interne), renseignez l'identifiant de votre base dans le node Notion, associez Supabase, OpenAI et Slack, puis activez.

Les pages supprimées de Notion disparaissent-elles de l'index ?

Pas automatiquement dans la version fournie : l'insertion est additive. Le guide propose une variante avec purge préalable des fragments d'une source avant réindexation — recommandée si vos contenus changent souvent.

Combien de temps prend une synchronisation ?

Comptez une à deux secondes par page (appel d'embeddings inclus). Une base de 200 pages se synchronise en 5 minutes environ, la nuit, sans impact sur vos exécutions de journée.