Odoo ERP CLI Setup Odoo ERP can be configured headlessly with `kosmokrator integrations:configure odoo`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure odoo --set api_key=" $ODOO_API_KEY " --set url=" $ODOO_URL " --enable --read allow --write ask --json
kosmokrator integrations:doctor odoo --json
kosmokrator integrations:status --json Credentials
Authentication type: API key api_key. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Call Odoo ERP Headlessly Use the generic call form when another coding CLI or script needs a stable universal interface.
kosmo integrations:call odoo.odoo_list_contacts '{
"page": 1,
"limit": 1,
"name": "example_name",
"email": "example_email",
"is_company": true
}' --json Use the provider shortcut form for shorter human-facing commands.
kosmo integrations:odoo odoo_list_contacts '{
"page": 1,
"limit": 1,
"name": "example_name",
"email": "example_email",
"is_company": true
}' --json Agent Discovery Commands
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs odoo --json
kosmo integrations:docs odoo.odoo_list_contacts --json
kosmo integrations:schema odoo.odoo_list_contacts --json
kosmo integrations:search "Odoo ERP" --json
kosmo integrations:list --json All CLI Functions
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Odoo ERP.
odoo.odoo_list_contacts Read read List contacts (customers, vendors) from Odoo with pagination. Returns contact names, emails, phone numbers, and company info.
page, limit, name, email, is_company kosmo integrations:call odoo.odoo_list_contacts '{"page":1,"limit":1,"name":"example_name","email":"example_email","is_company":true}' --json copy kosmo integrations:odoo odoo_list_contacts '{"page":1,"limit":1,"name":"example_name","email":"example_email","is_company":true}' --json copy
odoo.odoo_get_contact Read read Get full details of a specific Odoo contact by ID. Returns name, email, phone, address, and all associated data.
id kosmo integrations:call odoo.odoo_get_contact '{"id":1}' --json copy kosmo integrations:odoo odoo_get_contact '{"id":1}' --json copy
odoo.odoo_create_contact Write write Create a new contact (customer or vendor) in Odoo. Supports individuals and companies.
name, email, phone, is_company, company_type, street, city, zip, country, website, vat, type, parent_id, function kosmo integrations:call odoo.odoo_create_contact '{"name":"example_name","email":"example_email","phone":"example_phone","is_company":true,"company_type":"example_company_type","street":"example_street","city":"example_city","zip":"example_zip"}' --json copy kosmo integrations:odoo odoo_create_contact '{"name":"example_name","email":"example_email","phone":"example_phone","is_company":true,"company_type":"example_company_type","street":"example_street","city":"example_city","zip":"example_zip"}' --json copy
odoo.odoo_list_sales_orders Read read List sales orders from Odoo with pagination. Filter by status, customer, or date range.
page, limit, status, partner_id, date_from, date_to kosmo integrations:call odoo.odoo_list_sales_orders '{"page":1,"limit":1,"status":"example_status","partner_id":1,"date_from":"example_date_from","date_to":"example_date_to"}' --json copy kosmo integrations:odoo odoo_list_sales_orders '{"page":1,"limit":1,"status":"example_status","partner_id":1,"date_from":"example_date_from","date_to":"example_date_to"}' --json copy
odoo.odoo_list_invoices Read read List invoices from Odoo with pagination. Filter by status, customer, or date range.
page, limit, status, partner_id, date_from, date_to kosmo integrations:call odoo.odoo_list_invoices '{"page":1,"limit":1,"status":"example_status","partner_id":1,"date_from":"example_date_from","date_to":"example_date_to"}' --json copy kosmo integrations:odoo odoo_list_invoices '{"page":1,"limit":1,"status":"example_status","partner_id":1,"date_from":"example_date_from","date_to":"example_date_to"}' --json copy
odoo.odoo_list_products Read read List products from Odoo with pagination. Filter by name, category, or type.
page, limit, name, category, type, sale_ok, purchase_ok kosmo integrations:call odoo.odoo_list_products '{"page":1,"limit":1,"name":"example_name","category":"example_category","type":"example_type","sale_ok":true,"purchase_ok":true}' --json copy kosmo integrations:odoo odoo_list_products '{"page":1,"limit":1,"name":"example_name","category":"example_category","type":"example_type","sale_ok":true,"purchase_ok":true}' --json copy
odoo.odoo_list_leads Read read List CRM leads and opportunities from Odoo with pagination. Filter by stage, type, or assigned user.
page, limit, type, stage, user_id, partner_id kosmo integrations:call odoo.odoo_list_leads '{"page":1,"limit":1,"type":"example_type","stage":"example_stage","user_id":1,"partner_id":1}' --json copy kosmo integrations:odoo odoo_list_leads '{"page":1,"limit":1,"type":"example_type","stage":"example_stage","user_id":1,"partner_id":1}' --json copy
odoo.odoo_get_current_user Read read Get the currently authenticated Odoo user profile. Returns name, email, role, and company information.
none kosmo integrations:call odoo.odoo_get_current_user '{}' --json copy kosmo integrations:odoo odoo_get_current_user '{}' --json copy Function Schemas Use these parameter tables when building CLI payloads without calling integrations:schema first.
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_list_contacts --json
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_get_contact --json
Operation Write write
Schema command kosmo integrations:schema odoo.odoo_create_contact --json
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_list_sales_orders --json
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_list_invoices --json
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_list_products --json
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_list_leads --json
Operation Read read
Schema command kosmo integrations:schema odoo.odoo_get_current_user --json Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.