← Back to Blog

3 Ways to Integrate Odoo and Hermes Agent

June 20, 2026 guide odoo hermes n8n

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.

At a Glance

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
⚡ Fastest — 3 min

Method 1: Direct XML-RPC API

Setup: ~3 minutes
Latency: 1 hop
Determinism: Low — LLM-driven
Best for: Simple queries, demos

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. This is the classic Odoo Hermes setup.

Setup

  1. Generate an Odoo API key (Settings → Users → Technical)
  2. Add the connection to Hermes' config.yaml
  3. Start Hermes — Odoo tools are available automatically
# 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

🚀 MCP — 5 min

Method 2: Odoo MCP CLI Client

Setup: ~5 minutes
Latency: 2 hops
Determinism: Medium — tool-bound
Best for: Multi-tool setups

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.

Setup

  1. Clone the server: git clone https://github.com/ivnvxd/mcp-server-odoo.git
  2. Set environment variables (URL, db, user, API key)
  3. Start: uvx mcp-server-odoo
  4. Register: hermes mcp add odoo --url http://localhost:8000/mcp
  5. Start Hermes — tools appear automatically
#!/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.

Deep dive: Speed Run: Connect Hermes Agent to Odoo via MCP

⚙️ Deterministic — 10 min

Method 3: Hermes → n8n → Odoo (The Favorite)

Setup: ~10 minutes
Latency: 3 hops
Determinism: High — step-by-step
Best for: Business processes

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:

  1. Hermes Agent connects to n8n (via the official n8n skill)
  2. n8n hosts pre-built Odoo workflows — each one a complete business process
  3. Hermes calls an n8n webhook, which triggers the workflow
  4. The workflow executes deterministic steps against the Odoo API
  5. n8n returns the result to Hermes

Example: Create an Invoice

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.

Setup

  1. Install the n8n skill in Hermes — loads the n8n toolset: hermes skills install n8n
  2. Build n8n workflows — create webhook-triggered workflows for each Odoo operation (create invoice, update lead, check inventory, generate report)
  3. Configure webhooks — each workflow exposes a unique webhook URL that Hermes can call
  4. Start Hermes — tell your agent "create an invoice for [customer] with [product]" and it delegates to n8n

Pro 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

Decision Guide

Security Best Practices

Comparison Table

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

Try It Yourself — First Month Free

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