OdooCLI Agent Mode: Talk to Your Odoo Instance in Plain English
How the AI agent connects to Odoo via XML-RPC, reads your data, runs diagnostics, deploys modules, and processes invoices — all from natural language commands.
What is agent mode?
OdooCLI ships with an AI-powered agent that connects to your Odoo instance and lets you operate it through natural language. Instead of navigating menus or writing XML-RPC scripts, you describe what you need and the agent handles it.
$ odoocli
> Is my Odoo instance healthy?
┊ odoo_doctor
┊ Server: 18.0 Community
┊ Modules: 142 installed
┊ Users: 34 active
┊ Cron: 28 active, 0 overdue
┊ Errors: 0 in last 24h
┊ All checks passed.
The agent talks to Odoo through six tool primitives that it combines as needed.
The six tools
odoo_connect
Authenticate to any Odoo instance. Supports password auth (v14-18) and API key auth (v19+). Save connection profiles for quick switching between environments.
odoo_read
Search and read records from any Odoo model using domain filters. The agent translates your question into the right model, domain, and field selection.
> Show me overdue invoices over $5000
┊ odoo_read account.move
┊ domain: [["state","=","posted"],["payment_state","!=","paid"],
┊ ["invoice_date_due","<","2026-03-21"],["amount_residual",">",5000]]
odoo_write
Create, update, or delete records. The agent always confirms before executing writes.
odoo_action
Execute model methods — action_post on invoices, button_immediate_install on modules, action_confirm on sales orders. This is how the agent triggers Odoo business logic.
odoo_doctor
Run a full health diagnostic: server version, installed modules, active users, cron job status, and recent error logs. One command gives you the complete picture.
odoo_list_models
Discover what models are available. The agent uses this to figure out which model to query when your request is ambiguous.
Built-in skills
Skills are step-by-step procedures the agent follows for common operations. They encode best practices so the agent doesn't skip safety steps.
health-check
Scans server version, module state, user counts, cron status, and error logs. Flags anything that needs attention.
deploy-module
Installs or upgrades modules with a preflight checklist: verify the module exists, check dependencies, remind about backups, ask for confirmation. Runs a health check after deployment.
backup-restore
Validates your backup strategy (database dump, filestore, custom modules, config files) and guides you through a restore rehearsal on a test environment.
inventory-audit
Detects products with negative stock, stuck transfers, and valuation discrepancies. Presents findings as a summary with recommended actions.
invoice-posting
Finds draft invoices, shows them for review, posts in batch with confirmation, and verifies the result. Processes large batches in chunks.
Bring your own model
The agent works with any LLM provider:
- OpenRouter — 200+ models including Claude, GPT-4, Gemini, Llama, Mistral
- OpenAI — Direct API access
- Anthropic — Direct Claude access
- Custom endpoints — Any OpenAI-compatible API
Configure once in cli-config.yaml and switch models on the fly.
Getting started
pip install odoocli
odoocli
> connect to my-company.odoo.com
The agent will prompt for credentials and start working. Every write operation requires your explicit confirmation.