Odoo
The robomotion odoo CLI connects to Odoo ERP via XML-RPC for business management operations. It handles contacts, sales orders, invoices, products, leads, and any Odoo model — supporting create, read, update, delete, and search operations across all modules.
When to use
- Create, update, or search contacts, leads, and sales orders
- Manage invoices and products in Odoo
- Query any Odoo model using domain filters via XML-RPC
Prerequisites
robomotionCLI installed- Package installed:
robomotion install odoo - Odoo instance URL, database, and API credentials configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install odoo - Connect with session:
robomotion odoo odoo_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion odoo odoo_search_read --client-id "<client-id>" --model <model> --domain <filter> --session-id "<session-id>" --output json - Disconnect when done:
robomotion odoo odoo_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion odoo odoo_connect --session --output jsonConnects to an Odoo instance via XML-RPC and returns a client IDrobomotion odoo odoo_disconnect --client-id --session-id "<session-id>" --output jsonCloses the Odoo connection and releases resourcesrobomotion odoo odoo_search_read --client-id --model --domain-filter --fields [--100] [--0] --session-id "<session-id>" --output jsonSearches and reads records from any Odoo model using domain filtersrobomotion odoo odoo_create_record --client-id --model --values --session-id "<session-id>" --output jsonCreates a new record in any Odoo modelrobomotion odoo odoo_update_record --client-id --model --record-i-ds --values --session-id "<session-id>" --output jsonUpdates one or more existing records in any Odoo modelrobomotion odoo odoo_delete_record --client-id --model --record-i-ds --session-id "<session-id>" --output jsonDeletes one or more records from any Odoo modelrobomotion odoo odoo_get_fields --client-id --model --attributes --session-id "<session-id>" --output jsonRetrieves field metadata for any Odoo modelrobomotion odoo odoo_execute --client-id --model --method --arguments --keyword-arguments --session-id "<session-id>" --output jsonExecutes any method on any Odoo model via execute_kw
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)