Odoo and Zendesk integration
Odoo handles your business operations and accounting. Zendesk handles customer support. When customer records in Odoo change, Zendesk needs to know right away so support agents see the full account history. When an invoice is created in Odoo, a support ticket can be logged in Zendesk to track payment status. The two systems speak different languages and authenticate differently; ml-connector translates between them and moves the records on a schedule.
What moves between them
Customer records flow from Odoo into Zendesk as support users and organizations. When a res.partner (customer) is created or updated in Odoo, ml-connector pushes the name, email, and company to Zendesk as a user and links it to an organization. Invoice records from Odoo can trigger ticket creation in Zendesk tagged with the invoice number and customer reference, so the support team can locate payment status without switching systems. Zendesk webhooks notify ml-connector when a ticket is created, updated, or closed, allowing backflow to Odoo for audit purposes.
How ml-connector handles it
ml-connector stores the Odoo API key and the Zendesk OAuth2 client credentials encrypted in its database. On the Odoo side it uses XML-RPC or JSON-2 to authenticate once and then poll for changes using a write_date high-water mark, respecting the Odoo user's access rights and record rules. On the Zendesk side it presents the OAuth2 access token on every call and handles the 401 token-refresh flow. ml-connector maps Odoo customer (res.partner) fields to Zendesk user fields, creates Zendesk organizations where needed, and tags Zendesk tickets with Odoo invoice IDs for traceability. It validates email addresses before writing to Zendesk, since Zendesk requires valid email on users. When Zendesk webhooks arrive, ml-connector verifies the HMAC-SHA256 signature and updates Odoo records if needed, with a full audit trail of every sync, every mapping decision, and every failed write.
A real-world example
A mid-sized B2B software company sells license subscriptions through Odoo and runs customer support in Zendesk across two time zones. Sales enters new customer records in Odoo; support needs those customers set up in Zendesk within minutes so agents can see the account type and billing contact when a ticket arrives. When a license renewal invoice is issued in Odoo, a ticket is auto-created in Zendesk tagged with the invoice number and assigned to the account owner. Before the integration, support created customers manually after sales entered them, often with typos, and spent time finding invoice status by logging into Odoo. With Odoo and Zendesk connected, new customers appear in support's queue within minutes, and invoice references are built into each ticket automatically.
What you can do
- Sync Odoo customer records (res.partner) into Zendesk as users and organizations on a polling schedule you control.
- Create Zendesk support tickets automatically when invoices are issued in Odoo, tagged with the invoice reference.
- Receive Zendesk webhook events when tickets are created, updated, or closed, and log them in Odoo for audit.
- Authenticate Odoo with API key and Zendesk with OAuth2, handling token refresh and expiry.
- Maintain a full audit trail of every customer sync, invoice link, and ticket event, with the ability to replay failed writes.
Questions
- Does ml-connector sync all Odoo customers to Zendesk, or can I filter?
- ml-connector uses Odoo's record rules and the authenticated user's access rights to determine which customers are visible. You can also configure polling filters (e.g., only customers with a certain tag or type) before syncing. Only customers visible to the integration user in Odoo are synced to Zendesk.
- What happens when an Odoo customer email changes or is invalid?
- ml-connector validates email before writing to Zendesk, since Zendesk requires a valid email on user records. If an Odoo customer has no email or an invalid one, the sync logs the issue in the audit trail and skips that customer until the email is corrected in Odoo.
- Can invoices flow back from Zendesk to Odoo, or is it one-way?
- Invoices are created in Odoo and flow into Zendesk as ticket references. Zendesk webhooks notify ml-connector when tickets are updated or closed, which ml-connector logs in Odoo for audit purposes, but does not auto-create invoices in Zendesk or modify them in Odoo. The main flow is Odoo to Zendesk.
Related integrations
More Odoo integrations
Other systems that connect to Zendesk
Connect Odoo and Zendesk
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started