Connect Odoo to your AI Employee to let callers book and manage appointments, check order status, get price quotes, and submit service requests β all without human intervention, directly inside your Odoo account.
Prerequisites
An active Odoo account on a plan that allows external API access (Custom plan on Odoo.com SaaS, or self-hosted Community/Enterprise edition)
Admin access to your Odoo instance
A dedicated API user in Odoo with permissions for Calendar, Sales Orders, and CRM Leads
Generate Odoo API credentials
In Odoo, go to Settings > Users and select your API user.
Open the Security tab.
Click Add API Key, confirm your password, set a duration, and click Generate.
Copy the key immediately β it is shown only once.
ποΈ NOTE
Note your Odoo instance URL (e.g., https://mycompany.odoo.com). You will need it when configuring attributes in the Builder. Do not include a trailing slash.
Add a project
Add the Odoo integration module to the customer's Builder. Follow the steps in Create a new project using these values:
Field | Value |
|
|
|
|
|
|
|
|
Ensure Auto update enabled is on, then click Create. Once created, click the three dots next to the project and select Force Update Project to pull the latest module version.
Configure the Odoo integration in the Builder
In the Builder, go to Attributes and search for
odoo.Enable Show Hidden to display all related attributes.
Set the following attributes and click Save after each:
Attribute | Required | Description |
| Yes | Your Odoo instance URL (e.g., |
| Yes | Email address of the Odoo API user. |
| Yes | API key generated in the previous step. |
Click Publish All.
On publish, the integration registers 8 scenarios covering booking, cancellation, reschedule, appointment lookup, order inquiry, quoting, and service request management.
What the AI Employee can do
Once configured, the AI Employee can handle the following tasks during a conversation:
Caller identification β matches the caller's phone number to their Odoo contact profile
Availability checking β queries the Odoo calendar for open slots
Appointment booking, rescheduling, and cancellation β creates and modifies calendar events
Order lookup β retrieves order history and status
Order notes and returns β adds notes to orders and initiates return requests
Price quoting β generates quotes from the Odoo product catalog
Service request management β creates, updates, checks status, and cancels CRM leads
Trigger phrases
The integration uses exact phrases to fire each action. These phrases must not be edited, shortened, translated, or reworded β even minor changes will prevent the associated action from firing.
Trigger phrase | Action |
| Caller identification |
| Availability lookup |
| Appointment creation |
| Appointment lookup |
| Appointment cancellation |
| Appointment reschedule |
| Order status lookup |
| Add note to order |
| Order list (for returns) |
| Return processing |
| Quote generation |
| Create CRM lead |
| Service request status |
| Cancel service request |
| Update service request |
ββ IMPORTANT
Do not alter any trigger phrase above β including rewording, translating, or abbreviating. If a phrase appears changed, restore it exactly and re-publish.
Test the integration
After publishing, verify each capability:
Caller ID β provide a test contact's phone number; the AI Employee should address them by name.
Booking β request a meeting and confirm the calendar event appears in Odoo.
Reschedule β ask to move the appointment and confirm the new time in the Odoo calendar.
Cancellation β request a cancellation with explicit confirmation and verify the event is removed.
Orders β check an order status, add a note, and initiate a return (requires the Sales module to be active).
Service requests β create a lead via service request and verify the CRM entry appears (requires the CRM module to be active).
Troubleshooting
Symptom | Likely cause | Fix |
"Authentication failed" | API key missing or expired | Verify the key exists in Odoo under Security; regenerate if needed |
Connection error on publish | URL unreachable or incorrectly formatted | Confirm the URL opens in a browser; remove trailing slashes; use |
AI Employee unresponsive to booking requests | Trigger phrase edited | Compare canvas phrases to the table above; restore any that differ and re-publish |
"Account not found" | Phone number format mismatch | Update the contact's phone number in Odoo to match the caller's format exactly |
Errors after API key rotation | Stale key in attributes | Paste the new key into |
Limitations
One Odoo database per Newo project. For multiple Odoo instances, create separate projects.
The AI Employee reads order data on demand β there are no real-time webhooks for order updates.
Multi-currency catalogs use only the API user's configured currency.
Odoo.com SaaS requires a paid plan to enable external API access.
