Connect Odoo from Python and integrate it with e-commerce, legacy ERPs, databases and everything else in your landscape. Read and write partners, leads, sale orders and any other model over XML-RPC or JSON-RPC, with connection pooling and credentials handled by the platform - and let Odoo call your services back through REST channels.
Query any Odoo model with search_read - domains, field lists and pagination from Python
Turn incoming webhooks into CRM leads and other new records in Odoo
Look up sale orders and other records and update them in place
Connect to hosted Odoo editions with API keys over JSON-RPC and TLS
Automation rules and webhooks in Odoo that invoke your Zato services
Map Odoo records to Python dataclasses for typed access and OpenAPI generation
Where to keep environment-specific settings - hosts, databases and credentials
Odoo is one of the most widely deployed business platforms in the world - CRM, sales, accounting, inventory, e-commerce and hundreds of other applications, all built on a single data model. Every one of those applications exposes its data through Odoo's external API as models such as res.partner, crm.lead or sale.order, and that API is exactly what Zato's outgoing Odoo connections speak. With Zato, you configure a connection once - host, database, credentials - and every Python service can then search, read, create and update any Odoo model, orchestrating Odoo with the rest of your integration landscape. The same works in reverse too, because Odoo's automation rules and webhooks can invoke Zato services through REST channels.
XML-RPC and JSON-RPC, each in plain and TLS variants - you pick the protocol in the connection's form, as described in the Odoo chapter.
With a username and password for self-hosted Odoo, or with an API key for Odoo Online and odoo.sh - the key goes in the password field, as explained in the Odoo Online chapter.
Obtain a client from the connection and call search_read on any model, with domains, field lists and pagination - examples are in the reading data chapter.
Yes - create, write and every other method of Odoo's external API is available, as shown in the creating records and updating records chapters.
Yes - Odoo's automation rules and webhooks can post to Zato REST channels, letting record changes in Odoo trigger integrations, as described in the Odoo calls Zato chapter.
Self-hosted Odoo as well as the hosted Odoo Online and odoo.sh editions - the hosted ones connect over JSON-RPC with TLS and API keys, per the Odoo Online chapter.
Each connection is a server-managed pool - you change its definition in the Dashboard and the changes propagate automatically, with no restarts needed.
Get started with Zato and connect Odoo to your enterprise systems in minutes.