Agents

Règles et permissions

Le moteur de règles qui borne chaque agent : groupes fonctionnels, opérations, conditions de valeurs, mode apprentissage, validation humaine, garde-fous automatiques et permissions complémentaires.

12 min de lectureMis à jour le 1 octobre 2026

Un agent travaille sans surveillance. Ce qui le borne n'est donc pas votre vigilance, mais un moteur de règles qui vérifie chaque appel avant qu'il ne parte vers Odoo.

La sécurité ne repose jamais sur le prompt

Les règles ne sont pas des consignes données à l'IA. Elles sont appliquées par le serveur, à chaque appel, indépendamment de ce que l'agent croit avoir le droit de faire. Une instruction malveillante cachée dans une donnée Odoo ne peut donc pas les contourner.

Comment une règle se compose

Une règle associe un périmètre à des opérations, avec des conditions facultatives.

Périmètre : groupe « facturation »
Opérations : query, read
Périmètre : modèle mail.activity
Opérations : query, read, create
Périmètre : modèle sale.order
Opérations : query, read, write
Condition : amount_total < 5000

Un agent cumule plusieurs règles. Tout ce qui n'est couvert par aucune règle est refusé.

Les périmètres

Vous désignez soit un groupe fonctionnel, soit une liste de modèles explicite. Pour identifier le nom technique d'un modèle (sale.order, crm.lead…), consultez la liste des modèles Odoo.

GroupeCouvre
crmPistes et opportunités
ventesDevis, commandes et leurs lignes
facturationFactures, avoirs, paiements
achatsCommandes fournisseur et leurs lignes
stockTransferts et mouvements de stock
supportTickets et tâches de projet
rhCongés
communicationMessages et activités

Chaque groupe couvre aussi les activités planifiées (mail.activity), et embarque les modèles en lecture seule dont il dépend : accorder l'écriture sur les commandes donne la lecture des clients et des produits, sans jamais permettre de les modifier. De même, le groupe rh donne la lecture des employés et des départements, le groupe stock celle des quantités en stock et des emplacements.

Pour un agent au périmètre étroit, préférez une liste de modèles explicite : c'est plus long à régler, et nettement plus sûr.

Les opérations

OpérationCe qu'elle autorise
queryChercher des enregistrements
readLire des enregistrements connus
reportCalculer des agrégats
printGénérer un PDF
createCréer
writeModifier
workflowDéclencher une action métier Odoo
executeAppeler une méthode Odoo

La suppression n'existe pas

delete est absent de cette liste, et pas par oubli : aucun agent ne peut supprimer un enregistrement, quelle que soit sa configuration. Pour retirer un enregistrement de la circulation, un agent doit l'archiver via write.

Les conditions de valeurs

C'est le réglage qui transforme une permission large en permission sûre.

Une condition porte sur un champ et s'applique avant l'écriture. Aidoo relit l'enregistrement concerné et vérifie la condition sur son état réel, pas sur ce que l'agent affirme.

ConditionEffet
amount_total < 5000L'agent ne touche pas aux grosses affaires
state != postedIl ne modifie jamais une facture comptabilisée
user_id = <un commercial>Il reste sur le portefeuille d'une personne

En cas de doute, l'appel est refusé

Si Aidoo ne parvient pas à vérifier une condition, faute d'avoir pu relire l'enregistrement par exemple, l'appel est bloqué. Le moteur échoue systématiquement du côté du refus.

Le mode apprentissage

C'est le réglage par défaut d'un nouvel agent, pour ne pas avoir à deviner ses règles avant de l'avoir vu travailler. Pendant une fenêtre de 48 heures :

Ce que fait l'agentCe qui se passe
Lire un modèle, quel qu'il soitAutorisé, dans la limite de ce que son compte Odoo voit
Écrire sur un modèle couvert par une règle de départExécuté, comme hors apprentissage
Écrire sur un modèle qu'aucune règle ne couvreMis en attente de votre validation (voir ci-dessous)
SupprimerToujours impossible

Chaque accès réellement exécuté est observé : modèle, opération, nombre d'appels. Les exécutions autonomes comme les conversations (dans Aidoo ou dans la bulle Odoo) alimentent l'apprentissage. Une écriture validée compte comme un accès observé ; une écriture refusée, non.

Au gel, automatique à la fin des 48 heures ou déclenché par vous avec le bouton Figer les permissions maintenant, les accès observés sont fusionnés dans les règles : les modèles qui partagent les mêmes opérations sont regroupés, et un groupe fonctionnel entièrement couvert devient une règle de groupe. Les règles de départ sont conservées telles quelles. Vous relisez le résultat et le corrigez si besoin ; décocher la case depuis la fiche de l'agent vous montre ces règles avant qu'elles ne soient enregistrées.

