Create records
odoo_createCreate one or more records in an Odoo model. Pass values as a dict for a single record, or a list of dicts for batch creation. The model must be on the workspace's write whitelist with can_create=true. Sensitive fields (passwords, tokens, API keys) cannot be set. Pass context (e.g. {'company_id': N}) when the record must be scoped to a specific company. Lines created inside the record through x2many commands (e.g. order_line: [[0, 0, {...}]] on a purchase order) ride this model's permission: the line model does not need its own whitelist entry, so create the record with all its lines in one call. Returns the IDs of the created records. Odoo accepts fields it will not keep (computed, screen-only) and still creates the record: when the result carries ignored or unverified, read it before telling the user what was saved — their absence means everything landed.
Html fields take markdown, converted the Odoo way: - [ ]/- [x] checklists, pipe tables, ##/### sections, --- separators. No inline style, invented classes or invented image URLs.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"model": "<model>",
"values": "<values>"
},
"name": "odoo_create"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Odoo model technical name (e.g., 'res.partner'). | |
| values | Yes | Field-value dict, or list of dicts for batch creation. | |
| context | No | Optional Odoo context (e.g. {'company_id': N, 'allowed_company_ids': [N]}). |