> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Boîte à outils Notion

> Recherchez, lisez, créez, mettez à jour et ajoutez du contenu aux pages et bases de données Notion depuis vos agents et workflows.

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

<Tabs>
  <Tab title="Workflow Builder">
    1. Dans le workflow, ajoutez une étape de boîte à outils Notion.
    2. Cliquez sur **Connect with Notion**.
    3. Autorisez la connexion sur l'écran de consentement Notion et sélectionnez les pages et bases de données auxquelles accorder l'accès.
  </Tab>

  <Tab title="Agent Builder">
    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.
  </Tab>
</Tabs>

<Note>
  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.
</Note>

## 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`.

<Note>
  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.
</Note>

***

### 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 » :

```json theme={null}
{
  "property": "Status",
  "select": { "equals": "In Progress" }
}
```

Filtre par case à cocher :

```json theme={null}
{
  "property": "Done",
  "checkbox": { "equals": false }
}
```

Filtre par date — enregistrements avec une Due Date antérieure à une date spécifique :

```json theme={null}
{
  "property": "Due Date",
  "date": { "before": "2026-05-26" }
}
```

Filtre combiné avec logique AND :

```json theme={null}
{
  "and": [
    { "property": "Status", "select": { "equals": "In Progress" } },
    { "property": "Done", "checkbox": { "equals": false } }
  ]
}
```

Tri — du plus récent au plus ancien :

```json theme={null}
[
  { "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 :**

```json theme={null}
// 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 :

```json theme={null}
{
  "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 :**

```json theme={null}
{
  "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 :**

1. Utilisez Query Database pour trouver l'enregistrement et obtenir son `id`
2. 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 :**

```json theme={null}
[
  {
    "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 :**

```json theme={null}
[
  {
    "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](/tools/notion-oauth-setup)                                        |
