Tameson Odoo icon

Tameson Odoo

Consume Odoo API

Overview

The Tameson Odoo node for n8n allows you to interact with custom resources in an Odoo instance via its API. Specifically, the Custom Resource → Get Many operation retrieves multiple records from a user-specified Odoo model (custom resource), supporting advanced filtering, field selection, and pagination.

Common scenarios:

  • Fetching lists of custom objects or models from Odoo for reporting, synchronization, or further automation.
  • Integrating Odoo data into other systems by retrieving filtered datasets.
  • Building dashboards or workflows that require dynamic access to various Odoo models.

Practical examples:

  • Retrieve all sales orders with a specific status.
  • Get a paginated list of custom product attributes for inventory management.
  • Export filtered customer records based on region or activity.

Properties

Name Type Meaning
Custom Resource Name or ID options Select the Odoo model (custom resource) to query. You can choose from a list or specify a model name/ID using an expression.
Return All boolean If enabled, returns all matching records. If disabled, limits the number of results according to the "Limit" property.
Limit number Maximum number of records to return (only shown if "Return All" is false). Minimum value is 1.
Offset number Number of records to skip before starting to collect the result set (only shown if "Return All" is false).
Options → Fields to Include multiOptions Specify which fields of the custom resource to include in the output. You can select from a list or use expressions to specify field names/IDs.
Filters fixedCollection Add one or more filter conditions to restrict which records are returned. Each filter includes:
- Field Name or ID
- Operator (<, >, =, !=, etc.)
- Value

Output

  • The node outputs an array of JSON objects, each representing a record from the selected custom resource/model in Odoo.
  • The structure of each object depends on the selected fields ("Fields to Include") and the underlying Odoo model.
  • Example output (fields will vary):
[
  {
    "id": 123,
    "name": "Sample Record",
    "status": "active"
  },
  {
    "id": 124,
    "name": "Another Record",
    "status": "inactive"
  }
]
  • If binary data is present in the model fields, it will be included as part of the JSON output (e.g., as base64-encoded strings).

Dependencies

  • Odoo API: Requires access to an Odoo instance with API credentials (URL, username, password, database name).
  • n8n Credentials: You must configure Odoo API credentials in n8n under the name odooApi.
  • Environment: No special environment variables required beyond standard n8n setup.

Troubleshooting

Common issues:

  • Invalid credentials: If the Odoo API credentials are incorrect, authentication will fail. Error message:
    "Credentials are not valid" or "Settings are not valid: ..."

    • Resolution: Double-check your Odoo URL, username, password, and database name.
  • Model or field not found: If you specify a non-existent custom resource or field, Odoo may return an error or empty results.

    • Resolution: Use the dropdowns to select valid models and fields, or verify their existence in your Odoo instance.
  • Insufficient permissions: The Odoo user may lack permission to read the specified model or fields.

    • Resolution: Ensure the user has appropriate access rights in Odoo.
  • Large result sets: Retrieving too many records at once may cause timeouts or memory issues.

    • Resolution: Use filters, limits, and offsets to paginate results.

Links and References


Discussion