OpenClaw Assistant
Connect the OpenClaw AI assistant to your Odoo instance through a secure, allowlisted REST API.
This is the installation and configuration guide for OpenClaw Assistant, the module you downloaded from your ECOSIRE dashboard. Everything on this page describes the openclaw module exactly as it ships today — the facts below were read out of the released build, not from a roadmap.
| Technical name | openclaw |
| Odoo versions | 17.0, 18.0, 19.0 (Community or Enterprise) |
| Current shipped version | 17.0 → 17.0.1.0.8, 18.0 → 18.0.1.0.8, 19.0 → 19.0.1.0.8 |
| Price | $999 USD — one-time, per Odoo version |
| Odoo module licence | OPL-1 |
| Category | Productivity |
| Dependencies | base, web |
| Author | ECOSIRE (PRIVATE) LIMITED |
Overview
OpenClaw Assistant exposes secure REST endpoints under /openclaw/* that let the OpenClaw AI agent perform approved Odoo operations. Unlike generic API integrations, only explicitly allowlisted operations can be executed, with per-operation domain restrictions, argument validation, and sudo control.
Key Features
- Bearer Token Auth - Uses Odoo native API keys (no custom credential storage)
- Allowlisted Operations - Only pre-approved operations can be called
- Full Audit Logging - Every request logged with user, IP, payload, response, duration
- IP Allowlist - Optional restriction to specific source IPs
- Setup Wizard - Guided onboarding with bootstrap ZIP generation
- Dry-Run Mode - Test any operation without side effects
- JSON Schema Validation - Required arguments and types enforced per operation
- Flexible Deployment - Same-server or remote with SSH tunnel support
REST API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /openclaw/ping | Verify authentication and return identity |
| GET | /openclaw/spec | Discover all available allowlisted operations |
| POST | /openclaw/execute | Execute an allowlisted operation by code |
| GET | /openclaw/dashboard/data | Dashboard statistics: operations, requests over 24 h and 7 days, errors |
| GET | /openclaw/control/status | Check whether the OpenClaw gateway is reachable |
The last two are the dashboard's own endpoints. They authenticate as an Odoo
session user (auth='user') rather than by bearer token, and both return
HTTP 403 unless the calling user is in the OpenClaw Administrator group — so
they are for your administrators' browser session, not for the OpenClaw agent.
/openclaw/dashboard/data is what the OpenClaw dashboard renders; it reports the
enabled state, the deployment mode and request counts read from the audit log.
/openclaw/control/status probes the gateway — the local port in same-server
mode, the configured remote URL otherwise — and reports whether it answered.
Operation Types
| Type | Description | Example |
|---|---|---|
| Record Method | Call a method on a specific record | Confirm a sale order, post an invoice |
| Model Method | Call a class-level method | Generate a report, run a scheduled action |
| CRUD | Create, Read, Search, Write, Unlink | Search partners, create tasks, update records |
Security Architecture
- Bearer Token Auth via Odoo API keys
- Security Groups: OpenClaw API User and OpenClaw Administrator
- IP Allowlist: configurable per-instance
- Domain Restrictions: per-operation forced domains limit record scope
- Argument Validation: JSON Schema per operation
- Sudo Control: per-operation toggle, disabled by default
- Audit Trail: complete request/response logging
Configuration
Settings
Navigate to Settings > OpenClaw to configure:
| Field | Description |
|---|---|
| OpenClaw Enabled | Master toggle for the integration |
| Deployment Mode | Same Server (Local) or Separate Server (Remote) |
| Odoo Base URL | Public URL for the Odoo instance |
| Integration User | Dedicated user for API calls |
| Allowed IPs | Comma-separated IP allowlist (empty = all) |
| Log Payloads | Whether to store request bodies in audit logs |
| Result Preview Limit | Max characters for result previews in audit (default: 500) |
Operations
Navigate to OpenClaw > Operations to manage allowlisted operations. The screen opens as a kanban grouped by kind, with list and form views beside it, and its search view filters to the active or sudo-enabled operations and groups by kind, model or state — so a catalogue that has outgrown a flat list stays navigable:
| Field | Description |
|---|---|
| Name | Human-readable operation name |
| Code | Unique identifier used in API calls |
| Kind | record_method, model_method, or crud |
| Model Name | Target Odoo model (e.g., sale.order) |
| Method Name | Method to call (for record/model methods) |
| Argument Schema (JSON) | JSON Schema for argument validation |
| Forced Domain | Domain expression to restrict records |
| Sudo | Whether to execute with elevated privileges |
Setup Guide
- Install the OpenClaw Assistant module
- Run Setup Wizard (OpenClaw > Setup Wizard)
- Choose deployment mode (same server or remote)
- Create or select an integration user
- Paste the API key for the integration user
- Download the bootstrap ZIP
- Configure OpenClaw with the bootstrap ZIP contents:
- Set
ODOO_BASE_URLandODOO_API_TOKENenvironment variables - Enable the
odoo-bridgeextension in OpenClaw config
- Set
- Test with
/openclaw/pingendpoint - Define Operations for the actions you want OpenClaw to perform
Audit Logs
All API requests are logged in OpenClaw > Audit Logs with:
- Request UID, user, operation, path, HTTP method
- Remote IP address
- Request payload (if logging enabled)
- Response status and preview
- Duration in milliseconds
Support
- Email: info@ecosire.com
- Portal: ecosire.com/support