Workflow Tools
odoo_action, odoo_files, odoo_report, odoo_transfer, odoo_dashboard — workflow execution, attachments, reports, and data transfer
Workflow Tools
Workflow tools execute business processes, manage file attachments, generate reports, and transfer data in and out of Odoo.
odoo_action
Category: Workflow | Policy: mapped by method name
Executes workflow button methods on Odoo records — the same methods triggered by UI buttons like Confirm, Validate, Post, or Cancel.
Policy mapping: action_* / button_* / do_* prefix → write policy.
Common Workflow Methods
| Model | Method | Description |
|---|---|---|
sale.order | action_confirm | Confirm a quotation |
account.move | action_post | Post a journal entry / invoice |
stock.picking | button_validate | Validate a delivery order |
purchase.order | button_confirm | Confirm a purchase order |
sale.order | action_cancel | Cancel a sale order |
Example — Confirm a Sale Order
{
"name": "odoo_action",
"arguments": {
"model": "sale.order",
"ids": [42],
"action": "action_confirm"
}
}Response:
{
"success": true,
"model": "sale.order",
"action": "action_confirm",
"target_ids": [42],
"result": true
}Discover Mode
Use action: "discover" to list all available methods on a model without executing anything:
{
"name": "odoo_action",
"arguments": {
"model": "sale.order",
"action": "discover"
}
}odoo_files
Category: Workflow | Policy: read or write on parent model
Manages ir.attachment records linked to any Odoo record.
action | Policy | Description |
|---|---|---|
list | read | List all attachments on a record |
download | read | Download file content (base64) |
upload | write | Upload a new attachment to a record |
delete | write | Delete an attachment (goes through approval) |
[!NOTE] File size is capped by Max Attachment Bytes (default: 5 MB).
List Attachments
{
"name": "odoo_files",
"arguments": {
"action": "list",
"model": "sale.order",
"res_id": 42
}
}Upload a File
{
"name": "odoo_files",
"arguments": {
"action": "upload",
"model": "sale.order",
"res_id": 42,
"filename": "signed_contract.pdf",
"file_content_base64": "JVBERi0xLjQK...",
"mimetype": "application/pdf"
}
}odoo_report
Category: Workflow | Policy: read on report model
Lists and renders QWeb reports as PDF or HTML.
action | Description |
|---|---|
list | List all available reports (optionally filtered by model) |
render | Render a specific report for given record IDs |
[!NOTE] Rendered report size is capped by Max Report Bytes (default: 10 MB).
List Reports for a Model
{
"name": "odoo_report",
"arguments": {
"action": "list",
"model": "sale.order"
}
}Render a Report as PDF
{
"name": "odoo_report",
"arguments": {
"action": "render",
"report_id": 3,
"res_ids": [42],
"output_format": "pdf"
}
}The response includes the rendered content as base64 and a download link if MCP Apps is active.
odoo_transfer
Category: Workflow | Policy: read (export) / write (import)
Exports and imports Odoo records using the native export_data and load engine — the same mechanism used by the Odoo UI’s Import/Export feature.
action | Description |
|---|---|
export_data | Export records as CSV/JSON |
validate_import | Dry-run import to check for errors |
load | Execute an import and create/update records |
[!NOTE] Export is capped by Max Export Rows (default: 5,000).
Export Sale Orders
{
"name": "odoo_transfer",
"arguments": {
"action": "export_data",
"model": "sale.order",
"domain": [["state", "=", "sale"]],
"fields": ["name", "partner_id/name", "amount_total", "date_order"],
"format": "csv"
}
}odoo_dashboard
Category: Workflow | Policy: Admin only
Admin tool to create and manage live Odoo Spreadsheet Dashboards. Dashboards are created under Dashboards → MCP in the Odoo top menu.
action | Description |
|---|---|
create | Create a new dashboard from a spreadsheet definition |
update | Update an existing dashboard |
list | List all MCP-created dashboards |
{
"name": "odoo_dashboard",
"arguments": {
"action": "create",
"name": "Sales KPIs — Q3 2026",
"spreadsheet_data": "..."
}
}