Odoo Write
Description
Section titled “Description”The Odoo API Write module allows sending data to Odoo or Open Bravo endpoints via POST or PUT requests with basic authentication. It uses native HTTP requests (without axios) for greater control over the connection. It supports dynamic URL and body resolution, automatic normalization of payloads with numeric keys, and following links.href links to check the operation status. It is ideal for creating or updating records in Odoo, such as products, orders, customers, etc.
Configuration
Section titled “Configuration”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credentials | Yes | Odoo / Open Bravo access credentials |
| url | text | Yes | Endpoint URL (supports {{variable}} variables) |
| method | select | No | Operation to perform: POST (Create), PUT (Update), DELETE (Delete). Default: POST |
Credentials
Section titled “Credentials”The credential must contain the fields:
username: Username for basic authenticationpassword: Password for basic authentication
The module generates an Authorization: Basic <base64> header with these credentials.
Output
Section titled “Output”{ "nextModule": "siguiente_modulo", "data": { "result": "respuesta del servidor", "statusInfo": {} }, "_meta_": { "status": 200, "statusText": "OK" }}Usage Example
Section titled “Usage Example”Basic case
Section titled “Basic case”{ "credentials_id": "cred_odoo_01", "url": "https://mi-odoo.com/api/products", "method": "POST"}API Used
Section titled “API Used”Any REST endpoint compatible with Odoo / Open Bravo. Requests are made with native Node.js HTTP/HTTPS.
- Supports dynamic {{variable}} variables in the URL
- The body is taken from the workflow’s input
data; ifresolveBodyis active,config.bodywith dynamic variables is used - Payloads with numeric keys (such as
{"0": {...}}) are automatically normalized to arrays _meta_fields are recursively removed from the payload before sending- If the response contains
links.href, the module makes a second GET request to obtain status information - The default timeout is 30 seconds
continueOnError: trueallows the workflow to continue even if the request fails
Related Nodes
Section titled “Related Nodes”- OdooApi - Read from Odoo / Open Bravo