Odoo Integration
API, Webhooks and Integrations
When someone replies positively to your cold outreach, you want that lead in your CRM with the conversation attached, not stranded in a separate inbox. The Odoo integration pushes every positive reply into Odoo as a contact and an opportunity, with the full email thread logged to the record’s chatter.
The integration is part of the Scale plan. Each Reachkit workspace connects to one Odoo instance, and it works with both Odoo Online and self-hosted Odoo.
Before you connect
Odoo’s API uses a per-user API key rather than a password. Generate one inside Odoo first:
- In Odoo, open your user menu and go to Preferences
- Open the Account Security tab
- Click New API Key, give it a name, and copy the key (Odoo only shows it once)
A couple of things to know:
- Your Odoo plan needs to allow external API access. Self-hosted Odoo (Community or Enterprise) always does; for Odoo Online it depends on your plan, and the connection step will tell you if it’s blocked.
- We recommend creating a dedicated Odoo user for the integration, with only the access your team is comfortable sharing.
Connecting Odoo
- In Reachkit, navigate to Settings
- Select the Integrations tab
- In the CRM section, click Connect on the Odoo row
-
Fill in the connection details:
-
Instance URL (for example
https://yourcompany.odoo.com) - Database (for Odoo Online this is usually your subdomain, but it can differ, and on self-hosted it is whatever your admin named it)
- Login (your Odoo email)
- API key (the one you generated above)
-
Instance URL (for example
- Click Connect Odoo
Reachkit tests the connection before saving it. If anything is off (wrong database, an API key without access, or an Odoo Online plan that doesn’t allow the API), you’ll see a message explaining what to fix.
Optionally, pick the opportunity stage new opportunities should land in. Leave it on “Use Odoo default” and Odoo decides the stage.
What gets synced
The first time a conversation becomes positive, Reachkit pushes three things to Odoo:
-
A contact (
res.partner), matched by email. If a contact with that email already exists, Reachkit reuses it and your existing data is preserved. When the lead has a company, it is linked as the contact’s company. -
An opportunity (
crm.lead) in your chosen stage, associated with the contact. - The full email thread, with each message posted to the record’s chatter so the conversation reads in order.
After the initial sync, every new message in the conversation is logged to the same records. The Odoo chatter keeps up as the conversation unfolds.
What counts as a “positive” reply
Reachkit uses AI to classify every incoming reply. These four categories trigger a sync:
-
interested -
meeting_requested -
referral -
needs_more_info
If the AI mislabels a reply, you can manually relabel it from the unibox. Setting any conversation to one of the labels above triggers the same sync immediately.
Changing or removing the connection
To change the opportunity stage:
- Go to Settings > Integrations
- Click Manage on the Odoo row
- Pick a different stage and click Save Odoo settings
To disconnect:
- Click Manage on the Odoo row
- Click the trash icon and confirm
Disconnecting stops future syncs but leaves all existing contacts, opportunities, and messages in Odoo exactly as they are. Reconnecting later resumes syncing for new positive replies.
Common questions
Does this overwrite my existing Odoo contacts?
No. Reachkit matches contacts by email and reuses existing records. The new opportunity and messages get attached to the existing contact, and your existing contact fields are left alone.
What about positive replies I already have when I first connect Odoo?
New positive replies (after you connect) sync automatically. To push an existing positive conversation that’s already in your unibox, open it and click Sync to CRM.
Do I need to reconnect when my Odoo session expires?
No. The integration uses your API key, which doesn’t expire with your login session. You only need to reconnect if you delete the API key in Odoo or change the connection details.
It says my Odoo Online plan doesn’t allow the API. What now?
Some Odoo Online plans don’t expose the external API. Check your plan’s API access with Odoo, or use a self-hosted Odoo (Community or Enterprise), which always allows it.
Is this two-way sync?
No. The integration is one-way: Reachkit pushes positive replies to Odoo. Changes you make in Odoo are not pulled back into Reachkit.