Skip to main content

Odoo integration

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

  1. In Odoo, go to Settings > Users and select your API user.

  2. Open the Security tab.

  3. Click Add API Key, confirm your password, set a duration, and click Generate.

  4. 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

Idn

odoo_integration

Title

odoo_integration

Registry

production

Module

odoo_integration

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

  1. In the Builder, go to Attributes and search for odoo.

  2. Enable Show Hidden to display all related attributes.

  3. Set the following attributes and click Save after each:

Attribute

Required

Description

odoo_base_url

Yes

Your Odoo instance URL (e.g., https://mycompany.odoo.com). No trailing slash.

odoo_username

Yes

Email address of the Odoo API user.

odoo_api_key

Yes

API key generated in the previous step.

  1. 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

Let me pull up your account...

Caller identification

Let me check what we have available for you...

Availability lookup

I am booking your appointment now...

Appointment creation

Let me check your appointment details...

Appointment lookup

I am cancelling your booking now...

Appointment cancellation

I am rescheduling your appointment now...

Appointment reschedule

Let me check your order status...

Order status lookup

I'll add that note to your order now...

Add note to order

Let me pull up your orders...

Order list (for returns)

Let me process that return for you...

Return processing

Let me prepare a quote for you...

Quote generation

Let me create a service request for you...

Create CRM lead

Let me check your service requests...

Service request status

Let me cancel that service request for you...

Cancel service request

Let me add that to your 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:

  1. Caller ID β€” provide a test contact's phone number; the AI Employee should address them by name.

  2. Booking β€” request a meeting and confirm the calendar event appears in Odoo.

  3. Reschedule β€” ask to move the appointment and confirm the new time in the Odoo calendar.

  4. Cancellation β€” request a cancellation with explicit confirmation and verify the event is removed.

  5. Orders β€” check an order status, add a note, and initiate a return (requires the Sales module to be active).

  6. 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 https://

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 odoo_api_key and click Publish All

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.

Did this answer your question?