FlowKit

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.

Par Clément Lacaille (Tech-Bharat) · mis à jour le 11 juillet 2026 · notre méthode

Pack Assistant RAG — 119 €

Ce workflow + 3 autres, JSON validés, guide en français, garantie 14 jours

Voir le pack
Canvas généré depuis l'export JSON livréworkflows/sync-notion-base-vectorielle.json · 9 nodes · n8n
Toutes les nuits à 2h — n8n-nodes-base.scheduleTrigger v1.2Toutes les nuits à …Planification (cron)Pages de la base Notion — n8n-nodes-base.notion v2.2Pages de la base No…NotionPréparer le contenu — n8n-nodes-base.set v3.4Préparer le contenuSet (champs)Boucle — n8n-nodes-base.splitInBatches v3BoucleBoucle (batches)Notifier la fin sur Slack — n8n-nodes-base.slack v2.2Notifier la fin sur…SlackInsérer dans la base vectorielle — @n8n/n8n-nodes-langchain.vectorStoreSupabase v1.1Insérer dans la bas…Base vectorielle Supaba…Chargeur de texte — @n8n/n8n-nodes-langchain.documentDefaultDataLoader v1Chargeur de texteChargeur de documentsDécoupage du texte — @n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter v1Découpage du texteDécoupage de texteEmbeddings OpenAI — @n8n/n8n-nodes-langchain.embeddingsOpenAi v1.2Embeddings OpenAIEmbeddings OpenAI
flux de données sous-node IA3 notes explicatives dans le canvas (non dessinées)
workflows/sync-notion-base-vectorielle.json8,6 Ko · 9 nodes
{
  "name": "FlowKit — Synchronisation Notion → base vectorielle",
  "nodes": [
    {"name": "Toutes les nuits à 2h", "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.2, "position": [-660,0]},
    {"name": "Pages de la base Notion", "type": "n8n-nodes-base.notion", "typeVersion": 2.2, "position": [-440,0]},
    {"name": "Préparer le contenu", "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [-220,0]},
    {"name": "Boucle", "type": "n8n-nodes-base.splitInBatches", "typeVersion": 3, "position": [0,0]},
    {"name": "Notifier la fin sur Slack", "type": "n8n-nodes-base.slack", "typeVersion": 2.2, "position": [220,-160]},
    {"name": "Insérer dans la base vectorielle", "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase", "typeVersion": 1.1, "position": [220,160]},
    // … 3 autres nodes, connections, settings
  ]
}

Extrait réel du fichier livré (structure seulement : paramètres des nodes et prompts font partie du pack payant).

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.