Tameson Odoo icon

Tameson Odoo

Consume Odoo API

Overview

The Tameson Odoo node for n8n allows you to interact with the Odoo API, specifically targeting various resources such as Contacts.
For the Contact → Update operation, this node updates an existing contact in your Odoo system with new or modified information.
This is useful in scenarios where you need to synchronize contact data between Odoo and other systems, automate CRM updates, or batch-edit contact details from workflows.

Example use cases:

  • Automatically update a contact's address or phone number when changes are detected in another system.
  • Enrich Odoo contacts with additional data collected from web forms or third-party services.
  • Bulk-update internal notes or job positions for multiple contacts as part of a campaign.

Properties

Name Type Meaning
Contact ID String The unique identifier of the contact to update. Required.
Update Fields Collection A set of fields to update on the contact. You can specify one or more of the following sub-fields:
— Address Collection Structured address information (City, Country, State, Street, Street 2, Zip Code).
— Email String The email address of the contact.
— Internal Notes String Free-form notes or comments about the contact.
— Job Position String The job title or function of the contact.
— Mobile String The mobile phone number of the contact.
— Name String The full name of the contact.
— Phone String The landline phone number of the contact.
— Tax ID String The VAT or tax identification number of the contact.
— Website String The website URL associated with the contact.

Output

  • The output is a JSON object representing the updated contact record as returned by the Odoo API.
  • The structure typically includes all standard and custom fields of the contact, reflecting their new values after the update.
  • If multiple items are processed, the output will be an array of such objects.
  • In case of error (and if "Continue On Fail" is enabled), the output may include an error field with the error message.

Example output:

{
  "id": 123,
  "name": "Jane Doe",
  "email": "jane.doe@example.com",
  "phone": "+1234567890",
  "mobile": "+0987654321",
  "address": {
    "city": "Amsterdam",
    "country_id": 21,
    "state_id": 5,
    "street": "Main St 1",
    "street2": "",
    "zip": "1000AA"
  },
  "vat": "NL123456789B01",
  "website": "https://janedoe.com",
  "comment": "Updated via automation",
  ...
}

Note: The actual fields depend on your Odoo configuration and the fields you update.


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.
  • No additional environment variables are required beyond standard n8n setup.

Troubleshooting

Common issues:

  • Invalid Credentials: If the Odoo API credentials are incorrect, the node will return an authentication error. Double-check the URL, username, password, and database name.
  • Missing Contact ID: The "Contact ID" property is required. If omitted or invalid, the node will fail with an error indicating the missing or invalid ID.
  • Field Validation Errors: If you provide invalid data types or values for fields (e.g., non-existent country/state IDs), Odoo may reject the update and return an error message.
  • Permissions: Ensure the Odoo user has sufficient permissions to update contacts.

Error messages:

  • "Credentials are not valid": Check your Odoo API credentials.
  • "Settings are not valid: ...": There may be a misconfiguration in the connection settings.
  • "Record not found" or similar: The provided Contact ID does not exist in Odoo.
  • "Validation Error": One or more fields have invalid values; review the data being sent.

Links and References

Discussion