Notion Integration
Overview
Section intitulée « Overview »Depuis v0.5.0, SESHAT peut scanner vos bases de donnees Notion en plus (ou a la place) de votre vault Obsidian. Les notes sont hashees de maniere canonique et attestees sur la blockchain, exactement comme pour Obsidian.
Schema de la base Notion
Section intitulée « Schema de la base Notion »Creez une base de donnees Notion avec ces proprietes :
| Propriete | Type Notion | Requis | Description |
|---|---|---|---|
project | Title | Oui | ID du projet (doit correspondre a SESHAT) |
date | Date | Oui | Date de la recherche |
hours | Number | Oui | Effort en heures |
class | Select | Non | S / A / C (defaut : C) |
status | Select | Non | draft / reviewed / certified |
objective | Rich text | Non | Objectif de recherche |
tags | Multi-select | Non | Tags thematiques |
Configuration
Section intitulée « Configuration »1. Creer une integration Notion
Section intitulée « 1. Creer une integration Notion »-
Acceder aux integrations
Rendez-vous sur notion.so/my-integrations
-
Creer l’integration
Cliquez “New integration”, nommez-la SESHAT, selectionnez votre workspace
-
Copier le token
Copiez le token interne (commence par
ntn_ousecret_) -
Connecter la base
Dans votre base Notion, cliquez
...-> “Connections” -> ajoutez SESHAT
2. Configurer SESHAT
Section intitulée « 2. Configurer SESHAT »Via le wizard :
seshat init# Etape 5/5 : entrez votre token et l'ID de la baseVia l’agent IA :
Configure SESHAT avec ma base Notion https://notion.so/abc123...Via .env :
NOTION_TOKEN=ntn_xxxxxxxxxxxxxxxxxxxx3. Associer la base a un projet
Section intitulée « 3. Associer la base a un projet »Ajoute le projet "mon-projet" avec notion_database_id "abc123..."L’ID de la base accepte trois formats :
- UUID :
abcdef12-3456-7890-abcd-ef1234567890 - Hex brut :
abcdef1234567890abcdef1234567890 - URL Notion :
https://notion.so/workspace/abcdef1234567890...
Hashing canonique
Section intitulée « Hashing canonique »SESHAT utilise un hashing deterministe pour garantir la reproductibilite des preuves :
- Les cles JSON sont triees alphabetiquement
- Les proprietes
null(absentes) sont omises (mais""et0sont conserves) - Les retours chariot
\r\nsont normalises en\n - Les identifiants Notion (page ID, block ID) sont exclus du hash
Synchronisation incrementale
Section intitulée « Synchronisation incrementale »Chaque projet stocke un notion_last_sync timestamp. Lors de la certification :
- SESHAT interroge l’API Notion avec un filtre
last_edited_time > notion_last_sync - Seules les pages modifiees depuis la derniere sync sont recuperees
- Apres certification, le timestamp est mis a jour
Rate limiting
Section intitulée « Rate limiting »L’API Notion est limitee a 3 requetes/seconde. SESHAT gere automatiquement :
- Espacement de 334ms entre chaque appel
- Retry automatique sur erreur 429 (rate limit)
- Pagination transparente pour les grandes bases
Verification
Section intitulée « Verification »Apres configuration, verifiez avec l’outil status :
Check SESHAT status{ "notion": { "status": "connected", "bot_name": "SESHAT" }}Workflow complet
Section intitulée « Workflow complet »-
Verifier la connexion
Check SESHAT statusVerifiez que
notion.statusestconnected. -
Preview (dry run)
Certify research for "mon-projet" with dry_run enabledRevoyez les notes qui seront certifiees.
-
Certifier
Certify research for "mon-projet"Les notes Obsidian ET Notion sont scannees et certifiees.
Troubleshooting
Section intitulée « Troubleshooting »notion.status = disconnected
- Verifiez que
NOTION_TOKENest correct (commence parntn_ousecret_) - Verifiez que l’integration est connectee a la base de donnees
- Testez avec
seshat statusen CLI
0 notes certifiees depuis Notion
- Verifiez que la propriete
project(Title) correspond exactement a l’ID du projet SESHAT - Verifiez que
statusn’est pasdraft - Verifiez que
notion_database_idest configure sur le projet
Rate limit errors
SESHAT gere automatiquement le rate limiting. Si vous voyez des erreurs 429, c’est qu’un autre processus utilise le meme token simultanement.