Odoo can place AI voice calls with the Edesy AI Voice module for Odoo 16. It auto-calls new CRM leads and customers whose sales orders are confirmed, adds a call button to contacts, leads and orders, logs every transcript and recording link to Chatter, and matches inbound callers to contacts by phone number. Odoo stays the system of record.
Connect Odoo to a voice agent: Try Edesy free — ₹50 free credit, no card needed.
What the module does
| Capability | How it works |
|---|---|
| Lead call | When a new lead or opportunity is created, Odoo places an AI call (toggle in settings) |
| Order confirmation call | When a sales order is confirmed, the customer gets a call with the amount, items and delivery details as variables |
| Manual call button | On contact, lead and sales order forms: choose the agent, add a topic or instruction, add product context |
| Chatter log | After the call, the transcript and a recording link are posted to the source record's Chatter |
| Inbound matching | Inbound calls are matched to a contact by phone number and logged to Chatter |
| Background jobs | Calls are queued with OCA queue_job, so the Odoo screen never waits on the call |
Telephony, speech, the language model and the voice all run on Edesy. Odoo triggers the call and keeps the record.
Why call from Odoo instead of exporting a list
Most Odoo teams start with exports: download new leads every morning, upload them to a dialer, copy the results back. That loses time on the leads that matter most and leaves the record incomplete.
Calling from Odoo fixes three things:
- Speed. The lead is called when it is created, not the next day.
- Context. The agent gets the lead's name, the product they asked about, or the order lines as variables, so the call is specific.
- One record. The salesperson opens the lead and sees the call transcript in Chatter next to every email and note.
Setup
- Build the agent in Edesy. Use variables in the prompt for what changes per call. For order
confirmation, for example
{{customer_name}},{{order_amount}}and{{delivery_date}}. The template gallery has order status and delivery templates in several Indian languages to start from. - Install the module in your Odoo 16 addons path along with OCA
queue_job, and make sure a job runner is configured. - Open AI Voice, Configuration, Settings and enter the API base URL and an Edesy API key
(
vp_live_...). - Test and sync agents. The module checks the key and pulls your agent list.
- Pick a default agent for automatic calls.
- Turn on the triggers you want: auto-call new leads, auto-call on sales order confirmation.
- For inbound logging, copy the webhook URL shown in settings and register it as a webhook subscription in the Edesy dashboard.
Outbound calls do not need a webhook registration, because each call carries its own callback.
Use case 1: call every new lead
Leads from your website form or other sources land in Odoo CRM. The module calls each new lead with a qualification agent that asks two or three questions: what they need, when, and their budget range. Post-call extraction turns the answers into fields, and the summary sits in Chatter for the salesperson.
Keep the call short. The goal is to qualify and book a follow-up, not to close on the first call. The agent can check calendar availability and book a meeting during the call.
Use case 2: confirm sales orders before dispatch
When an order is confirmed, the customer gets a call that reads back the order, confirms the delivery address and asks a clear yes or no. For cash on delivery, this cuts parcels that get refused at the door. The call result lands on the sales order, so the warehouse can hold or release it.
Use case 3: a call button for the team
Sometimes a person decides a call is needed: a quote follow-up, a payment reminder, a re-engagement call. The Initiate AI Call button on the record opens a wizard where they choose the agent and add a one-line instruction, such as "ask if they reviewed the quote sent on Monday". The AI makes the call and logs it.
Use case 4: inbound calls that find the contact
When a customer calls your Edesy number, the module looks up the caller's number in Odoo contacts and logs the call to the matching record. Your team sees who called and what was said without searching.
Designing the agent for ERP data
- Pass facts as variables, not as prose. Order amount, item names and dates should come from Odoo fields so the agent never guesses.
- Attach a knowledge base on the Edesy side for product questions and policies. The module passes per-call variables; knowledge base content is attached to the agent itself.
- Set clear dispositions such as confirmed, cancel requested, callback requested and wrong number, so the result is easy to act on.
- Choose the language mode your customers use. Edesy supports 75+ languages, including 14 Indian languages and Hinglish or bilingual modes.
For a broader view of connecting voice agents to ERPs, see ERP integration and CRM integration.
What it costs
| Item | Cost |
|---|---|
| Odoo module | Ask us for the module and setup help |
| Call minutes | From ₹4/min on plans and credit packs, ₹6/min pay as you go |
| Telephony | Billed separately |
| Free credit to test | ₹50 on sign-up |
A 90-second confirmation call uses two 60-second billing pulses. Plan details are on the pricing page, and API key setup is in the developer docs.
Before going live
Test the agent alone first: a browser call in the Test Center, then a few calls to your own phone with real-looking variables. Then switch on one trigger, watch the first day of Chatter logs, and only then add the next. See testing and evals.
Call your Odoo leads automatically: Start on Edesy — ₹50 free credit, no card needed.