Find Records by Name

odoo.name_search
ActionCRM & salesconnection required

Calls the Odoo API with the connection's credentials.

Look records up by their display name and return id and name pairs — the usual way to turn a customer or product name into the id a write needs.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Odoo
Secret shape
the API key, or {"api_key": "…"} — Odoo takes it in place of the password
Config it needs
base_url, db, username, uid
Resolved by
config.connection_id, else node.connection_id

Configuration

5 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
model
Technical name of the Odoo model to act on, such as 'res.partner' or 'sale.order'.
stringYes——res.partner
name
Text to match against each record's display name.
stringYes——Acme
operator
How the text is matched: 'ilike' is a case-insensitive contains, '=' is an exact match.
stringNoilikeone of "ilike", "like", "=", "=ilike", "=like"—
domain
Odoo search domain: a JSON array of conditions, e.g. [["is_company", "=", true]]. Leave it empty to match every record the user may read.
arrayNo——[["is_company","=",true]]
limit
Maximum number of matches to return.
numberNo100≥ 1—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "domain": [
    [
      "is_company",
      "=",
      true
    ]
  ],
  "limit": 100,
  "model": "res.partner",
  "name": "Acme",
  "operator": "ilike"
}

Output

One shape.

result

FieldTypeExample
matches
One object per match, with 'id' and 'name'.
array—
ids
Just the matched record ids.
array—
count
How many records the call returned or affected.
number—
model
The model the call was made against.
string—
{
  "count": 0,
  "ids": [],
  "matches": [],
  "model": ""
}

Notes

  • The display name is the model's own _rec_name, which is not always the 'name' field — a sale order matches on its reference, for instance.

See Find Records by Name run in a workflow.

In a technical demo we add the Odoo connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.