Aller au contenu

Notion Integration

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.

Creez une base de donnees Notion avec ces proprietes :

ProprieteType NotionRequisDescription
projectTitleOuiID du projet (doit correspondre a SESHAT)
dateDateOuiDate de la recherche
hoursNumberOuiEffort en heures
classSelectNonS / A / C (defaut : C)
statusSelectNondraft / reviewed / certified
objectiveRich textNonObjectif de recherche
tagsMulti-selectNonTags thematiques
  1. Acceder aux integrations

    Rendez-vous sur notion.so/my-integrations

  2. Creer l’integration

    Cliquez “New integration”, nommez-la SESHAT, selectionnez votre workspace

  3. Copier le token

    Copiez le token interne (commence par ntn_ ou secret_)

  4. Connecter la base

    Dans votre base Notion, cliquez ... -> “Connections” -> ajoutez SESHAT

Via le wizard :

Fenêtre de terminal
seshat init
# Etape 5/5 : entrez votre token et l'ID de la base

Via l’agent IA :

Configure SESHAT avec ma base Notion https://notion.so/abc123...

Via .env :

Fenêtre de terminal
NOTION_TOKEN=ntn_xxxxxxxxxxxxxxxxxxxx
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...

SESHAT utilise un hashing deterministe pour garantir la reproductibilite des preuves :

  • Les cles JSON sont triees alphabetiquement
  • Les proprietes null (absentes) sont omises (mais "" et 0 sont conserves)
  • Les retours chariot \r\n sont normalises en \n
  • Les identifiants Notion (page ID, block ID) sont exclus du hash

Chaque projet stocke un notion_last_sync timestamp. Lors de la certification :

  1. SESHAT interroge l’API Notion avec un filtre last_edited_time > notion_last_sync
  2. Seules les pages modifiees depuis la derniere sync sont recuperees
  3. Apres certification, le timestamp est mis a jour

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

Apres configuration, verifiez avec l’outil status :

Check SESHAT status
{
"notion": {
"status": "connected",
"bot_name": "SESHAT"
}
}
  1. Verifier la connexion

    Check SESHAT status

    Verifiez que notion.status est connected.

  2. Preview (dry run)

    Certify research for "mon-projet" with dry_run enabled

    Revoyez les notes qui seront certifiees.

  3. Certifier

    Certify research for "mon-projet"

    Les notes Obsidian ET Notion sont scannees et certifiees.

notion.status = disconnected
  • Verifiez que NOTION_TOKEN est correct (commence par ntn_ ou secret_)
  • Verifiez que l’integration est connectee a la base de donnees
  • Testez avec seshat status en CLI
0 notes certifiees depuis Notion
  • Verifiez que la propriete project (Title) correspond exactement a l’ID du projet SESHAT
  • Verifiez que status n’est pas draft
  • Verifiez que notion_database_id est 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.