Skip to main content
Terminal IAHelp center
Configure a bot

Connect Odoo and CRMs

Use Odoo presets, synchronise Odoo languages and connect CRMs without exposing more data than necessary.

CRM integrations allow the bot to find a contact, read authorised information or create an item such as a ticket or lead.

Use an Odoo preset

After creating the Odoo connection, choose Add preset. Search for the requirement, then select a ready-to-use configuration: caller identification, tickets, CRM, appointments or customer account information, depending on the Odoo version.

The guided form displays the models, fields, filters and parameters understood by the AI. Advanced JSON configuration remains available for special cases.

Odoo 18 and Odoo 19

Choose the exact version of your environment. BeAI adapts API methods and preset fields. Do not manually add a field that does not exist in your Odoo model.

For a custom action targeting a record, the historical args: [[id]] form remains compatible with both versions: it is preserved for Odoo 18 XML-RPC and converted to the named ids parameter used by the Odoo 19 JSON-2 API. The flattened args: [id] form sometimes produced by the model is normalized in the same way. All other method parameters must remain named arguments in kwargs.

For a chatter message containing several paragraphs or a list, use simple HTML in body (<p>, <ul>, <li>) with body_is_html=true. The Customer account and invoices and Ticket management presets enforce this format for their internal notes. If a legacy action supplies HTML tags without explicitly enabling body_is_html, BeAI converts them to readable text so Odoo does not display the tags literally.

The Customer account and invoices preset first locates the exact invoice, then reads its lines (account.move.line) to explain products, labels, quantities and amounts. It can then record the contact's response in their chatter. Both searches require an explicit Odoo JSON domain to avoid reading a different invoice by mistake.

Before calling Odoo, BeAI converts unambiguous variants to one canonical form: native arrays, serialized domains or clauses, nested JSON encoding, extra wrappers, missing outer brackets, fenced Markdown JSON, and field/operator/value clause objects. Logical operators are validated against Odoo prefix notation; a provably redundant binary operator is removed and a simple unambiguous infix expression is converted. A required empty domain, incomplete operator, incorrectly sized clause, or scalar in/not in value is rejected locally with an actionable format error. The strict field and operator allow-lists are always applied after normalization and before any Odoo request.

Choose the execution language

The language used by the Odoo API is independent from the language spoken by the bot. In the connection, choose Fetch languages: BeAI queries res.lang with the API account and only offers languages that are active on that instance. Then select the required language.

BeAI sends this choice in context.lang when every operation runs, through XML-RPC for Odoo 18 and JSON-2 for Odoo 19. The fallback is en_US when no explicit choice exists. If a language is disabled in Odoo, fetch the catalog again and select an available language.

Caller identification

The fixed identification preset normalises the incoming number before searching. It can therefore match a national number with its international form. The returned name personalises the greeting without injecting all contact data.

Create a useful ticket

The ticket preset supplies at least a title, a description based on the conversation and the identified customer when this information is available. Add any fields required by your team to the instructions.

Security

  • Use a dedicated API account.
  • Fetch the languages again after installing or disabling a language in Odoo.
  • Authorise only the required models and methods.
  • Avoid data deletion.
  • Test searches with several contacts that share a name.
  • Check the actual CRM result after every change.
Documentation updated with the application