La boîte à outils Notion permet aux agents et workflows d’interagir avec les pages et bases de données Notion. Elle prend en charge la recherche de contenu, la requête et la mise à jour d’enregistrements de bases de données, la lecture et l’ajout de contenu de pages, ainsi que la création de nouvelles pages.
Prérequis
- Un compte Notion (le plan gratuit suffit)
- Un espace de travail Notion (chaque en dispose un par défaut)
Création d’une connexion
Workflow Builder
Agent Builder
- Dans le workflow, ajoutez une étape de boîte à outils Notion.
- Cliquez sur Connect with Notion.
- Autorisez la connexion sur l’écran de consentement Notion et sélectionnez les pages et bases de données auxquelles accorder l’accès.
Dans le chat, vous serez invité à vous connecter à votre compte Notion via OAuth lorsque la boîte à outils sera invoquée pour la première fois.
La boîte à outils ne peut accéder qu’aux pages et bases de données qui ont été explicitement partagées avec la connexion. Pour partager du contenu, ouvrez la page ou la base de données dans Notion, cliquez sur ··· → Connections, et ajoutez votre intégration. Le contenu du même espace de travail qui n’a pas été partagé n’est pas visible.
Outils disponibles
| Outil | Description |
|---|
| Search | Recherche parmi toutes les pages et bases de données partagées par titre |
| List Databases | Retourne toutes les bases de données auxquelles la connexion peut accéder |
| Get Database | Retourne le schéma (noms de colonnes et types) d’une base de données spécifique |
| Query Database | Récupère des enregistrements d’une base de données avec filtres et tri optionnels |
| Get Page | Récupère les valeurs des propriétés et les métadonnées d’une page ou d’un enregistrement de base de données |
| Create Page | Crée un nouvel enregistrement de base de données ou une sous-page |
| Update Page | Met à jour les propriétés d’une page existante ou l’archive |
| Get Page Content | Lit le texte du corps (blocs de contenu) d’une page |
| Append Content | Ajoute de nouveaux blocs de contenu en bas de page |
Search
Recherche parmi toutes les pages et bases de données partagées, retourne les correspondances par titre.
Entrées principales :
| Entrée | Description |
|---|
| Query | Le texte à rechercher |
| Filter Type | Optionnellement restreindre à page ou database. Laisser vide pour rechercher les deux. |
| Page Size | Nombre de résultats à retourner (par défaut : 10, max : 100) |
Référencement des résultats dans les étapes suivantes :
- ID du premier résultat :
{{ step.output.results[0].id }}
Exemple de cas d’utilisation : Avant de créer un nouvel enregistrement client, recherchez par le nom du client. Si count est supérieur à 0, le client existe déjà — utilisez l’id de l’enregistrement existant au lieu de créer un doublon.
Actions sur les bases de données
List Databases
Retourne toutes les bases de données auxquelles la connexion peut accéder, avec leurs noms et IDs.
Entrées principales :
| Entrée | Description |
|---|
| Page Size | Nombre de bases de données à retourner (par défaut : 20, max : 100) |
Quand l’utiliser : Exécutez-le une seule fois dans un workflow de test pour découvrir vos IDs de bases de données. Copiez l’id de la base de données souhaitée et codez-le en dur dans les étapes suivantes.
Get Database
Retourne le schéma d’une base de données spécifique — ses noms de colonnes et types de propriétés.
Entrées principales :
| Entrée | Description |
|---|
| Database ID | L’ID de la base de données — obtenu via List Databases, ou dans l’URL Notion : le segment précédant ?v= |
Quand l’utiliser : Exécutez-le avant de rédiger les étapes Create Page ou Update Page. Il indique les noms exacts des propriétés (sensible à la casse) et leurs types, ce qui détermine le format JSON à utiliser dans le champ Properties.
Get Database affiche les types et noms des propriétés mais pas les valeurs d’options disponibles pour les champs Select. Pour voir les options de sélection valides, ouvrez directement la base de données dans Notion.
Query Database
Récupère des enregistrements d’une base de données avec filtrage et tri optionnels.
Entrées principales :
| Entrée | Description |
|---|
| Database ID | La base de données à interroger |
| Filter | Un objet filtre JSON (voir les exemples ci-dessous). Laisser vide pour retourner tous les enregistrements. |
| Sorts | Un tableau JSON de règles de tri (voir les exemples ci-dessous) |
| Page Size | Nombre d’enregistrements à retourner (par défaut : 20, max : 100) |
Exemples de filtres :
Filtre simple — enregistrements où Status égale « In Progress » :
{
"property": "Status",
"select": { "equals": "In Progress" }
}
Filtre par case à cocher :
{
"property": "Done",
"checkbox": { "equals": false }
}
Filtre par date — enregistrements avec une Due Date antérieure à une date spécifique :
{
"property": "Due Date",
"date": { "before": "2026-05-26" }
}
Filtre combiné avec logique AND :
{
"and": [
{ "property": "Status", "select": { "equals": "In Progress" } },
{ "property": "Done", "checkbox": { "equals": false } }
]
}
Tri — du plus récent au plus ancien :
[
{ "property": "Created time", "direction": "descending" }
]
Référencement des résultats dans les étapes suivantes :
- ID du premier résultat :
{{ step.output.results[0].id }}
- Status du premier résultat :
{{ step.output.results[0].properties.Status }}
- Titre du premier résultat :
{{ step.output.results[0].title }}
Actions sur les pages
Get Page
Récupère les valeurs des propriétés et les métadonnées d’une page ou d’un enregistrement de base de données spécifique.
Entrées principales :
| Entrée | Description |
|---|
| Page ID | L’ID de la page — obtenu depuis l’URL Notion, ou depuis les résultats de Query Database ou Search |
Référencement des valeurs dans les étapes suivantes :
- Status :
{{ step.output.page.properties.Status }}
- Titre :
{{ step.output.page.title }}
- ID de la page :
{{ step.output.page.id }}
Exemple de cas d’utilisation : Un déclencheur se déclenche avec un ID de page. Utilisez Get Page pour lire le Status actuel de l’enregistrement. Si Status est « Pending », continuez le workflow — sinon, arrêtez-vous.
Create Page
Crée une nouvelle page — soit comme enregistrement dans une base de données (nouvelle ligne), soit comme sous-page sous une autre page.
Entrées principales :
| Entrée | Description |
|---|
| Parent ID | L’ID de la base de données (pour une nouvelle ligne) ou l’ID de page (pour une sous-page) |
| Parent Type | database_id pour ajouter une ligne de base de données, page_id pour ajouter une sous-page. Par défaut : database_id |
| Title | Le titre de la page ou de l’enregistrement en texte brut |
| Properties | Objet JSON optionnel pour des valeurs de champs supplémentaires. Les clés doivent correspondre exactement aux noms de propriétés de votre base de données — utilisez Get Database pour les confirmer. |
Format des propriétés par type de champ :
// Champ Select
{ "Status": { "select": { "name": "To Do" } } }
// Champ Status (type Status intégré de Notion)
{ "Status": { "status": { "name": "In Progress" } } }
// Champ Date
{ "Due Date": { "date": { "start": "2026-06-01" } } }
// Champ Checkbox
{ "Done": { "checkbox": false } }
// Champ Number
{ "Priority Score": { "number": 8 } }
// Champ Rich Text
{ "Notes": { "rich_text": [{ "text": { "content": "Needs review before sending." } }] } }
Exemple complet — création d’une ligne de tâche :
Titre : Follow up with client
Propriétés :
{
"Status": { "select": { "name": "To Do" } },
"Due Date": { "date": { "start": "2026-06-01" } },
"Done": { "checkbox": false }
}
L’id retourné peut être transmis aux étapes suivantes pour mettre à jour ou référencer la nouvelle page.
Update Page
Met à jour les propriétés d’une page existante ou l’archive.
Entrées principales :
| Entrée | Description |
|---|
| Page ID | La page à mettre à jour — obtenue via Query Database, Get Page ou Search |
| Properties | Objet JSON contenant uniquement les champs à modifier (même format que Create Page). Les champs non inclus restent inchangés. |
| Archived | Définir sur true pour archiver (suppression logique) la page |
Exemple — marquer une tâche comme terminée :
{
"Status": { "select": { "name": "Done" } },
"Done": { "checkbox": true },
"Completed On": { "date": { "start": "2026-05-26" } }
}
Exemple — archiver un enregistrement : Laissez Properties vide et définissez Archived sur true. L’enregistrement disparaît de la vue de la base de données mais peut être restauré depuis la corbeille de Notion.
Schéma typique :
- Utilisez Query Database pour trouver l’enregistrement et obtenir son
id
- Transmettez cet
id à Update Page pour modifier ses champs
Actions de contenu
Get Page Content
Récupère les blocs de contenu à l’intérieur d’une page Notion — paragraphes, titres, listes à puces, etc. Ceci est distinct des propriétés de la page (champs de la base de données). Utilisez cet outil pour lire le texte du corps d’un document.
Entrées principales :
| Entrée | Description |
|---|
| Page ID | La page dont on souhaite lire le contenu |
| Page Size | Nombre de blocs à retourner (par défaut : 50, max : 100) |
Référencement des valeurs dans les étapes suivantes :
- Texte du premier bloc :
{{ step.output.blocks[0].text }}
- Tous les blocs :
{{ step.output.blocks }}
Exemple de cas d’utilisation : Récupérez le contenu de la page, transmettez tous les bloces de texte à une étape IA pour générer un résumé, puis envoyez ce résumé par e-mail ou via Telegram.
Append Content
Ajoute de nouveaux blocs de contenu en bas d’une page Notion existante.
Entrées principales :
| Entrée | Description |
|---|
| Page ID | La page à laquelle ajouter du contenu |
| Children | Un tableau JSON d’objets bloc Notion à ajouter |
Exemple — ajout d’un titre et d’un paragraphe :
[
{
"object": "block",
"type": "heading_2",
"heading_2": {
"rich_text": [{ "type": "text", "text": { "content": "Workflow Run — May 26" } }]
}
},
{
"object": "block",
"type": "paragraph",
"paragraph": {
"rich_text": [{ "type": "text", "text": { "content": "3 records processed. 1 error found." } }]
}
}
]
Exemple — ajout d’un élément de liste à puces :
[
{
"object": "block",
"type": "bulleted_list_item",
"bulleted_list_item": {
"rich_text": [{ "type": "text", "text": { "content": "New lead: Jane Doe — jane@example.com" } }]
}
}
]
Exemple de cas d’utilisation : Un workflow s’exécute chaque matin, traite les données et ajoute une ligne de journal à une page « Journal quotidien » — construisant ainsi un historique d’audit continu sans créer une nouvelle page à chaque fois.
Dépannage
| Symptôme | Cause probable | Solution |
|---|
401 Unauthorized | Token révoqué ou manquant | Réautorisez via le flux OAuth |
404 Not Found sur page ou base de données | Contenu non partagé avec la connexion | Partagez la page via ··· → Connections |
| Résultats de recherche ou de requête vides | Rien de partagé avec la connexion | Partagez au moins une page ou une base de données |
| Mise à jour de propriété silencieusement ignorée | Incohérence de casse du nom de propriété | Utilisez Get Database pour confirmer les noms exacts des propriétés — ils sont sensibles à la casse |
Erreur oauth_not_configured | Client ID/secret non enregistré dans Super Admin | Voir Configuration OAuth Notion |