This module is used to create a bridge between Odoo and other AI systems like n8n.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Connect Odoo to external AI systems (like n8n) by configuring bridges that send record data and receive responses. Users can trigger a bridge from the chatter, or have it run automatically when records are created, updated or deleted.
This module lets administrators define "AI bridges": connections to an external AI service. Each bridge has a URL, an authentication method (none, basic username/password, or token), and a choice of what data to send.
- Payload: either no payload or the selected record, limited to chosen fields, with an optional filter.
- Result handling: nothing, post a message in the chatter, or open an action returned by the AI system.
- Timing: immediate, or asynchronous where Odoo gives the AI system a callback URL and waits up to a timeout.
Bridges can be triggered manually from a lightning-bolt button in the chatter of any record that has bridges configured for it. They can also run automatically on record creation, update or deletion, depending on the chosen usage. Deletion is prepared before the record disappears so the data can still be sent.
Every call is logged as an execution with its payload, response, status and any error, visible under the AI Bridge menu (restricted to system administrators). Access can be limited to specific user groups, and a multi-company rule keeps bridges and executions within the allowed companies.
Depends on
Required by other modules
Menus it adds
Models and fields (5)
- base · extends an existing model
- ai.bridge · new modelurl (URL), name, model (Model Name), usage, active, domain (Filter), user_id, model_id (Model), sequence, auth_type (Authentication Type), field_ids, group_ids, auth_token, company_id, description, result_kind, result_type, payload_type, async_timeout, auth_password, auth_username, execution_ids, model_required, sample_payload, execution_count
- mail.thread · extends an existing modelai_bridge_info
- ai.bridge.thread · new model
- ai.bridge.execution · new modelname, error, state, res_id, result, payload, model_id, company_id, payload_txt, ai_bridge_id, expiration_date
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 17.0
Confirmed on 2026-11-03 in branch 17.0 of OCA/ai.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0As an administrator access AI Bridge\AI Bridge.
Create a new bridge. Define the name, model, url and configuration.
In order to improve the view of the AI configuration, use groups and domain to set better filters.
Payload Configuration
On the external system, you will receive a POST payload. The data included will be the following:
General
- _odoo: Standard data to identify the Odoo Database
- _model: Model of the related object
- _id: Id of the related object
- _response_url: Url to call with the response in case of async calls
Record Payload
Adds a new item called record with all the fields.
Asynchronous and synchronous calls
The new system allows asynchronous and synchronous calls. Asynchronous calls makes sense when the task to be processed don't need to be immediate. For example, reviewing an invoice and leave a comment with the result. The same would happen with a chat message. We expect that the system will leave time to the AI to answer and Odoo's user can do other things.
Meanwhile, Synchronous calls will froze odoo system and wait for an answer. This makes sense when we expect some feedback from odoo user. It makes sense, when we open an action for example.
In the synchronous call, the result is processed when the AI system answers on the webhook. On the other hand, it will be processed automatically on the synchronous call.
Result processing
With the answers of the system we expect to do something about it. We have the following options:
No processing
In this case, the result will do nothing
Post a Message
We will post a message on the original thread of the system. The thread is computed by a function, so it can be overriden in future modules. It expects the keyword arguments of the message_post function.
Action
It expects to launch an action on the user interface. It only makes sense on synchronous calls.
It expects an action item with the following parameters:
- action: xmlid of the action
- context: Context to pass to the action (not required)
- res_id: Id of the resource (not required)
Usage
Source · Odoo 18.0Use the bolt widget in the chatter to execute the different AI options.
The options will be filtered according to the configuration.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.