Odoo is the most popular open-source ERP — CRM, sales, inventory, accounting, all in one system. Hermes Agent is an open-source AI agent framework. Put them together and your agent can query customer records, check inventory levels, create leads, generate invoices, and pull sales reports — all through natural language.
There are three proven ways to connect the two. Each offers a different balance of speed, determinism, and architectural flexibility.
| Approach | Setup | Best For | Determinism |
|---|---|---|---|
| 1. Direct XML-RPC API | ~3 min | Simple queries, quick demos | Low — LLM decides the call |
| 2. Odoo MCP CLI Client | ~5 min | Multi-tool agents, MCP stacks | Medium — tool-bound |
| 3. Hermes → n8n → Odoo | ~10 min | Deterministic business processes | High — step-by-step workflows |
The simplest approach. You create a dedicated Odoo user with restricted permissions, paste the connection details into Hermes, and your agent calls the Odoo XML-RPC API directly. Hermes has built-in Odoo tool support — once configured, the agent can search, read, create, and update records on any Odoo model.
config.yaml# Hermes /.hermes/.env snippet
ODOO_URL=https://005-003-1bf12542-4710-45c2-9f8b-3a27d25031b7.odoo4projects.com/
ODOO_USER=changeme@odoo4projects.com
ODOO_APIKEY=198db28b752ccb4a66c646503902169e8b3a5b42
Prompt:
Connect to the odoo 19 database with the credentials given in $ODOO_URL $ODOO_USER $ODOO_APIKEY
open /doc and read the available models and methods. Use the JSON api to connect and do not login to the web UI.
create a skill to access ODOO
return all data found in the crm database
This aproach is awesome since we give hermes the whole JSON 2 API to study. In the video you see, that the skill learned every modell with every method.
When to use: Quick queries, one-off lookups, demos, and prototyping. The LLM decides which API calls to make, so it's fast but the agent may chain calls in unexpected ways.
Deep dive: Speed Run: Create an Odoo Community Agent from Zero
The mcp-server-odoo project (315+ GitHub stars) exposes Odoo as a Model Context Protocol server. You run it as a CLI process, register it with Hermes via hermes mcp add, and the agent discovers Odoo tools automatically — search_records, create_record, read_record, and more.
git clone https://github.com/ivnvxd/mcp-server-odoo.gituvx mcp-server-odoohermes mcp add odoo --url http://localhost:8000/mcp#!/usr/bin/env bash
export ODOO_URL="https://your-instance.odoo4projects.com"
export ODOO_DB="your-database"
export ODOO_USER="agent@company.com"
export ODOO_API_KEY="your...port ODOO_READONLY=1
export ODOO_MCP_TRANSPORT=streamable-http
export ODOO_MCP_PORT=8000
export ODOO_YOLO=read
uvx mcp-server-odoo
When to use: You want a standardized MCP protocol for all tool connections. If Hermes already talks to GitHub, Slack, or Notion via MCP, Odoo fits right into the same stack.
This is the most powerful approach — and the personal favorite of the derez.ai founder. Instead of the agent calling Odoo directly, Hermes delegates Odoo operations to n8n workflows that execute deterministic, step-by-step business logic.
Why this matters: An LLM calling the Odoo API directly might chain calls in unexpected ways. It could create an invoice without checking if the customer exists, or skip a product validation step. With n8n as the middle layer, every business process is a deterministic workflow — the same inputs always produce the same outputs, in the same order.
Here's how it works:
A typical n8n workflow for invoice creation might look like this:
Step 1: Receive webhook from Hermes (customer name, product SKU)
Step 2: Search Odoo for the customer by name
Step 3: If customer not found → return error to Hermes
Step 4: Search Odoo for the product by SKU
Step 5: If product not found → return error to Hermes
Step 6: Create invoice header with customer ID
Step 7: Add invoice line with product ID, quantity, price
Step 8: Confirm invoice creation
Step 9: Return invoice number and status to Hermes
Every step is deterministic — the workflow always checks for the customer first, then the product, then creates the invoice. No LLM hallucination in the middle of a billing process.
hermes skills install n8nPro Tip: This is the derez.ai founder's recommended approach for production. The n8n layer gives you audit trails, error handling, retries, and human-in-the-loop approval for critical operations — none of which an LLM calling the API directly can guarantee.
Deep dive: Speed Run: Connect Hermes Agent to n8n in 10 Minutes
| Feature | Direct API | MCP CLI | n8n Pipeline |
|---|---|---|---|
| Setup time | ~3 min | ~5 min | ~10 min |
| Components | Hermes + Odoo | Hermes + MCP server + Odoo | Hermes + n8n + Odoo |
| Determinism | Low (LLM-driven) | Medium (tool-bound) | High (step-by-step) |
| Audit trail | None | None | Full (n8n executions) |
| Error handling | LLM-dependent | LLM-dependent | Built-in (retry, stop) |
| Best for | Simple queries, demos | Multi-tool MCP stacks | Invoice, order, data entry |
Deploy a Hermes Agent with any of these Odoo integrations. Use coupon code blog950 for your first month free.
Get Your Agent →derez.ai — Deploy your AI agent in 5 minutes. · Direct API Speed Run · MCP Speed Run · n8n Speed Run