Check connectivity and return the Odoo server version info.
List Odoo models (technical name + label). Optionally filter by a
case-insensitive substring matched against the model name or label,
e.g. 'sale', 'res.partner', 'invoice'.
Inspect the schema of an Odoo model. Returns each field's label, type,
help text, requiredness and relation. Pass `fields` to limit the result
to specific field names. Example model: 'res.partner'.
Query records from an Odoo model.
Args:
model: Technical model name, e.g. 'sale.order', 'res.partner'.
domain: Odoo search domain as a list of triplets, e.g.
[["state", "=", "sale"], ["amount_total", ">", 1000]].
Use 'and'/'|' operators as Odoo expects. Defaults to all records.
fields: Field names to return. Omit to let Odoo decide (can be large).
limit: Max records (capped by ODOO_MAX_RECORDS).
offset: Pagination offset.
order: Sort spec, e.g. 'date_order desc'.
Count records in a model matching an Odoo domain filter.
Fetch specific records by their ids. Pass `fields` to limit columns.
Group and aggregate records server-side (one call instead of pulling rows).
Args:
model: Technical model name, e.g. 'sale.order'.
group_by: One or more fields to group on. A field may carry a
granularity, e.g. 'date_order:month'.
measures: 'field:agg' specs. Bare 'field' means sum. Allowed
aggregators: sum, avg, min, max, count, count_distinct. Omit to
count records.
domain: Odoo search domain (list of triplets). Defaults to all records.
limit: Max groups (capped by ODOO_MAX_RECORDS).
offset: Pagination offset over groups.
order: Sort spec, e.g. 'amount_total desc'.
Read an ir.attachment: metadata always, base64 content when small enough.
Binary attachments under ODOO_MAX_ATTACHMENT_BYTES are returned with their
base64 `datas`; larger ones return metadata plus a warning. URL-type
attachments return the link, never binary data.
Args:
attachment_id: The ir.attachment id.
include_data: When False, return metadata only (no base64 fetch).
Create one record. Returns a preview unless confirm=True.
Args:
model: Odoo model name (must be in ODOO_WRITABLE_MODELS).
values: Field -> value mapping for the new record.
confirm: Set True to actually create; otherwise a dry-run preview.
Update one or more records. Returns a preview unless confirm=True.
Args:
model: Odoo model name (must be in ODOO_WRITABLE_MODELS).
ids: Record ids to update.
values: Field -> value mapping to write.
confirm: Set True to actually write; otherwise a dry-run preview.
Delete one or more records. Returns a preview unless confirm=True.
Deletes also require ODOO_ALLOW_DELETE=true on the server.
Args:
model: Odoo model name (must be in ODOO_WRITABLE_MODELS).
ids: Record ids to delete.
confirm: Set True to actually delete; otherwise a dry-run preview.
Create a CRM lead/opportunity (crm.lead). Preview unless confirm=True.
Use extra_values to set fields this helper doesn't model, including custom
mandatory fields (e.g. {"presales_id": 5}).
+19 more tools listed on main page