Skip to main content

À quoi ça sert

L’intégration Notion relie votre espace de travail à vos agents vocaux. Pendant l’appel, l’agent peut créer une page ou une ligne de base de données, chercher un contenu, lister les membres visibles par l’intégration, commenter une page ou lire les commentaires d’une page ou d’un bloc. Comme pour les autres intégrations, vous branchez votre propre espace : Bookivox ne fournit aucun identifiant. Vous créez une intégration interne dans Notion, copiez son jeton, puis cochez les actions à exposer.
Cette intégration écrit réellement dans Notion : une page créée et un commentaire ajouté apparaissent dans votre espace. Elle ne voit que les pages partagées explicitement avec l’intégration. Le client fournit sa propre clé ; Bookivox ne fournit aucun identifiant.

Ce qu’il faut préparer

Le jeton ne suffit pas : une intégration Notion ne voit que ce qu’on lui partage. Pensez à partager la base ou la page cible avec l’intégration, sinon create_page échoue et search reste vide. Les commentaires demandent deux autorisations distinctes en plus du partage : « Read comments » pour les lire, « Insert comments » pour en ajouter.

Connecter Notion

1

Créer l'intégration interne

Dans Notion, ouvrez Paramètres → Connexions → Développer ou gérer les intégrations et créez une intégration interne dédiée à Bookivox.
2

Copier le jeton

Copiez le jeton d’intégration : il commence par secret_ ou ntn_ et n’est affiché qu’une fois.
3

Activer les capacités utiles

Dans l’onglet Capabilities de l’intégration, cochez Read comments et Insert comments si vous voulez exposer les actions de commentaire.
4

Partager les pages et bases

Dans Notion, ouvrez chaque page ou base à rendre accessible et invitez l’intégration via le menu de partage.
5

Saisir la clé

Dans Intégrations → Notion, collez le jeton. Le formulaire vérifie le préfixe avant l’enregistrement.
6

Cocher les actions

Sélectionnez les actions à exposer. Chacune devient un outil indépendant.
7

Vérifier la connexion

Cliquez sur Créer les outils. Un bandeau vert confirme la création et indique le nombre d’outils créés. Le jeton disparaît du formulaire : il reste chiffré et n’est plus jamais réaffiché.
8

Compléter la connexion

La carte Connexions Notion liste les espaces reliés à l’organisation avec leur état (Complète ou Partielle). Le bouton Créer ajoute une action manquante sans ressaisir le jeton.

Ce que l’agent peut faire

Chaque action crée un outil distinct : vous pouvez n’en activer qu’une partie, et n’attacher à un agent que celles dont il a besoin.
Pour créer une page, parent désigne soit une ligne de base de données (data_source_id), soit une sous-page (page_id). La clé de properties doit correspondre exactement au nom de la propriété du parent.Pour commenter, parent accepte page_id ou block_id, et le contenu passe soit par rich_text, soit par markdown, jamais les deux. Pour lire les commentaires, block_id est obligatoire et voyage en paramètre de requête.
Travailler avec une base de données. Une base se travaille aujourd’hui en deux gestes : ajouter une ligne (create_page avec parent.data_source_id) et retrouver une ligne (search renvoie les pages — lignes comprises — dont le titre correspond, avec leurs propriétés). En revanche, interroger une base (filtrer sur une propriété, trier, lire toutes les lignes) et modifier une ligne existante ne sont pas exposés : ces routes portent l’identifiant de la base ou de la ligne dans le chemin de l’URL, et l’outil HTTP envoie l’URL telle quelle. Pour un besoin de lecture, comptez sur la recherche par mot-clé et sur les propriétés qu’elle renvoie.

Cas d’usage

Comment ça marche

  1. Bookivox crée une credential bearer_token contenant le jeton secret_… ou ntn_…. Le backend l’envoie en en-tête Authorization: Bearer.
  2. Chaque requête porte l’en-tête Notion-Version: 2026-03-11, obligatoire : sans lui, Notion répond 400. Cette valeur est un en-tête fixe, jamais un secret.
  3. Toutes les requêtes partent vers l’URL de base https://api.notion.com/v1 : /pages en POST, /search en POST, /users en GET, et /comments en POST pour commenter comme en GET pour lire.
  4. Un outil http_api par action est créé, avec config.provider = "notion", config.operation et un timeout de 10 000 ms.
  5. Les résultats sont bornés à 100 éléments par appel (page_size), avec un curseur (start_cursor) pour la page suivante.
  6. Pour un commentaire, la cible et le texte voyagent dans le corps JSON : parent avec un seul identifiant, puis rich_text ou markdown. En lecture, block_id passe en paramètre de requête et reste obligatoire.
  7. Notion limite le débit à environ 3 requêtes par seconde par intégration et plafonne chaque bloc de texte enrichi à 2 000 caractères. Notion refuse aussi children lorsqu’un modèle (template) est utilisé.
  8. Seuls les endpoints de collection sont exposés : l’URL de l’outil est envoyée telle quelle, donc les chemins avec identifiant (/v1/pages/{id} et /v1/data_sources/{id}/query) ne sont pas accessibles. Conséquence sur les bases : créer une ligne et la retrouver par mot-clé sont possibles ; interroger la base par propriété et modifier une ligne existante ne le sont pas.

Rédiger la description de l’outil

La description de l’outil est ce qui décide quand l’agent appelle Notion. Rédigez-la comme une consigne :
Si vous exposez Créer une page et Rechercher au même agent, précisez dans le prompt de chercher d’abord avant de créer, et surtout indiquez la base ou la page cible attendue : sans cette précision, l’agent peut créer une page au mauvais endroit.Si vous exposez aussi les commentaires, distinguez-les explicitement de la création : une page crée une entrée, un commentaire s’ajoute à une page existante. Sans cette consigne, l’agent peut ouvrir une page pour y laisser un simple mot.

Sécurité

Créez une intégration interne dédiée à Bookivox et révoquez son jeton en cas de doute depuis Notion. Un jeton partagé avec un autre usage ne peut pas être révoqué sans interrompre cet autre usage.

Ce qui est déconseillé

Limites et dépannage

Notion n’est pas relié ici par un serveur MCP : chaque action est un outil HTTP distinct, ce qui permet à l’agent de choisir précisément une action plutôt que d’appeler un serveur générique.

Intégrations

Toutes les intégrations et les catégories d’outils.

API HTTP

Comprendre les outils HTTP : paramètres, presets, credentials.
Last modified on November 3, 2026