Começar

Connect your Odoo

Credentials, Odoo API key, encryption, production and staging environments, and how to diagnose the most common connection errors.

6 min de leituraAtualizado a 7 de agosto de 2026

Esta página ainda não está traduzida para o seu idioma: é apresentada em inglês.

The Odoo connection is the foundation of everything else: it is what gives Aidoo, and therefore your assistants, agents and dashboards, access to your data.

Aidoo connects to Odoo over XML-RPC, with an API key. No Odoo module to install, no webhook to configure.

Generate the API key in Odoo

An API key, never a password

Odoo lets you authenticate over XML-RPC with an account password. Don't. A password cannot be revoked without changing the account, it never expires, and it grants access to the web interface. An API key is revoked in one click and only works against the API.

In your Odoo:

  1. Avatar in the top right → My profile
  2. Account security tab → New API key
  3. Name it Aidoo and choose a validity period
  4. Copy the key: Odoo will never show it again

Which Odoo account should you use?

This key establishes the connection and reads your database structure. It does not run your teams' requests.

Each member acts with their own Odoo rights

Once the connection is in place, every person registers their own Odoo API key under Team → Odoo token. Their requests then go out under their identity, with their rights: an accountant sees accounting, a salesperson sees their own portfolio. The connection key is never used to act on their behalf, and a member who has not linked their account yet gets a message asking them to.

So you can give some members broader Odoo rights than the connection account has: their own token is what decides.

ContextRecommended account for the connection
Evaluation, trialYour admin account, it is the fastest
ProductionA dedicated Odoo user named Aidoo, with the read access introspection needs
Autonomous agentsEach agent borrows a member's identity: that member's token is what counts

Watch the expiry date

An expired Odoo API key cuts Aidoo off instantly, with an authentication error. Note the expiry date when you create the key and plan the rotation: it is the number-one cause of production outages.

Fill in the connection in Aidoo

Open Odoo connection in Aidoo.

FieldWhat it expectsCommon mistake
Odoo URLYour Odoo addressEntering another service's address
Database nameFilled in automatically where possibleConfusing it with the company name
UsernameThe login of the account that created the keyUsing the display name instead of the login
Odoo API keyThe key copied from OdooPasting the account password

Click Test connection before saving. Aidoo performs a real authenticate call: a Connected badge means all four fields are right.

Filling in the Odoo credentials in Aidoo, then testing the connection.

Finding the database name

In most cases there is nothing to look for: as soon as the URL is entered, Aidoo queries your instance and fills the field in. If it finds several databases it offers you the list; if it finds none, your Odoo has database listing disabled and you must type it in.

In that last case:

  • Odoo Online (.odoo.com): usually the subdomain. For https://acme.odoo.com, the database is most often acme.
  • Odoo.sh: the name appears in the Branches tab, formatted as branch-name-1234567.
  • Self-hosted: open https://your-odoo/web/database/selector. If a single name shows up, that's the one.

Production and staging

Aidoo manages two environments: production and staging, each with its own credentials. Only one is active at any moment, and that choice is per member: you can work against the test copy while the rest of the team stays on production. Without a personal choice, the workspace's environment applies.

The point: aim your assistants at a test copy while you validate a write-heavy workflow, then switch to production without reconfiguring anything on the Claude side.

Switching takes effect at once, mid-conversation included

The change applies from the next call: nothing to restart. The assistant, however, memorised the environment at the start of the conversation and will keep announcing the old one while already querying the new. Tell it you switched, or open a new conversation, so what it says matches what it does.

API key permissions are set per environment: you can allow writes on staging and refuse them in production.

Encryption and storage

Your Odoo credentials are encrypted with AES-256-GCM before being written to the database, with an encryption key belonging to the Aidoo infrastructure and never stored alongside the data.

In practice:

  • the Odoo API key is never returned by the Aidoo API, not even to a workspace owner: the interface shows a masked field
  • it appears in no log, no stack trace, no export
  • it is decrypted in memory only, for the duration of one XML-RPC call

Leaving the field empty on save keeps the stored key: you can change the URL or the login without retyping it.

What Aidoo reads on first contact

On save, Aidoo introspects your database to discover the available models and their fields. This introspection reads no business data: only structure (model names, field names and types, relations).

That is what lets the assistant know your database has a custom x_customer_code field on res.partner, and use it without you having to explain it.

You can then block entire models or fields so they are never reachable, see Security & permissions.

Diagnostics

"Connection test failed"

In order of likelihood:

  1. Wrong database name: the cause in most cases, when auto-detection did not work
  2. Wrong domain: check the address really is your Odoo's
  3. Inexact login: it is the sign-in identifier, often an email address
  4. Expired or revoked key: generate a new one in Odoo
  5. XML-RPC blocked, see below

"Access denied" although the credentials are right

The account exists but the key does not belong to it, or the key has expired. Generate a key from the profile of that specific account: a key created by another user will not work.

Network error or timeout

Your Odoo is not reachable from the internet, or a firewall blocks outbound calls. Aidoo calls your Odoo from its own servers: an instance reachable only on your internal network or behind a VPN cannot work.

If your Odoo sits behind an IP allowlist, contact us for Aidoo's outbound IP addresses.

The assistant cannot see a model that exists

Two possible causes: the Odoo account lacks access rights to that model, or the model is blocked in your Aidoo settings. Check in Odoo first, signed in as that account.

Next step

Your Odoo is connected: all that remains is to plug an assistant into it.