Ce que l'apprentissage ne devine pas

Les conditions de valeurs (« seulement les factures en brouillon », « montant inférieur à 5 000 ») restent à écrire à la main. L'apprentissage observe des modèles et des opérations, pas des seuils. Après le gel, relisez les règles d'écriture et ajoutez-y les conditions qui s'imposent.

Une fois figé, l'agent ne repasse pas en apprentissage de lui-même. Si ses règles se révèlent trop étroites, ajoutez-les à la main, ou cliquez sur Relancer l'apprentissage depuis sa fiche (propriétaire ou administrateur de l'espace) : une nouvelle fenêtre de 48 heures s'ouvre, les règles actuelles deviennent des règles de départ et les accès observés repartent de zéro.

La validation humaine

Certaines opérations ne partent pas tout de suite : elles attendent qu'un humain les approuve. Trois cas :

  • l'option Validation humaine des écritures est cochée (elle est désactivée par défaut) : chaque création, modification ou action Odoo de l'agent est soumise ;
  • l'agent est en mode apprentissage et veut écrire sur un modèle qu'aucune règle ne couvre ;
  • l'agent prépare un e-mail en mode « Validation avant envoi » (voir plus bas).

Chaque opération soumise s'affiche avec son détail (modèle, champs, destinataires) dans Aidoo et dans la bulle Odoo, avec les boutons Approuver et Rejeter. Sans décision, elle expire au bout de 7 jours.

L'agent se met en pause en attendant. Il soumet ensemble les opérations préparées dans une même réponse, puis s'arrête, au lieu de poursuivre comme si elles étaient faites. Son compte rendu se termine par « Une opération attend votre validation. L'agent est en pause ». Quand toutes les opérations soumises sont tranchées, il reprend une seule fois avec l'ensemble des décisions, refus compris, et adapte la suite.

SituationReprise
Exécution autonomeUne nouvelle exécution « Décision reçue » repart avec toutes les décisions
ConversationL'agent reprend la discussion dès que plus rien n'attend

Tant qu'une opération soumise par une exécution attend, les exécutions planifiées suivantes sont sautées, sans rien consommer. Les exécutions déclenchées par un événement, une date ou à la main partent quand même, en connaissant la liste des opérations déjà en attente pour ne pas les reproposer.

Le mode workflows uniquement

Le réglage le plus restrictif : l'agent ne peut appeler aucun outil Odoo directement, seulement exécuter des workflows enregistrés que vous avez validés.

Il agit alors strictement dans le cadre de séquences que vous avez écrites et approuvées. Vous perdez en souplesse ce que vous gagnez en prévisibilité. C'est le bon réglage pour un agent qui touche à la comptabilité.

Les garde-fous automatiques

Ils protègent tous les agents en permanence ; seules les limites par exécution se règlent agent par agent.

Contrôle Odoo avant tout appel au modèle d'IA. Si votre Odoo est injoignable, l'exécution s'arrête immédiatement, avant qu'un seul jeton ne soit consommé. Après plusieurs tentatives, l'agent se met en pause.

Limites par exécution. Elles se règlent agent par agent dans Limites & sécurité :

LimiteValeur par défaut
Crédits max / exécution100 crédits (c'est aussi le minimum), jusqu'à 1 000
Délai max300 secondes, jusqu'à 4 500
Actions max / exécutionVide, c'est-à-dire illimité
Écritures max / exécutionVide, c'est-à-dire illimité

Une écriture compte un appel, pas un enregistrement : modifier 50 tickets en un seul appel groupé compte pour une.

Détection de boucle. Un même appel répété avec exactement les mêmes paramètres, sans écriture entre-temps, est refusé à la troisième occurrence ; à la quatrième, l'exécution s'arrête plutôt que de brûler son budget.

Pause automatique. Après 3 échecs consécutifs (réglable de 1 à 20), ou si une exécution dépasse le plafond d'écritures que vous avez fixé, l'agent se met en pause et vous notifie plutôt que d'insister.

Interrupteur général. Le bouton Tout mettre en pause suspend tous les agents de l'espace de travail d'un coup. Utile pendant une migration Odoo ou un incident.

Arrêt à la demande. Une exécution en cours, réelle ou simulée, s'arrête avec le bouton Arrêter de la bulle « Run en cours », dans le fil de l'agent. En conversation, le bouton d'envoi devient un bouton Arrêter pendant que l'agent travaille. L'outil en cours se termine, puis plus rien ne part ; la réponse partielle est conservée.

Blocage des crédits. À épuisement du pool, ou du budget mensuel de l'agent, aucune exécution ne part et rien n'est facturé. L'agent reprend son rythme dès que des crédits reviennent.

Journal infalsifiable. Chaque étape est écrite au fil de l'exécution et ne peut plus être modifiée. Les paramètres sensibles y sont masqués.

Les outils extérieurs à Odoo

Un agent peut aussi agir hors d'Odoo : publier dans Slack, envoyer un e-mail, écrire dans Notion. Deux sources, cinq applications par agent au maximum.

La banque d'applications. Plus de 1 000 services connectables en quelques clics depuis la page Intégrations, avec l'authentification gérée pour vous.

Vos propres serveurs MCP. Si vous exposez déjà des outils internes en MCP, déclarez-les avec leur authentification (en-tête statique ou OAuth). Les secrets sont chiffrés par espace de travail.

Le détail de la connexion, du catalogue et du réglage des permissions est dans Intégrations et outils externes.

Restreignez la liste des outils

Pour chaque application, n'activez que les deux ou trois outils réellement utiles. Sans cette restriction, tout le catalogue de l'application est chargé à chaque tour de conversation, ce qui gonfle la consommation de crédits sans rien apporter.

L'écriture vers un service externe est gouvernée par un interrupteur distinct : par défaut, un agent ne fait que lire. Et le contenu qui revient d'un service tiers est traité comme non fiable, exactement comme les données Odoo.

L'accès web

Deux outils facultatifs, réservés aux agents et jamais exposés à Claude ou ChatGPT : une recherche web et une lecture de page. Désactivés par défaut.

Utile pour un agent qui doit vérifier une information publique, par exemple l'existence d'une société avant de qualifier un lead. Les résultats sont tronqués pour ne pas faire exploser le budget de jetons, et les adresses internes sont bloquées.

Les autres permissions

En plus des règles Odoo, la section Permissions de l'agent porte des interrupteurs dédiés, tous désactivés par défaut :

PermissionCe qu'elle ouvre
Proposer des e-mailsL'agent prépare des e-mails liés à un enregistrement Odoo (jusqu'à 20 d'un coup), avec au besoin jusqu'à 5 pièces jointes déjà présentes dans Odoo. En mode Validation avant envoi (le défaut), rien ne part sans votre clic. En mode Envoi automatique, ils partent aussitôt sous l'identité Odoo de l'agent, dans la limite de E-mails automatiques max / exécution (10 par défaut, jusqu'à 100).
Lecture de documentsL'agent lit les PDF, images (scans compris) et fichiers Word attachés aux enregistrements, jusqu'à 30 pages et 20 Mo. 1 crédit par tranche de 20 pages, une seule fois par document.
Peut poser une question à un humainEn exécution autonome seulement, l'agent pose une question (avec jusqu'à 4 choix) et s'arrête ; il reprend dès la réponse, donnée depuis Aidoo, la bulle Odoo ou un lien e-mail. Sans réponse sous 7 jours, la question expire.
Agents collaborateursRéglés depuis la fiche de l'agent : il peut consulter jusqu'à 5 autres agents de l'espace ou leur déléguer une tâche. L'agent sollicité travaille sous sa propre identité, avec ses règles et son budget, et ne peut pas en solliciter un autre à son tour.
Drive AidooL'agent lit et écrit des fichiers (Markdown, Excel, Word, CSV) dans le Drive de l'espace : son dossier privé, le dossier shared en lecture, et les dossiers que vous ajoutez. Une suppression, ou l'écrasement d'un fichier déposé par un humain, passe par la validation.

Ces permissions n'élargissent jamais l'accès à Odoo : documents et pièces jointes se lisent sous l'identité Odoo de l'agent, ses règles de lecture comprises.

Une méthode de réglage qui fonctionne

Laissez l'apprentissage faire le premier tri

Pendant les 48 heures, faites travailler l'agent sur des cas réels. Ses lectures sont libres, ses écritures hors règles passent par vous et il attend votre décision avant de continuer. Au gel, relisez les règles obtenues et retirez ce qui a été touché par curiosité plutôt que par nécessité.

Restez en lecture seule si l'agent analyse

Pour un agent qui produit des rapports, uniquement query, read et report. L'agent produit ses analyses, vous constatez qu'il vise juste.

Ajoutez l'écriture la moins risquée

En général create sur mail.activity : l'agent planifie des relances sans rien modifier d'existant.

Ouvrez la modification, avec des conditions

write sur un modèle précis, borné par une condition de valeur. Jamais write sur un groupe entier sans condition.

Fixez un plafond d'écritures serré

Le champ Écritures max / exécution est vide (illimité) par défaut. Pour un agent qui débute, réglez-le à cinq : cela suffit à la plupart des missions, et un dépassement met l'agent en pause. Relevez-le seulement quand un cas légitime le dépasse.

Étape suivante