Odoo

Open source all-in-one management software
Connect it
In Keystile Automations → Connections → New connection, choose Odoo and sign in. Your AI tools and workflows then use it through Keystile; they never see the password or key.How connecting works.
Try it from your AI tool
Using Keystile, in Odoo: count records (Count the records of an Odoo model that match a domain).What it can do (46 actions)
| Action | What it does | Changes data |
|---|---|---|
| Attach File | Attach a file to an Odoo record. | Yes |
| Attach File to Record | Attach a file to a record, for example a signed PDF to a sales order. | Yes |
| Call Model Method | Call a public method of an Odoo model, for example a button action. | Yes |
| Confirm Quotation | Confirm an Odoo quotation into a sales order. | Yes |
| Count Records | Count the records of an Odoo model that match a domain. | |
| Create company | Create/Update company on Odoo | Yes |
| Create contact | Create/Update contact on Odoo | Yes |
| Create Invoice | Create a draft customer invoice, vendor bill or credit note in Odoo. | Yes |
| Create Lead | Create a lead or opportunity in Odoo CRM. | Yes |
| Create Lead or Opportunity | Create a lead or opportunity in Odoo CRM. | Yes |
| Create Product | Create a product in Odoo. | Yes |
| Create Quotation | Create a quotation (draft sales order) with order lines. | Yes |
| Create Record | Create a record in any Odoo model from a JSON object of field values. | Yes |
| Create Task | Create a task in an Odoo project. | Yes |
| Custom API Call | Make a custom XML-RPC API call to Odoo | Yes |
| Custom Create Record | Create a new record in the specified model | Yes |
| Custom Search and read records | Records can be listed and filtered | |
| Custom Update Record | Update an existing record in the specified model | Yes |
| Delete Record | Permanently delete a record of any Odoo model. This cannot be undone. | |
| Delete Records | Permanently delete records of any Odoo model. | |
| Download Attachment | Download an Odoo attachment as a file. | |
| Find Contacts | Search Odoo contacts and companies. | |
| Find ID by Name | Find record IDs by name, like typing in an Odoo selection field. | |
| Find Invoices | List invoices, bills and credit notes, filtered by type, status, customer and dates. | |
| Find Leads | Search Odoo CRM leads and opportunities. | |
| Find Products | Search Odoo products. | |
| Find Sales Orders | Search Odoo quotations and sales orders. | |
| Find Tasks | Search Odoo project tasks. | |
| Get Connection Info | Get the Odoo version, the connected user and which apps can be used. | |
| Get contacts | Get contacts on Odoo | |
| Get Model Fields | List the fields of an Odoo model with their type, whether they are required, and allowed values. | |
| Get Record | Get one record of any Odoo model by picking it from a list. | |
| Get Records by ID | Read one or more records of any Odoo model by ID. | |
| List CRM Stages | List the pipeline stages of Odoo CRM. | |
| List Models | Find the technical name of an Odoo model, for example "invoice" → account.move. | |
| List Projects | List Odoo projects. | |
| List Record Attachments | List the files attached to an Odoo record. | |
| List Users | List internal Odoo users (salespeople, assignees). | |
| Mark Lead Lost | Mark an Odoo CRM lead or opportunity as lost. | Yes |
| Mark Lead Won | Mark an Odoo CRM opportunity as won. | Yes |
| Post Chatter Message | Log a note or send a message in the chatter of a record. | Yes |
| Post Invoice | Validate (post) a draft Odoo invoice so it gets its number. | Yes |
| Post Message on Record | Post an internal note or a message in the chatter of an Odoo record. | Yes |
| Run Record Action | Run a button action on a record, for example confirm a quotation or post an invoice. | Yes |
| Search Records | Search any Odoo model with a domain and return the chosen fields. | |
| Update Records | Set field values on one or more records of any Odoo model. | Yes |
Start a workflow when… (5 triggers)
- New Record — Triggers when a new record is created in any Odoo model (contacts, orders, invoices, tasks...).
- New or Updated Record — Triggers when a record is created or changed in any Odoo model. Odoo also counts automatic updates (computed fields, scheduled actions) as changes.
- New Contact — Triggers when a new contact (person or company) is created in Odoo.
- New Lead or Opportunity — Triggers when a new lead or opportunity is created in Odoo CRM.
- New Sales Order — Triggers when a sales order is confirmed in Odoo, or when a new quotation is created.
How Keystile protects it
Every Odoo action is checked before it runs, whether it comes from an AI tool or a workflow. 23 of its actions change data; your rules, limits and budgets decide whether each is allowed, held for a person or stopped, and it all goes into the signed record.
Use Odoo with your AI assistant — safelyClaude, Cursor or ChatGPT do the work; Keystile checks every action first.
Get early access