À 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
- Bookivox crée une credential
bearer_tokencontenant le jetonsecret_…ountn_…. Le backend l’envoie en en-têteAuthorization: Bearer. - Chaque requête porte l’en-tête
Notion-Version: 2026-03-11, obligatoire : sans lui, Notion répond400. Cette valeur est un en-tête fixe, jamais un secret. - Toutes les requêtes partent vers l’URL de base
https://api.notion.com/v1:/pagesenPOST,/searchenPOST,/usersenGET, et/commentsenPOSTpour commenter comme enGETpour lire. - Un outil
http_apipar action est créé, avecconfig.provider = "notion",config.operationet un timeout de 10 000 ms. - Les résultats sont bornés à 100 éléments par appel (
page_size), avec un curseur (start_cursor) pour la page suivante. - Pour un commentaire, la cible et le texte voyagent dans le corps JSON :
parentavec un seul identifiant, puisrich_textoumarkdown. En lecture,block_idpasse en paramètre de requête et reste obligatoire. - 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
childrenlorsqu’un modèle (template) est utilisé. - 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 :Sécurité
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.
