Aidoo AI

MCP tool reference

The thirteen tools Aidoo exposes to your assistant: what each one does, the permission it requires, and whether it is granted by default.

5 min. leestijdBijgewerkt op 7 augustus 2026

Deze pagina is nog niet vertaald naar uw taal en wordt weergegeven in het Engels.

Aidoo exposes your Odoo as tools. The assistant picks one, Aidoo checks it is allowed to use it, then runs the call against your database.

This page is the full inventory. Each tool links to the page that covers it in depth.

The full matrix

ToolRechtStandaard
aidoo_queryqueryJa
aidoo_readreadJa
aidoo_schemaschemaJa
aidoo_reportreportJa
aidoo_printprintJa
aidoo_createcreateNee
aidoo_writewriteNee
aidoo_deletedeleteNee
aidoo_executeexecuteNee
aidoo_workflowexecuteNee
aidoo_workflow_runworkflowNee
aidoo_feedbackfeedbackNee
aidoo_attachattachNee

A freshly created API key receives the five read permissions. Everything else must be enabled explicitly under API keys.

Read tools

They cannot change anything: the tool → Odoo method binding is locked server-side, and aidoo_query can only ever call search_read and search_count.

aidoo_queryRecht query · standaard actief

Searches and reads records. The most used tool, the one behind "which quotations…", "how many customers…", "the list of invoices…".

Parameters: model, domain (the Odoo filter), fields, limit (80 by default), offset, order. It returns the records, but also total_count and has_more, so the assistant knows it is only seeing one page.

aidoo_readRecht read · standaard actief

Reads records whose identifiers are already known. More direct than aidoo_query when the assistant has just found an id.

aidoo_schemaRecht schema · standaard actief

Discovers the shape of your database: the list of models, or the fields of one model with their types and relations. No business data is read.

It is also the tool that returns hints: your business instructions attached to a model.

aidoo_reportRecht report · standaard actief

Aggregates without pulling data. Groups by one or more fields and computes a measure: revenue by month, outstanding by salesperson, quantities by category.

Always prefer it to aidoo_query for totals: Odoo does the maths, and only the results travel.

aidoo_printRecht print · standaard actief

Generates a PDF through Odoo's QWeb report engine and returns a download link. Invoice, quotation, delivery note, manufacturing order.

It counts as read-only: it produces a document, it changes no record.

Write tools

None is granted by default. What bounds them is your key's permissions, not an extra confirmation step, see Writing to Odoo.

aidoo_createRecht create · moet handmatig worden ingeschakeld

Creates one or several records. In batch mode, records go out in a single Odoo call, which preserves consistency.

aidoo_writeRecht write · moet handmatig worden ingeschakeld

Updates existing records. In batch mode, each group of identifiers gets its own values, and the result details the success or failure of each group.

aidoo_deleteRecht delete · moet handmatig worden ingeschakeld

Deletes permanently: Odoo's unlink. Irreversible, with no recycle bin.

Grant this one with your eyes open

delete is the only permission that destroys information beyond recovery. In most deployments it stays off: archiving a record through aidoo_write answers the same need and can be undone.

aidoo_workflowRecht execute · moet handmatig worden ingeschakeld

Triggers an Odoo business action, the buttons on your screens: confirm a quotation, validate an invoice, receive a transfer. Only methods prefixed action_ or button_ are allowed.

aidoo_executeRecht execute · moet handmatig worden ingeschakeld

Calls an arbitrary Odoo method, for the cases the other tools do not cover. Methods that would duplicate a dedicated tool are blocked (create, write, unlink, read, search_read…), so that one permission cannot be used to bypass another.

It is the most powerful tool, and therefore the one to grant most sparingly.

Specialised tools

Three tools, one shared word

Three tools carry "workflow" in their name and do entirely different things. This is the most common confusion in the whole catalogue.

ToolWhat it runsPermission
aidoo_workflowAn Odoo button: confirm a quotation, post an invoice. Nothing to do with Aidoo workflowsexecute
aidoo_workflow_listNothing. It lists your saved Aidoo workflowsworkflow
aidoo_workflow_runAn Aidoo workflow: the sequence of steps you savedworkflow

The dividing line: aidoo_workflow acts inside Odoo, the other two act on what you saved in Aidoo.

aidoo_workflow_run

Runs an Aidoo workflow: a sequence of steps saved once, replayed with a sentence, with variables.

A saved workflow can perform operations the individual tools would refuse: you validated it when you created it.

The assistant calls aidoo_workflow_list at the start of a conversation to see what exists, then aidoo_workflow_run to execute the matching one.

aidoo_feedbackRecht feedback · moet handmatig worden ingeschakeld

Updates a model's hint when you correct the assistant. This is Aidoo's learning mechanism, see Hints and learning.

Requires the feedback permission and the canUpdateHints flag on your member profile.

aidoo_attachRecht attach · moet handmatig worden ingeschakeld

Sends a file into Odoo without routing it through the AI: the assistant gives you a single-use upload link, you drop the file, Odoo receives it. Also handles vendor bill digitization.

Choosing which permissions to grant

A progression that works

Start read-only for a week. Add create when a concrete need appears. Only open execute for an identified use case, and keep delete closed.

Use casePermissions
Consultation, reporting, analysisThe five read permissions, by default
Assisted data entry (contacts, notes, activities)+ create, write
End-to-end processing (confirm, validate)+ execute
Data cleanup, bulk corrections+ delete, temporarily

Each permission is set per key and per environment: you can allow writes on your test database and refuse them in production.

What the assistant knows before it tries

On startup, aidoo_context returns the list of genuinely available tools. The assistant therefore knows in advance what it cannot do, and says so instead of attempting the operation and failing.

If an action is refused when you expected it to work, check in this order: the key's permission, then the Odoo account's rights, then the blocked models under Security & permissions.