feat(agent): v4.11.1 - branche entrées IA sur le FlowDeck Agent (Ask AI, AI meeting note, bouton flottant)
FlowDeck CI / test (push) Failing after 8s
FlowDeck CI / docker (push) Skipped

This commit is contained in:
2026-09-05 21:49:42 -04:00
parent 34368a4946
commit 9ba3480d4e
7 changed files with 475 additions and 7 deletions
+23
View File
@@ -1,5 +1,28 @@
# Changelog — FlowDeck
## v4.11.1 (2026-09-05) — Correction & intégration des points d'entrée IA
> Aligne les entrées AI de l'interface sur le FlowDeck Agent (alignement Guide Notion AI) et corrige
> les trois boutons qui ne fonctionnaient pas : **Ask AI**, **AI meeting note** (toolbar « Get
> started » de l'éditeur de page) et le **bouton rond flottant FlowDeck Agent** (coin bas-droit).
### Fix
- **Bouton flottant Agent 🤖 (coin bas-droit)** : le chat restait inerte tant qu'aucune conversation
n'existait (`send()` retournait silencieusement sans `currentConv`). Ajout d'une création de
conversation **lazy** (`ensureConversation()`) effectuée avant chaque envoi — la 1ère saisie crée
la conversation puis l'exécute (mode offline ou LLM réel).
- **« Ask AI » & « AI meeting note »** : ne faisaient qu'insérer du texte placeholder
(« Ask AI to write... » / « AI Meeting Note ») sans aucun appel IA. Ils déclenchent désormais une
**génération inline réelle** via le FlowDeck Agent :
- méthodes `askAI()` / `meetingNote()` / `aiRun()` / `applyAIBlocks()` sur l'éditeur de page ;
- un prompt contextuel est envoyé au panneau agent (exposition d'`window.fdAgent.ask`) ;
- la réponse (`event final` du flux SSE) est **insérée automatiquement dans la page** sous forme
de blocs édités (hook `window.__fdInsertAI`).
- Un état `aiBusy` évite les doubles envois pendant la génération.
### Infra
- `VERSION` → 4.11.1.
## v4.11.0 (2026-09-05) — Agent IA : clés API par utilisateur & chargement dynamique des modèles
> Suite de v4.10.1 : migre la config LLM d'un **global admin** vers des **credentials par
+1 -1
View File
@@ -1 +1 @@
4.11.0
4.11.1
+1 -1
View File
@@ -60,7 +60,7 @@ async def lifespan(_app: FastAPI):
app = FastAPI(
title="FlowDeck",
version="4.11.0",
version="4.11.1",
docs_url="/docs" if settings.log_level == "DEBUG" else None,
redoc_url=None,
lifespan=lifespan,
+2 -2
View File
@@ -509,13 +509,13 @@
<span class="gs-label">Get started with</span>
<button
class="gs-pill"
@click="replaceBlock(0, 'paragraph');blocks[0].content='Ask AI to write...';render()"
@click="askAI()"
>
<span class="gs-icon">{{ fd_icon("sparkles",14) }}</span> Ask AI
</button>
<button
class="gs-pill"
@click="replaceBlock(0, 'heading_1');blocks[0].content='AI Meeting Note';render()"
@click="meetingNote()"
>
<span class="gs-icon">{{ fd_icon('edit',14) }}</span> AI meeting note
</button>
+31
View File
@@ -289,6 +289,7 @@
updatedAt:'{{ page.get("updated_at", "") }}',
fmt:{open:false,top:0,left:0,idx:-1},
shareOpen:false,moreOpen:false,gsMoreOpen:false,accessMenuOpen:false,exportOpen:false,
aiBusy:false,
moveOpen:false,moveWorkspaces:[],moveLoading:false,
activityOpen:false,pageCreated:'{{ page.get("created_at", "") }}',
shareTab:'share',favorited:false,
@@ -391,6 +392,36 @@
addAfter(idx,type){return this.addAt(idx+1,type);},
removeBlock(idx){this.sync();if(this.blocks.length<=1){this.blocks[0]=this.mkB('paragraph','');}else{this.blocks.splice(idx,1);}const fi=Math.min(idx,this.blocks.length-1);this.render();this.dirty=true;this.autoSave();setTimeout(()=>{const el=this.getEl(this.blocks[fi]?.id);if(el){el.focus();ce(el);}},60);},
// ── v4.11.1: Inline AI — "Ask AI" & "AI meeting note" (Get started) ──
// Wire the contextual get-started actions into the FlowDeck Agent
// (Notion-style inline generation). The reply is streamed in the agent
// panel and inserted into this page via window.__fdInsertAI.
askAI(){
const title=(this.pageTitle||'Sans titre').trim();
this.aiRun('Rédige le contenu de la page FlowDeck intitulée « '+title+' ». Fournis un texte structuré et directement utilisable : paragraphes et, si utile, des listes à puces. Sépare chaque paragraphe par une ligne vide. Ne précède pas le texte de commentaires.');
},
meetingNote(){
this.aiRun('Crée le squelette d\'une « AI meeting note » FlowDeck : une ligne d\'en-tête avec la date et les participants, puis les sections « Résumé », « Décisions » et « Action items » avec des exemples réalistes. Sépare chaque bloc/paragraphe par une ligne vide.');
},
aiRun(prompt){
const self=this;
if(self.aiBusy) return;
if(!(window.fdAgent && window.fdAgent.ask)){ self.showToast('Agent IA indisponible — configurez-le dans Paramètres → Agent & IA'); return; }
self.aiBusy=true;
window.__fdInsertAI = function(content){ window.__fdInsertAI=null; self.aiBusy=false; self.applyAIBlocks(content); };
self.showToast('FlowDeck Agent : génération en cours…');
window.fdAgent.ask(prompt);
},
applyAIBlocks(text){
const lines=(text||'').split(/\r?\n/).map(function(s){return s.trim();}).filter(Boolean);
if(!lines.length) return;
this.sync();
const startEmpty=this.blocks.length===1 && this.blocks[0].type==='paragraph' && !(this.blocks[0].content||'').trim();
const nb=lines.map(l=>this.mkB('paragraph',l));
this.blocks = startEmpty ? nb : this.blocks.concat(nb);
this.dirty=true; this.autoSave(); this.render();
},
toggleFavorite(){
const csrf=document.cookie.match(/csrf_token=([^;]+)/);
const m=this.favorited?'DELETE':'POST';
+42 -3
View File
@@ -135,6 +135,17 @@
});
this.fetchProviders();
this.fetchAgents();
// Programmatic entry point used by the page editor ("Ask AI",
// "AI meeting note") and any global UI: open the panel and run a prompt.
window.fdAgent = window.fdAgent || {};
window.fdAgent.ask = function(text){
var t = (text || '').trim();
if(!t) return;
self.openAgent();
self.input = t;
setTimeout(function(){ self.send(); }, 60);
};
},
fetchProviders(){
@@ -202,6 +213,30 @@
self.messages = []; self.errorMsg=''; self.tab='chat';
}).catch(function(){});
},
ensureConversation(){
// Make the chat usable immediately: reuse the open conversation or
// create one lazily so sending never silently no-ops (empty state).
var self = this;
if(self.currentConv && self.currentConv.id) return Promise.resolve(self.currentConv);
if(self._ensuring) return self._ensuring;
var body = {title:'New conversation'};
if(self.llmProvider) body.provider = self.llmProvider;
if(self.llmModel) body.model = self.llmModel;
self._ensuring = fetch('/api/agent/conversations', {
method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(body)
}).then(function(r){return r.json()}).then(function(d){
var conv = {id:d.id, title:d.title, updated_at:new Date().toISOString()};
self.conversations.unshift(conv); self.currentConv = conv;
self.messages = []; self.errorMsg=''; self.tab='chat';
self._ensuring = null;
return conv;
}).catch(function(err){
self._ensuring = null;
self.errorMsg = (err && err.message) ? err.message : 'Impossible de créer la conversation';
throw err;
});
return self._ensuring;
},
openAgent(){ this.open=true; this.loadConversations(); },
close(){ this.open=false; },
get commandOpen(){ return /^\s*\//.test(this.input) && !this.streaming; },
@@ -292,12 +327,13 @@
}
return false;
},
send(){
async send(){
var self = this;
if(!self.currentConv || self.streaming) return;
var text = self.input.trim();
if(self.streaming) return;
var text = (self.input || '').trim();
if(!text) return;
if(self.commandOpen && self.handleCommand(text)){ self.input=''; return; }
try { await self.ensureConversation(); } catch(e){ return; }
self.input = '';
self.errorMsg = '';
self.streaming = true;
@@ -340,6 +376,9 @@
}
else if(ev.type==='final'){
self.messages.push({id:'f-'+Date.now(), role:'assistant', content: ev.content});
// "Ask AI" / "AI meeting note" (page editor) register this hook
// so the generated text is inserted directly into the page.
if(window.__fdInsertAI){ try{ var h=window.__fdInsertAI; window.__fdInsertAI=null; h(ev.content||''); }catch(e){} }
}
else if(ev.type==='error'){ self.errorMsg = ev.message; }
}catch(e){}
+375
View File
@@ -0,0 +1,375 @@
# Guide de Référence : Fonctionnement et Architecture de Notion AI (Web)
Ce guide détaille l'ensemble des mécanismes, des flux logiques et des fonctionnalités de l'intelligence artificielle intégrée à l'application web de Notion.
> **Méthodologie :** ce document a été vérifié et mis à jour le **5 septembre 2026** à partir de la documentation officielle de Notion (Help Center, `developers.notion.com`, `notion.com/security`, pages produit). Les URLs sources sont listées en section 7. Les points qui n'ont pas pu être confirmés par la documentation officielle sont explicitement marqués d'un ⚠️.
---
## 1. Diagramme d'Intégration et Architecture des Composantes
Notion AI fonctionne comme une **couche d'orchestration cognitive** qui relie l'interface utilisateur web, le graphe de blocs internes (*Block Tree*), le moteur relationnel de bases de données et des sources externes via les connecteurs et le protocole MCP (*Model Context Protocol*).
```mermaid
flowchart TB
subgraph UI ["1. Interface Utilisateur & Points d'Entrée"]
A1["Notion Agent : Chat latéral ou flottant (Shift+Cmd/Ctrl+J)"]
A2["Onglets Home : Agent / Research / Search"]
A3["Génération In-line (Espace sur ligne vide, /AI Block, Edit with AI)"]
A4["AI Meeting Notes (/meet, Notion Calendar)"]
A5["Propriétés IA de Bases de Données (AI Autofill)"]
A6["Custom Agents (triggers, schedules, Slack)"]
end
subgraph ORCHESTRATOR ["2. Notion AI Core (Orchestrateur & Sécurité)"]
B1["Vérificateur de Droits & Permissions (RBAC)"]
B2["Gouvernance des Crédits & Modèles Premium (Admin)"]
B3["Routeur de Modèles (Auto / Claude Fable 5 / Sonnet 5 / GPT / Gemini / Grok)"]
B4["Personnalisation (Instructions, Skills, Mémoire de l'Agent)"]
end
subgraph RETRIEVAL ["3. Couche RAG & Contexte (All Sources)"]
C1["Espace de travail Notion (Pages, Blocs, Bases, Commentaires)"]
C2["AI Connectors (Slack, Drive, Jira, GitHub, Gmail, Calendar...)"]
C3["Recherche Web (contrôlée par l'admin)"]
C4["Serveurs MCP Externes (External Agents)"]
C5["Base Vectorielle d'Embeddings (recherche sémantique)"]
end
subgraph EXECUTION ["4. Moteur d'Exécution & Restitution"]
D1["Moteur d'Édition de Blocs (CRUD Block Engine, pages, bases)"]
D2["Moteur Autofill (Basic + Custom Agent)"]
D3["Module STT Audio (Transcription, Diarisation)"]
D4["Rendu du Chat avec Citations de Sources"]
end
%% Interactions UI vers Orchestrateur
A1 & A2 & A3 & A4 & A5 & A6 --> B1
B1 --> B2
B2 --> B3
B4 -.-> B3
%% Interaction Orchestrateur vers Contexte
B3 <--> RETRIEVAL
%% Exécution vers Notion
B3 --> D1
B3 --> D2
A4 <--> D3
D3 --> B3
B3 --> D4
%% Rétroaction sur l'UI
D1 -. Mise à jour de la page .-> A3
D2 -. Mise à jour des colonnes .-> A5
```
### Explication des Flux d'Interaction
1. **Isolation des Accès (RBAC) :** Toute requête passe en premier par le filtre de sécurité de Notion. Formulation officielle : *« Notion AI honors existing permissions. The LLMs and AI Models used to generate AI responses for a user cannot see or use any information to which that user does not already have access. »* L'IA n'a accès qu'aux pages, bases de données et blocs pour lesquels l'utilisateur connecté dispose d'une autorisation de lecture explicite — y compris via MCP.
2. **Assemblage Dynamique du Contexte (RAG) :** L'orchestrateur agrège les métadonnées de la page courante, l'historique du fil de discussion, les instructions personnalisées et les *skills* de l'agent, ainsi que les fragments documentaires extraits par recherche sémantique (embeddings vectoriels) dans les sources actives (workspace, connecteurs, web).
3. **Exécution Agentique :** En mode agentique, l'IA ne renvoie pas un simple texte brut : elle peut **créer et modifier de manière autonome des pages et des bases de données** dans l'espace de travail, avec les mêmes permissions que l'utilisateur connecté. Le contenu généré est inséré sous forme de **blocs éditables**.
4. **Traçabilité :** Les réponses issues d'Enterprise Search et du Research Mode **citent systématiquement leurs sources** (liens cliquables vers les pages Notion, les messages Slack, les documents connecteurs ou les pages web utilisées).
---
## 2. Points d'Accès dans l'Interface Web
L'IA s'adapte au contexte d'utilisation à travers plusieurs interfaces distinctes :
| Interface | Déclenchement | Comportement principal |
| --- | --- | --- |
| **Notion Agent (chat IA)** | `Shift + Cmd/Ctrl + J` depuis n'importe quelle page, ou onglet **Home > Agent** | Assistant agentique persistant, affichable en **panneau latéral (Sidebar)** ou en **fenêtre flottante (Floating)** (bascule depuis le chat lui-même). Interroge tout l'espace de travail, écrit, et exécute des tâches avec les permissions de l'utilisateur. |
| **Onglets Home** | Page d'accueil **Home** | Trois entrées dédiées : **Agent** (chat agentique), **Research** (recherche approfondie), **Search** (Enterprise Search). |
| **Génération In-Line** | Touche `Espace` sur une **nouvelle ligne vide** | Affiche le champ de prompt de l'IA et génère du contenu directement dans la page, à l'endroit du curseur. |
| **Bloc IA réutilisable** | Commande `/AI Block` | Insère un **bloc de prompt IA** réutilisable dans la page (le bloc rejoue son prompt à la demande). |
| **Edit with AI (menu contextuel)** | Sélection d'un fragment de texte à la souris → **`Edit with AI`** dans la barre d'outils flottante | Transformations locales : corriger la grammaire (*fix grammar*), raccourcir (*make it shorter*), changer le ton (*change the tone*), traduire (*translate*), résumer (*summarize*), brainstormer (*brainstorm*). |
| **AI Meeting Notes** | Commande `/meet` dans une page (app de bureau v4.7.0+), bouton **`Join and transcribe`** dans Notion Calendar, onglet **Meetings** de la barre latérale | Enregistreur audio à capture **locale** (aucun bot ne rejoint l'appel) : transcription en continu, diarisation, puis compte-rendu structuré. |
| **AI Autofill (bases de données)** | Configuration sur une propriété de base de données (`AI Autofill`) | Fonction de calcul dynamique appliquée à chaque entrée : résumé, traduction, extraction d'infos clés, prompt libre ou agent personnalisé. |
| **Custom Agents** | Triggers (événements), plannings (horaires), invocation depuis **Slack** | Agents personnalisés s'exécutant **en arrière-plan**, avec accès limités à certaines pages/bases et délégation à des sous-agents. |
> ⚠️ **Corrections par rapport aux versions précédentes de ce guide :** le raccourci officiel du chat est `Shift + Cmd/Ctrl + J` (et non `Ctrl + O`) ; les commandes exactes `/ai` et le bouton « Ask AI » sur page vierge n'apparaissent pas dans la documentation actuelle (la doc officielle décrit la touche `Espace` sur ligne vide, `/AI Block` et `Edit with AI`).
---
## 3. Configuration des Modes et Sélecteur de Modèles
### Les Modes Opératoires
La documentation officielle actuelle ne décrit plus trois « modes » commutables dans une même fenêtre de chat (Default / Ask / Research via `Shift + Tab`), mais **trois surfaces distinctes** :
```
┌────────────────────────────────┐
│ Onglet HOME │
└───────────────┬────────────────┘
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
[ Notion Agent ] [ Research Mode ] [ Enterprise Search ]
• Chat agentique par • Investigation profonde • Recherche unifiée sur
défaut multi-étapes toutes les sources
• Lecture, écriture, • Croise workspace, web • Pages Notion + apps
création de pages/bases et connecteurs connectées + web
• Mêmes permissions que • Peut durer ~10 minutes • Citations systématiques
l'utilisateur • Rapports sourcés des sources
partageables • Choix du modèle
```
* **Notion Agent (chat par défaut) :** assistant agentique qui répond, écrit et **exécute des tâches dans l'espace de travail** (création/modification autonome de pages et de bases de données), avec les mêmes permissions que l'utilisateur connecté. La documentation produit mentionne la possibilité de **relire et approuver les plans** avant exécution des tâches agentiques (⚠️ partiellement vérifié — article référencé mais non consulté directement).
* **Research Mode :** accessible via **Home > Research**. L'IA mène une recherche approfondie multi-étapes (jusqu'à ~10 minutes) en croisant le contenu de l'espace de travail, le web et les connecteurs, puis produit une **réponse sourcée** et des **rapports partageables** (plans Business et Enterprise).
* **Enterprise Search :** accessible via **Home > Search**. Recherche IA unifiée à travers le workspace **et les applications connectées** (Slack, Microsoft Teams, Google Drive, Jira, GitHub, SharePoint, OneDrive), avec réponses générées par LLM et **citations systématiques des sources** (plans Business et Enterprise). Le modèle est sélectionnable (GPT, Claude, Gemini ou Auto).
### Le Sélecteur de Modèles (Moteurs LLM)
Modèles proposés dans le Notion Agent (source : `help/notion-agent`) :
```
┌──────────────────────────────────────────────────────────────┐
│ Auto (Notion choisit automatiquement le modèle le plus │
│ adapté à la demande) │
├──────────────────────────────────────────────────────────────┤
│ Modèles premium : │
│ • Claude Fable 5 -> Tâches les plus difficiles │
├──────────────────────────────────────────────────────────────┤
│ Modèles standards : │
│ • Claude Sonnet 5 -> Anthropic, polyvalent │
│ • GPT (derniers) -> OpenAI │
│ • Gemini -> Google │
│ • Grok -> xAI │
└──────────────────────────────────────────────────────────────┘
```
* **Auto (Recommandé) :** Notion sélectionne automatiquement le modèle le plus adapté à la demande.
* **Claude Fable 5 :** modèle premium réservé aux tâches les plus difficiles.
* **Claude Sonnet 5, GPT, Gemini, Grok :** modèles standards des fournisseurs Anthropic, OpenAI, Google et xAI.
* **Gouvernance des modèles premium et des crédits :** les administrateurs gèrent l'accès aux modèles premium et la consommation de crédits Notion des membres (`Settings → Notion AI`). Une **activation manuelle est requise d'ici le 10 septembre 2026** pour continuer à utiliser les modèles premium (source : `help/manage-ai-models-and-member-credit-spend`).
> ⚠️ **Corrections :** les modèles « Opus 5 », « GPT-5.6 Sol », « Kimi K3 » et le raccourci `Shift + Tab` mentionnés dans les versions précédentes de ce guide **n'apparaissent pas dans la documentation officielle actuelle**.
---
## 4. Gestion des Sources, Connecteurs et Écosystème MCP
### 1. Sélecteur de Sources et Filtrage du Contexte
Dans le chat, un sélecteur **« All sources »** permet de contrôler le périmètre de recherche de l'IA :
```
[ Sélecteur "All sources" ]
│
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
[ Espace Notion ] [ Apps Connectées ] [ Recherche Web ]
• Toutes les pages • Slack, Teams, Drive • Activée/désactivée
accessibles SharePoint, Jira, par l'admin
• Filtres par pages GitHub, Linear, Gmail, • Option "Require
ou teamspaces Outlook, calendriers confirmation for
spécifiques (dont Notion Calendar) web requests"
```
* **Périmètre par défaut :** l'IA interroge tout le contenu auquel l'utilisateur a accès ; il est possible de **filtrer par pages, teamspaces, web et apps connectées**.
* **AI Connectors :** liste officielle incluant **Slack, Microsoft Teams, Google Drive, SharePoint, Jira, GitHub, Linear, Gmail, Outlook, les calendriers (dont Notion Calendar)** et d'autres (source : `help/notion-ai-connectors`).
* **Recherche Web :** contrôlée au niveau du workspace via `Settings → Notion AI` (`Enable web search for workspace`, `Require confirmation for web requests`).
* **Contrôle du périmètre Enterprise Search :** désactivation possible de la recherche web ; limitation à des apps, workspaces ou teamspaces spécifiques.
### 2. Intégration MCP (Model Context Protocol)
Notion supporte le standard ouvert **MCP** dans les deux sens :
#### a) Notion comme **serveur MCP** (piloter Notion depuis l'extérieur)
* **Endpoints officiels :** `https://mcp.notion.com/mcp` (Streamable HTTP, recommandé) et `https://mcp.notion.com/sse` (fallback SSE si le client ne gère pas Streamable HTTP). Configuration STDIO possible via `npx mcp-remote`.
* **Authentification :** OAuth interactif obligatoire. L'autorisation non interactive (workflows automatisés) n'est **pas encore supportée**.
* **Outils exposés** (liste officielle, source : `developers.notion.com/guides/mcp/mcp-supported-tools`) :
* Recherche : `notion-search`, `notion-ai-search` (recherche sémantique sur Notion + apps connectées : Slack, Mail, Calendar, Google Drive, Jira), `notion-search-skills`
* Lecture : `notion-fetch` (pages, bases, data sources, vues, id spécial `self`), `notion-query-data-sources` (SQL / rows / view — ne retourne que les lignes et propriétés lisibles par l'utilisateur connecté), `notion-query-meeting-notes`
* Écriture : `notion-create-pages`, `notion-update-page`, `notion-move-pages`, `notion-duplicate-page`, `notion-create-database`, `notion-create-folder`, `notion-update-data-source`, `notion-create-view`, `notion-update-view`
* Commentaires : `notion-create-comment`, `notion-get-comments`
* Organisation : `notion-get-users`, `notion-get-teams`
* Fichiers : `notion-create-file-upload` (≤ 20 MiB), `notion-create-attachment`, `notion-download-attachment`, `notion-get-async-task`
* Agents & skills : `notion-list-agents`, `notion-search-agents`, `notion-spawn-session`, `notion-send-message-to-session`, `notion-wait-session`, `notion-convert-page-to-skill`
* **Clients supportés (documentés avec instructions) :** Codex (OpenAI), Claude Code, Cursor, VS Code (GitHub Copilot), fx, Hermes, Devin, Pi, Antigravity ; le Help Center cite aussi Claude Desktop / Claude.ai et ChatGPT Pro. Principe officiel : *« Any AI app that supports the Model Context Protocol can connect to Notion. »*
* **Limites de débit :** ~180 requêtes/min en moyenne par utilisateur (3/s), limite partagée au niveau du workspace ; `notion-search` (mot-clé) plafonné à 30 req/min.
* **Serveur open source `notion-mcp-server` (GitHub) :** existe mais n'est **plus maintenu activement** (bearer token) ; Notion recommande le serveur hébergé.
#### b) Notion comme **client MCP** (interroger des outils externes depuis Notion)
* La documentation de sécurité confirme l'existence de la fonctionnalité **« External Agents »** (serveurs MCP externes branchés sur l'IA Notion), dotée de **contrôles et de pratiques de rétention distincts**. Le Notion Agent peut utiliser des serveurs MCP comme sources/outils.
* ⚠️ **Non vérifié :** la procédure utilisateur exacte de connexion d'un serveur MCP tiers dans Notion et la liste des connecteurs partenaires (Linear, Figma, GitHub…) — à confirmer sur `notion.com/product/agents`.
#### c) Contrôles d'Administration (plan Enterprise)
* **Liste blanche stricte :** `Settings → Connections → Permissions → AI apps → Restrict AI apps members can connect = Only from approved list`, puis `Manage approved AI apps` / `Add approved AI apps`.
* **Comportements documentés :** blocage de tout appel provenant d'un outil non approuvé (même si un token OAuth existe déjà, les tokens antérieurs ne pouvant pas être révoqués individuellement) ; bouton **`Disconnect All Users`** qui déconnecte tous les clients MCP du workspace (ré-authentification requise) ; pas de déconnexion ciblée par outil ni de visibilité par utilisateur des outils connectés (pas encore disponible) ; connexions gérables via **Okta** ; renommage/logo d'un AI app personnalisé par l'admin, journalisé dans l'audit log.
#### d) Permissions
* Formulation officielle : *« After you authorize the connection, the client can read and update content that you can access in the selected Notion workspace »* et *« Notion MCP continues to respect all existing Notion permissions »* — avec l'avertissement : *« MCP tools act with your full Notion permissions — they can access everything you can access. »*
### 3. Personnalisation Persistante de l'Agent
Le Notion Agent est personnalisable de façon durable (source : `help/notion-agent`) :
* **Nom et avatar :** l'agent peut être renommé et doté d'accessoires visuels.
* **Instructions personnalisées :** rédigées dans une page dédiée (ou une page existante) ; l'agent **mémorise les instructions** qui lui sont données et s'y conforme dans les conversations ultérieures (ex. rôle métier, directives de style, règles de mise en page récurrentes).
* **Skills :** compétences réutilisables que l'agent peut invoquer (la doc renvoie vers des articles dédiés « instructions and skills »).
> ⚠️ **Correction :** la référence à une « icône de canard jaune » des versions précédentes de ce guide n'est pas vérifiée par la documentation officielle.
---
## 5. Fonctionnalités Avancées Spécialisées
### A. Notion Agents & Custom Agents
Deux niveaux d'agents coexistent (sources : `help/notion-agent`, `help/custom-agents`, `product/agents`) :
```
┌──────────────────────────────┬──────────────────────────────────────┐
│ Notion Agent (interactif) │ Custom Agents (arrière-plan) │
├──────────────────────────────┼──────────────────────────────────────┤
│ • Chat à la demande │ • Déclenchés par des TRIGGERS │
│ (Shift+Cmd/Ctrl+J) │ (événements) ou des PLANNINGS │
│ • Agit dans tout le │ (horaires) │
│ workspace avec vos │ • Accès LIMITÉS à certaines │
│ permissions │ pages / bases de données │
│ • Sidebar ou fenêtre │ • Invocables depuis SLACK │
│ flottante │ • Délèguent à des SOUS-AGENTS │
│ • Instructions, skills, │ (hand-offs) │
│ mémoire persistante │ • Modèle configurable │
│ │ • Dupliquables (servent de base à │
│ │ de nouveaux agents) │
│ │ • Consomment des crédits Notion │
│ │ (10 $ / 1 000 crédits depuis le │
│ │ 4 mai 2026) │
└──────────────────────────────┴──────────────────────────────────────┘
```
* **Agents préconstruits :** Notion fournit des agents prêts à l'emploi (réunions, recherches, suivi de projets).
* **Comportement agentique :** l'agent peut créer/modifier pages et bases de données de manière autonome, toujours borné par les permissions de l'utilisateur connecté.
### B. AI Meeting Notes (Transcription & Synthèse Audio)
Le module de réunion transforme Notion en preneur de notes autonome (sources : `help/ai-meeting-notes`, `product/ai-meeting-notes`). **Disponibilité : plans Business et Enterprise.**
```
[ /meet ou "Join and transcribe" (Notion Calendar) ]
│
▼
[ Capture LOCALE : micro (navigateur) ou audio système + micro (desktop) ]
Aucun bot ne rejoint l'appel — extension navigateur pour les noms (Google Meet)
│
▼
[ Transcription Live (16 langues) + Diarisation (étiquettes locuteurs en anglais) ]
Consentement : notification texte + bouton 🔈 (avertissement vocal) + auto-consent
│
▼
[ Arrêt : ≥ ~300 caractères transcrits (~1 min) requis pour le résumé ]
│
▼
[ Génération du Compte-Rendu ]
• Résumé, décisions, action items
• Citations cliquables vers les horodatages audio/transcription
• Instructions : Auto | types intégrés (sales call, standup, team meeting)
| instructions personnalisées (privées par défaut, partageables)
```
1. **Démarrage et capture :** commande **`/meet`** dans n'importe quelle page via l'**application de bureau (v4.7.0+**, macOS 13+ ou dernière version Windows). La capture est **locale** : aucun bot ne rejoint Zoom/Meet/Teams. Le **navigateur** capte le **microphone uniquement** ; l'**app de bureau** capte **audio système + micro**. Une **extension navigateur** récupère les noms des intervenants sur Google Meet. Intégration **Notion Calendar** : boutons « Join and transcribe » / « View summary » et onglet **Meetings** dans la barre latérale.
2. **Consentement :** notification textuelle aux participants, bouton **🔈** qui diffuse un avertissement vocal dans les haut-parleurs, option de **consentement audio automatique** ; les administrateurs peuvent l'imposer à tout le workspace.
3. **Transcription et diarisation :** transcription en direct dans **16 langues** ; détection des changements de locuteur et étiquetage des intervenants en utilisant le contexte (ex. événement d'agenda) — **étiquetage des locuteurs disponible en anglais uniquement**.
4. **Compte-rendu :** minimum **~300 caractères transcrits (~1 minute)** pour générer un résumé. Le compte-rendu inclut résumé, décisions, action items et **citations cliquables renvoyant aux horodatages** de la transcription/audio.
5. **Instructions / gabarits :** trois niveaux — mode **Auto**, **types intégrés** (sales call, standup, team meeting…) et **instructions personnalisées** (privées par défaut, partageables avec le workspace).
6. **Import de fichiers audio :** formats **AAC, M4A, MP3, WAV** uniquement (pas de MOV/MP4/Loom). Limite : **10 heures d'enregistrement/jour/utilisateur**.
7. **Rétention et confidentialité (détaillée en section 6) :** audio capté stocké temporairement en local puis supprimé après traitement ou sous **24 h** ; en cas d'échec, upload serveur conservé **3 jours max** ; **suppression automatique planifiée des transcriptions** configurable par les owners Enterprise (les résumés et notes sont conservés ; pages en *legal hold* exclues).
8. **Sous-traitants IA :** OpenAI, Anthropic, Fireworks, Baseten Labs, X.AI, AssemblyAI.
> ⚠️ **Non vérifié par la doc officielle :** le nom exact des onglets de l'interface (Notes / Transcript / Summary) et la prise de notes manuelle pendant l'enregistrement ; l'intégration Notion Mail ↔ AI Meeting Notes.
### C. Notion AI dans les Bases de Données (AI Autofill)
Dans les bases de données, l'IA agit comme une **fonction de calcul dynamique** appliquée à chaque entrée. La documentation officielle (`help/autofill`, page « Notion AI for databases ») distingue **deux modes** :
```
┌─────────────────────────────┬───────────────────────────────────────┐
│ Basic Autofill │ Custom Agent Autofill │
├─────────────────────────────┼───────────────────────────────────────┤
│ • Actions prédéfinies : │ • Instructions LIBRES (prompt │
│ Summary | Translate | │ multi-étapes, logique │
│ Key info | Custom autofill│ conditionnelle) │
│ • Utilise UNIQUEMENT le │ • Peut activer la recherche dans le │
│ contenu de la page/ligne │ WORKSPACE et la recherche WEB │
│ concernée (pas de web, │ (avec fourniture des sources) │
│ pas d'autres pages) │ • Peut mettre à jour plusieurs │
│ • Déclencheurs : manuel, │ propriétés en une exécution │
│ à la création de page, ou │ • Déclencheurs : manuel, création, │
│ à chaque modification │ modification, ou PLANIFIÉ │
│ • INCLUS dans Business/ │ (schedule) │
│ Enterprise, SANS crédits │ • Consomme des CRÉDITS Notion │
└─────────────────────────────┴───────────────────────────────────────┘
```
* **Configuration (flux officiel) :** survoler la propriété → cliquer sur son nom → **`AI Autofill`** (ou `Set up AI Autofill`) → choisir **`Basic`** (puis l'action : Summary, Translate, Key info, Custom autofill) ou **`Custom Agent`** (puis rédiger les instructions) → choisir **quand l'exécuter** (manuellement, à la création de page, à chaque modification, ou planifié pour Custom Agent) → enregistrer.
* **Cas d'usage Basic cités officiellement :** résumés de contenu de page, extraction d'infos clés (noms, dates, action items), traduction, tag/catégorisation via options select/multi-select.
* **Astuce officielle :** pour ne remplir que les cellules vides, ajouter *« Only fill this property if it is empty »* aux instructions.
* **Exemple Custom Agent :** *« Résume la page en 2 phrases. Si un délai est mentionné, extrais-le dans la propriété Due Date ; sinon laisse vide. »*
* **Build with AI :** l'IA peut **créer** des bases de données (inclus Business/Enterprise avec quota d'usage), mais **pas modifier les bases existantes**, ni créer automatisations, formulaires, graphiques ou templates de pages.
> ⚠️ **Corrections :** les noms « AI Summary / AI Key Info / AI Custom Autofill » comme types de propriétés distincts, le bouton « Update all » et le type « AI Sentiment » des versions précédentes de ce guide ne correspondent pas à la documentation actuelle (Basic vs Custom Agent). Le coût en crédits précis par exécution Custom Agent n'est pas publié.
### D. Analyse Multimodale et Création de Contenu
* **Import audio :** AI Meeting Notes accepte l'import de fichiers audio (AAC, M4A, MP3, WAV) pour transcription et synthèse.
* **Analyse de fichiers et PDF dans le chat, création de diaporamas (`Create a slide deck`), conversion de formats (texte libre → tableaux, to-do lists, toggles) :** ⚠️ ces capacités sont décrites dans les pages produit/marketing mais **n'ont pas pu être vérifiées dans le Help Center officiel** lors de la révision du 5 septembre 2026 — à considérer comme des fonctionnalités évolutives.
---
## 6. Sécurité, Gouvernance et Confidentialité des Données
Notion applique un cadre de sécurité strict, documenté officiellement (sources : `help/notion-ai-security-practices`, `notion.com/security`, `help/ai-meeting-notes`) :
1. **Non-entraînement des modèles :** *« By default, Notion and its AI Subprocessors do not use Customer Data to train any models. »* Des accords contractuels interdisent aux sous-traitants IA (OpenAI, Anthropic, etc.) d'utiliser les données clients pour entraîner leurs modèles. Les données de clients différents ne sont **jamais mélangées** durant le traitement IA.
2. **Rétention des données LLM :** **zéro rétention par défaut pour les workspaces Enterprise** ; **≤ 30 jours** pour les plans non-Enterprise. Les LLM à rétention de données restent **désactivés par défaut** et exigent une activation admin via les réglages du workspace. La fonctionnalité *External Agents* relève de contrôles de rétention distincts.
3. **Embeddings (recherche sémantique) :** stockés dans une base vectorielle (**Turbopuffer**, auditée SOC 2 Type 2), **supprimés dans les 60 jours** suivant la suppression de la page ou du workspace. Une page/workspace supprimé est restaurable sous 30 jours, puis suppression définitive (données IA et embeddings inclus).
4. **Chiffrement :** TLS **1.2 ou supérieur** en transit vers les tiers ; chiffrement au repos des données stockées (AES-256 selon le Trust Center Notion ⚠️ non re-vérifié dans cette session).
5. **Respect strict des habilitations (RBAC) :** *« Notion AI honors existing permissions. The LLMs and AI Models used to generate AI responses for a user cannot see or use any information to which that user does not already have access. »* Cela s'applique aussi à MCP : *« MCP does not bypass Notion permissions. »*
6. **Contrôles d'administration :**
* `Settings → Notion AI` (tous plans) : `Enable web search for workspace`, `Require confirmation for web requests` ; sur Business/Enterprise, contrôle du dépassement des crédits Notion AI et gestion des modèles premium.
* **DLP (Enterprise) :** alertes sur contenu sensible (prompts IA et sorties IA) via partenaires d'intégration.
* **Meeting Notes :** opt-out workspace (`Workspace availability`), consentement audio imposable, partage automatique avec les participants internes, base de données par défaut, **suppression automatique planifiée des transcriptions** (résumés et notes conservés, pages en *legal hold* exclues) ; `Store audio locally` désactivé par défaut (les 10 derniers enregistrements conservés sur l'appareil de l'enregistreur, seul habilité à les télécharger).
* **MCP (Enterprise) :** liste blanche des AI apps, `Disconnect All Users`, gestion via Okta, audit log.
7. **Conformité internationale :** **SOC 2 Type 2** (Notion AI inclus dans le périmètre), **ISO 27001, 27701, 27017, 27018**, **HIPAA** (avec BAA et fonctionnalités Enterprise, rendu possible par les API zéro-rétention des fournisseurs LLM), **BSI C5**, alignement **RGPD/CCPA** via MSA + DPA. Rapports disponibles sur demande via le Trust Center.
8. **Sous-traitants (Subprocessors) :** Notion utilise des LLM hébergés par Notion ainsi que par **Anthropic** et **OpenAI** ; embeddings générés via une **API OpenAI zéro-rétention**. AI Meeting Notes nomme explicitement : OpenAI, Anthropic, Fireworks, Baseten Labs, X.AI LLC, AssemblyAI Inc. Tout tiers traitant des données clients est publié sur la Subprocessor Page, avec notification préalable des nouveaux sous-traitants sur abonnement et revue annuelle (attestations, pentests, questionnaires).
### Synthèse des durées de rétention audio (AI Meeting Notes)
| Scénario | Rétention |
| --- | --- |
| Audio capté (desktop/navigateur) | Envoi direct aux sous-traitants (qui ne le stockent pas) ; copie locale temporaire supprimée après traitement ou sous **24 h** |
| Échec de traitement (desktop/navigateur) | Upload serveurs Notion conservé **jusqu'à 3 jours** |
| Mobile | Audio uploadé chez Notion puis transmis aux sous-traitants ; suppression immédiate après succès, copie locale sous **1 jour** ; échec : **3 jours** (serveur) / **1 semaine** (local) |
| Fichiers uploadés par l'utilisateur | Conservés jusqu'à suppression manuelle (`Delete audio` / `Delete video`) ou suppression de la page |
| Enterprise | Suppression automatique planifiée des transcriptions (résumés conservés, *legal hold* exclu) |
---
## 7. Sources Officielles
Documentation consultée le 5 septembre 2026 :
* Notion Agent : https://www.notion.com/help/notion-agent
* Guides Notion AI for docs : https://www.notion.com/help/guides/notion-ai-for-docs
* Research Mode : https://www.notion.com/help/research-mode
* Enterprise Search : https://www.notion.com/help/enterprise-search — https://www.notion.com/product/enterprise-search
* AI Meeting Notes : https://www.notion.com/help/ai-meeting-notes — https://www.notion.com/product/ai-meeting-notes
* AI Autofill (Notion AI for databases) : https://www.notion.com/help/autofill
* Propriétés de bases de données : https://www.notion.com/help/database-properties
* Custom Agents : https://www.notion.com/help/custom-agents — https://www.notion.com/product/agents
* Connecteurs IA : https://www.notion.com/help/notion-ai-connectors
* FAQ Notion AI : https://www.notion.com/help/notion-ai-faqs
* Modèles premium & crédits : https://www.notion.com/help/manage-ai-models-and-member-credit-spend
* MCP (guide développeur) : https://developers.notion.com/guides/mcp/get-started-with-mcp — https://developers.notion.com/guides/mcp/mcp-supported-tools
* MCP (Help Center) : https://www.notion.com/help/notion-mcp
* Sécurité de Notion AI : https://www.notion.com/help/notion-ai-security-practices
* Sécurité Notion (conformité) : https://www.notion.com/security