Integrations / Odoo
Odoo AI voice agents that log leads in your CRM
A Cartesia agent finds the caller's Odoo contact, creates a CRM lead with what they need, and checks sales orders through Odoo's JSON-2 external API.
Sales desk agent
Finds the caller in Odoo, logs new enquiries as leads and answers order questions.
Instructions
Look up the caller by phone number. For a new enquiry, ask what they need and when, then create a lead with a short description. For an existing order, ask for the order reference and read back the status. Transfer to sales if the caller asks for a person.
- Handoff
- Sales team
Connected tools
- Find contactWebhook
- Create leadWebhook
- Check orderWebhook
- Transfer to salesTransfer
What a Odoo AI voice agent can do
Open one to watch a call. The grey lines are the tools the agent calls mid-sentence.
Your service searches res.partner for the caller's phone number, so the agent greets a known customer by name and company.
New enquiries become crm.lead records with the caller's name, phone and a short description, ready in your CRM pipeline.
Given an order reference such as S00042, your service reads the sale.order record and returns its status and order date.
Tool definitions
Webhook tools go to POST /v1/agents/tools. Transfers are a system tool on the agent. Replace the placeholder values in capitals with your own.
Find contact
Finds the caller's Odoo contact by phone number.
Show the JSON definition
Create lead
Creates a CRM lead for the enquiry.
Show the JSON definition
Check order
Returns a sales order's status by reference.
Show the JSON definition
Transfer to sales
Cold transfer to a salesperson.
Show the JSON definition
Set it up
No native connector. The tools call a small service of yours, which holds an Odoo API key and calls Odoo's JSON-2 external API. Vendor details read in November 2026.
Create an API key
In Odoo, sign in as an integration user with Sales and CRM access and open Preferences > Account Security > New API Key. Odoo asks for a description and a duration.
Run the three endpoints
Your service posts to
/,json/ 2/ res.partner/ search_read /json/2/crm.lead/createand/, with the key as a bearer token. If your server hosts several databases, name yours injson/ 2/ sale.order/ search_read X-Odoo-Database.Add the tools
Point the tools at your service with a bearer secret. The phone fields read
system__caller_id, so the agent never asks for the number.Test on a copy of your database
Run the calls against a duplicate or staging database and check the lead lands in the right sales team.
Before you build
API access needs the Custom plan
Odoo's docs say the external API is only available on Custom pricing plans. One App Free and Standard plans can't use it.
Why the service in the middle
JSON-2 searches take a domain, a nested list of conditions, which a webhook tool's schema can't fill cleanly. Your service builds it and returns only the fields the agent needs.
Rotate the key
Odoo API keys last at most three months, so the integration stops when the key expires. Put the expiry date on a calendar, or have your service generate the next key in time.
XML-RPC is on its way out
Odoo plans to remove /xmlrpc and /jsonrpc in Odoo 22 (fall 2028) and Odoo Online 21.1 (winter 2027). Build new integrations on JSON-2.
Use cases for teams on Odoo
More integrations
Enterprise-grade security
HIPAA compliant

SOC 2 Type 2

GDPR
Odoo AI voice agent FAQs
Can an AI voice agent connect to Odoo?
Yes, through Odoo's JSON-2 external API. A Cartesia agent calls a small service of yours that holds an Odoo API key, finds the caller's contact by phone number, creates CRM leads and checks sales orders. There is no native Odoo connector or Odoo app to install.
Which Odoo plan includes API access?
Custom. Odoo's docs say the external API is only available on Custom pricing plans, so One App Free and Standard plans can't use it. Check your plan before you build the service.
Can the agent create CRM leads in Odoo from calls?
Yes. New enquiries become crm.lead records with the caller's name, phone and a short description, through /json/2/crm.lead/create. The phone field reads the caller ID, so the agent never asks for the number.
Does it work with older Odoo versions?
Yes, through XML-RPC or JSON-RPC. The JSON-2 API arrived in Odoo 19. On older versions your service can call the same models the old way, and the tools stay the same. Odoo plans to remove /xmlrpc and /jsonrpc in Odoo 22 and Odoo Online 21.1.
Do Odoo API keys expire?
Yes, after three months at most, and the integration stops when the key does. Put the expiry date on a calendar, or have your service create the next key in time.
Get started today
Talk to an expert.
Connect with a member of our team and learn how Cartesia can help you build world-class voice experiences.
Start building.
Access our models via API and bring a voice agent into production in minutes.