Get started in about five minutes
erpAIbridge has two halves: a desktop AI agent that runs on your computer, and our hosted MCP server that gives it safe access to Odoo. You install the first and simply point it at the second — there is no server for you to run and nothing to install inside Odoo.
-
Get your access token
Fill in the short form on the contact page. You'll get an email with your personal token (it starts with
trial_), the server address, and your download links. Lost the email? Submit the same address again and it returns the same token rather than creating a new one. -
Install the desktop agent
Download and install the agent for Windows or macOS using the link in your email. This is the app you actually chat with — it runs locally on your machine, and your Odoo data is never stored in it.
-
Add your own AI provider key
Open Settings → Providers → API keys and paste a key from OpenAI, Anthropic (Claude), OpenRouter or any supported provider. This is what people mean by "bring your own key" (BYOK): erpAIbridge's trial covers the Odoo connection only — the AI model itself is a separate account you already have or can create in a couple of minutes on that provider's own site. You stay in control of which model runs and what it costs, and the key is stored only on your own computer — it never passes through our servers.
-
Connect erpAIbridge
Go to Capabilities → MCP → Add server and paste the configuration below, replacing the token with your own. If the app asks for the URL and token as separate fields, use the two values directly.
MCP server configuration{ "mcpServers": { "odoo-bridge": { "url": "https://demo.odooaibridge.com/mcp", "headers": { "Authorization": "Bearer trial_YOUR_TOKEN_HERE" } } } } -
Ask your first question
Start a new chat and type "List our customers in India." If you get a real answer back, everything is wired up correctly. Out of the box you're talking to our sample Odoo full of demo data — so you can try anything, including changes, without touching real records.
Once the demo makes sense, point the very same token at your own Odoo — no reinstalling, no new settings in the agent. See Connect your own Odoo below.
Connect your own Odoo instance
There are four ways to use your own data, differing in one important way: where your Odoo credentials live. Pick the one that matches how careful your organisation needs to be — the honest one-line version is: hosted is for trying it, local is for trusting it. For a side-by-side showcase see all four options; the setup steps for each are below.
| You want | Use | Your credentials live |
|---|---|---|
| A quick evaluation, any AI client (incl. ChatGPT) | 1 · Hosted connect (the form below) | On our server, encrypted |
| An app that keeps everything local, no terminal | 2 · Desktop agent | Your device's keychain |
| Claude Desktop / Cursor / Gemini and credentials that never leave your machine | 3 · Self-hosted bridge | Your machine / network |
| Company-wide, governed, inside your infrastructure | 4 · Enterprise | Your infrastructure |
Why the split? ChatGPT's connectors can only call a hosted server — that's an OpenAI constraint. Claude Desktop, Cursor and Gemini can also run the bridge as a local process, so for those clients nothing ever needs to touch our infrastructure. Whichever path you choose, the blast radius is bounded the same way: create a dedicated Odoo user with only the access you want the AI to have, and revoke its API key in Odoo at any time.
Path 1 — Hosted connect (recommended for evaluation)
Keep using our hosted server and the token you already have — you simply tell it which Odoo to talk to. Nothing changes in your AI client. This is the fastest path and the only one that works with ChatGPT. We recommend it for evaluating against your data with a scoped user; when you move to production, switch to a private path below or a private deployment — same tools, no credentials held by us.
Step 0 — create a limited Odoo user (2 minutes, worth it)
Don't connect an admin account. In Odoo: Settings → Users → New, give it read access to just the apps you want to test (say Sales and Invoicing), and sign in as that user for the next step. Odoo's own record rules then bound everything the AI can ever see or do — no matter what.
Then create an API key for that user
An API key is safer than a password: it is scoped to one user, and you can revoke it at any time without changing anyone's login.
- Signed in as that limited user, click the avatar (top-right) → My Profile → Account Security tab.
- Choose New API Key, name it something like
erpAIbridge, and copy the key. Odoo shows it only once. - Note your database name — on Odoo Online it is usually the first part of your address, for example
mycompanyinmycompany.odoo.com.
Then connect it here
Paste your details below. We verify them against your Odoo before saving anything, so a typo fails here with a clear message rather than halfway through a chat.
Verified before saving — we sign in to your Odoo once to check the details work. · Encrypted at rest — the API key is encrypted before it touches disk and is never displayed again. · Used only for your token — no other account can reach your connection. · Deleted on disconnect — one click below removes it from our server. · Revocable from your side — deleting the API key in Odoo cuts access instantly, without asking us.
That's it. Start a new chat and ask something you know the answer to — "How many customers do we have?" — to confirm you're seeing your own records. Disconnect at any time to delete your stored credentials and return to the sample database.
Prefer to do it from a terminal?
curl -X POST https://odooaibridge.com/api/connect-odoo \
-H "Authorization: Bearer trial_YOUR_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{
"odoo_url": "https://mycompany.odoo.com",
"odoo_db": "mycompany",
"odoo_login": "[email protected]",
"odoo_api_key": "YOUR_ODOO_API_KEY"
}'
How your credentials are handled
- Encrypted at rest. Your Odoo API key is encrypted before it is written to disk, never stored as plain text, and never shown back to you or anyone else.
- Only for your token. Each request is served using the connection attached to the calling token, so your data is only ever reachable with your own key.
- Yours to remove. Disconnecting deletes the stored credentials. Revoking the API key inside Odoo cuts access instantly and independently of us.
- Scoped by Odoo itself. We sign in as the user you nominate, so that user's permissions and record rules bound everything the agent can do.
The hosted path needs to reach your Odoo over the internet. If yours is private, use the desktop agent or the self-hosted bridge below — the bridge runs next to your Odoo, and nothing needs to be exposed.
Path 2 — Desktop agent (fully local, no terminal)
The erpAIbridge desktop app runs the bridge on your own machine and stores your Odoo connection in your operating system's keychain (Apple Keychain / Windows Credential Locker). Nothing reaches our servers, your Odoo needn't be on the internet, and there's no config file to edit — a screen in the app does it for you. This is the easiest fully-local option.
-
Create a limited Odoo API key
As above (Step 0 + the API-key steps) — a dedicated read-only user is the safest choice.
-
Open Capabilities → MCP in the app
At the top of the server list you'll see the Connect your own Odoo — fully local & private card. Click Connect…
-
Enter your details and verify
Fill in your Odoo URL, database, login, API key and erpAIbridge licence, then Verify & connect. The app checks the credentials against your Odoo and, on success, stores the credentials and licence encrypted in your keychain — never in a file, never on our servers. It registers a licensed local connection automatically and pauses the hosted demo, so only one Odoo is ever active.
-
Start a new chat
Ask about your data — the agent now uses your Odoo. Disconnect on the same card erases the credentials from your keychain and switches back to the demo.
Add your AI provider key under Settings → Providers → API keys as usual —
the app brings the Odoo connection, you bring the AI. Odoo workflow skill packs and cron blueprints are
delivered by the connected bridge and require the skills feature on paid licences; proprietary
prompt files are not installed on your machine.
Path 3 — Self-hosted bridge (Claude, Cursor, Gemini — credentials never leave your machine)
Prefer to keep using Claude Desktop, Cursor or Gemini? erpAIbridge is a single small program. Instead of using our hosted copy, your MCP client starts it on your own machine as a local process: your AI client talks to the local bridge, the bridge talks to your Odoo, and your URL, database, login and API key exist only in your own configuration. We never see them — there is nothing on our side to trust. Works with Claude Desktop, Cursor, VS Code and Gemini CLI (ChatGPT can't launch local processes — that's the one client that needs Path 1). Your Odoo can be on a private network; internet exposure isn't needed.
The private self-host package is the compiled, source-free erpAIbridge image — no Python source of
ours, machine-bound licence, hardened container. To get it, choose “Private MCP” on the
signup form. We review the request, then email you a secure download link,
a licence key (starts with ob1.), and the install steps below. Already have a licence?
Fetch the package any time with your token:
curl -X POST https://odooaibridge.com/api/self-host-download \
-H "Content-Type: application/json" \
-d '{"license": "ob1.YOUR_LICENSE_TOKEN"}'
# → returns a time-limited download link for the compiled image bundle
docker load < odoobridge-selfhost-*.tar.gz # load the compiled image odoo-bridge-admin activate --bundle license.bundle # verify + install your licence # .env: BRIDGE_MACHINE_ID=$(cat /etc/machine-id) # bind to this host docker compose -f docker-compose.protected.yml up -d # digest-pinned, hardened curl http://localhost:8072/health
The licence is machine-bound — it runs on the host it was activated for, and
the audit trail, before/after values and dashboards all stay on your infrastructure. Migrating hardware?
Run odoo-bridge-admin activation-request and send us the fingerprint; we re-issue free.
Prefer to keep it single-user on Claude Desktop / Cursor / Gemini instead of a team container? Use the same licence with a local config block:
{
"mcpServers": {
"odoo": {
"command": "odoo-bridge",
"env": {
"BRIDGE_TRANSPORT": "stdio",
"ODOO_URL": "https://odoo.internal.mycompany.com",
"ODOO_DB": "mycompany",
"ODOO_USER": "[email protected]",
"ODOO_API_KEY": "YOUR_ODOO_API_KEY",
"BRIDGE_LICENSE": "ob1.YOUR_LICENSE_TOKEN"
}
}
}
}
Cursor and VS Code use the same command/env block in their
MCP settings; Gemini CLI takes it in ~/.gemini/settings.json under mcpServers.
Running it for a whole team instead? The same package runs as a small always-on container inside your
network — your clients then use its private URL. Both variants are covered in the guide that comes with the
package.
Path 4 — Enterprise deployment
For company-wide, governed use — a private, secure MCP server inside your infrastructure (on-premise, private cloud, dedicated appliance or air-gapped), with role-based access, a complete audit trail and AI-provider independence. See erpAIbridge Enterprise, or talk to us and we'll scope and deploy it with you.
Start hosted to evaluate, then switch to the desktop agent or self-hosted bridge for production — the tools and safety rails are identical, only where the bridge runs changes. See the four options compared.
Ask your Odoo from WhatsApp
Link WhatsApp once and you can ask the same questions from your phone — "what did we invoice yesterday?", "is the Patio Umbrella back in stock?" — without opening the app. The assistant replies in your own Message yourself chat, and it only ever reads that chat.
Your own WhatsApp — you scan a QR and erpAIbridge becomes a linked device, exactly like WhatsApp
Web. · Self-chat only — the assistant never reads your other conversations, contacts, or groups. ·
Nothing changes without your YES — any create, update or delete is described first and applied only
when you reply YES. · Remove it any time — unlink below, or remove the device from
WhatsApp on your phone (Settings → Linked devices).
This uses WhatsApp's linked-device mechanism, the same one WhatsApp Web uses. It is not an official WhatsApp Business integration, so we don't put an uptime promise on it, and it is for your own assistant — not for messaging your customers. If you need an official WhatsApp Business number with a service level, that's Enterprise.
Link it
Keep this page open while you scan — the code refreshes every few seconds until your phone picks it up.
Then try it
Open WhatsApp, go to the chat with yourself, and send "how many open quotations do we have?".
Send help at any time for the short command list, or unlink to disconnect
from your phone.
Configuration reference
What you set in the desktop agent
| Setting | Where | What it does |
|---|---|---|
| AI provider key | Settings → Providers → API keys | Which AI runs your chats, and whose account pays for them. Yours, not ours. |
| MCP server URL | Capabilities → MCP | https://demo.odooaibridge.com/mcp — the hosted bridge. |
| Authorization header | Capabilities → MCP | Bearer trial_… — identifies you and applies your limits and Odoo connection. |
What we control on the server
These are set for you on the hosted service. They matter because they explain what the agent will and won't agree to do — and they're the same switches you'd set yourself if you self-host.
| Capability | Default | Meaning |
|---|---|---|
| Reading | Always on | Search, read, group and summarise records. The read path physically cannot write. |
| Writing | On, with approval | Create and update records — always previewed and approved by a person first. |
| Business actions | Allow-listed | Only named operations such as confirming a quotation or posting an invoice. Never arbitrary code. |
| Deleting | Off | Disabled entirely on the hosted trial. When enabled at all, it is restricted to named models. |
| Attachments | On, size-capped | Read and add file attachments within a size limit. |
| Model allow-list | Core business models | Which Odoo models are reachable — customers, sales, invoices, products, stock and similar. |
| Audit log | On | Every call recorded — who, which tool, which model, outcome. Field names only, not your record values. |
Need a different combination for a client — extra models, specific actions allow-listed, deletes enabled under supervision? That's a normal request. Tell us what you need.
If you self-host instead
erpAIbridge is one stateless container. You point it at your Odoo with environment variables and run it next to your other services — useful when Odoo isn't reachable from the internet, or policy requires everything to stay inside your network.
ODOO_URL=https://mycompany.odoo.com ODOO_DB=mycompany [email protected] ODOO_API_KEY=your_odoo_api_key BRIDGE_API_KEY=pick_a_long_random_secret # what your agent sends as Bearer BRIDGE_ENABLE_WRITES=1 # writes off unless set BRIDGE_WRITE_CONFIRMATION=elicit # ask a human before saving
The container then serves MCP on port 8072 at /mcp, with /health for
monitoring. Contact us for the image and licence terms.
What to test, and what you should see
Copy any of these straight into the chat. They're grouped so you can work through every capability deliberately — and see the safety behaviour as clearly as the useful behaviour. Use your own wording too; plain language is the point.
Ask questions
always safe · only looks, never changesList our customers in India.
✓A filtered list, without you touching a single filter or view.
Show me everything about Northwind Trading.
✓A tidy summary of one customer — contact details pulled from their record. Try any name you know.
Find the invoices for Bistro Provence.
✓Their invoices with numbers, dates, amounts and payment state.
What's low on stock right now?
✓Products below their reordering rules — the kind of check that usually means opening three screens.
Analysis and reporting
safe · maths done for youWhat were our total confirmed sales this year, broken down by salesperson?
✓A total plus a per-person breakdown — a report you'd normally build by hand.
Which customers have overdue invoices, and how much do they owe?
✓A ranked list of who's late and by how much, totalled. The heart of chasing money.
What are our biggest open sales opportunities?
✓Your pipeline sorted by value, with stage and expected close.
Give me a snapshot of Crownmark Interiors — orders, invoices and open deals.
✓One answer assembled from several parts of Odoo at once.
Your own fields and modules
safe · proves it reads your setupWhat fields does a customer record have in our system?
✓The live field list from your database — including custom fields you added. Nothing is hard-coded.
Which apps and modules do we have installed?
✓What's actually installed, so you can see it understands your particular Odoo.
Are you connected, and to which database?
✓A connection check naming the Odoo version and database — the fastest way to confirm you're on your own data.
Make changes
asks first · nothing saves without your approvalCreate a quotation for Koala Home Living: 10 Ergonomic Office Chairs and 2 Executive Desks.
✓A preview of the quotation with lines and prices, and a question: save this? Nothing is written until you say yes.
Confirm that quotation.
✓Runs the real Odoo confirm action — after asking. Only named actions like this are permitted.
Update Merlion Ventures' phone number to +65 6555 0000.
✓Shows you the before and after, then waits for approval.
Log a note on that customer and remind me to call them on Friday.
✓Posts a note in the record's chatter and schedules a real activity — the follow-ups people forget.
Draft a polite payment reminder for our most overdue customer.
✓Finds who's most overdue, then writes the message for you to edit and send. Nothing is sent on your behalf.
Try to break it
these should be refused — that's the testDelete all our invoices.
✕Refused. Deleting is switched off entirely — there is no phrasing that talks it into this.
Send that same quotation for Koala again.
✕Recognised as a repeat and skipped rather than silently creating a duplicate.
Change every customer's credit limit to 1,000,000.
✕Sweeping changes need approval and are shown in full first — you see the blast radius before anything happens.
Show me all employee salaries.
✕Refused unless the Odoo user you connected can already see them. The agent never exceeds that person's access.
Ask two questions you already know the answer to (to check accuracy), one report that normally takes you ten minutes (to see the time saved), one change with approval (to feel the safety gate), and one deliberate "delete everything" (to watch it refuse). That covers accuracy, value and safety in a handful of prompts.
What it can do
Everything below works in plain language — these are capabilities, not commands you have to memorise.
Search & read
Find records by any criteria and read them back in clean summaries instead of raw database dumps.
Totals & breakdowns
Sums, counts and groupings — sales by person, debt by customer, stock by location — computed on the fly.
Understands your setup
Reads your live schema, so your custom fields and third-party modules work without configuration.
Create & update
Quotations, customers, corrections — always previewed, always approved by a person before saving.
Business actions
Confirm a quotation, post an invoice — real Odoo operations, restricted to an explicit allow-list.
Notes & follow-ups
Post to a record's chatter and schedule activities so decisions and next steps live in Odoo, not a notepad.
Attachments
Read documents attached to records, and attach new ones, within a size limit.
Export
Pull a result set out as a table when you want it in a spreadsheet.
Diagnostics
Ask whether it's connected and to what — version, edition and database, for quick sanity checks.
Audit trail
Every action recorded — who, what, when, and on your own deployments each field's old and new value. Review it in chat or in the built-in viewer. How it works →
Why it's safe to point at real data
This is the question every finance and IT team asks, so here is the honest mechanical answer — these are structural properties, not promises about the AI behaving well.
- Reading can't write. The read path has no write capability at all, so no clever prompt can turn a question into a change.
- Changes are drafted, not applied. Every create or update is previewed and waits for a person to approve it. You see exactly what will change before it does.
- Deleting is off. Not discouraged — disabled. Where it is ever enabled, it is limited to named models and still requires approval.
- Actions are allow-listed. The agent can only run operations we have explicitly permitted, such as confirming a quotation. It cannot execute arbitrary code in Odoo.
- Odoo's own permissions apply. We sign in as a real Odoo user, so that user's access rights and record rules govern everything. The agent is never a super-user.
- Duplicate protection. If the AI calls the same write twice, the second is recognised and skipped instead of creating a duplicate record.
- Everything is logged. Each call is recorded with who, which tool and the outcome — on the hosted service that log holds field names only, never your record values.
Reviewing what the agent did — the audit trail
Every action through erpAIbridge is recorded, and you can review it three ways:
- Ask in chat. "What did you change on Acme last week?" — the agent reads its own trail and answers with a timeline. Works in any connected AI client.
- Open the viewer. A built-in web page (no install) with the full timeline — filter by user, record or date, and export CSV. In the desktop agent, click View audit trail on your Odoo connection card; on the hosted service, open demo.odooaibridge.com/audit and sign in with your token.
- Restore a value. On deployments that record before-and-after values (desktop and self-host, where the log stays on your own machine), any changed field shows its previous value — restoring it is one approved change, itself audited.
Who sees what is decided by your role in Odoo itself, not by any app setting: administrators and managers can review the whole organisation's activity; everyone else sees only their own. Worth knowing: standard Odoo keeps no comparable who-changed-what history — this trail exists because every action passes through one governed gateway.
Your Odoo records travel from your Odoo to the agent on your computer, and to whichever AI provider you configured, for the duration of answering your question. We don't build a copy of your database, and we don't train anything on your data.
Trial limits, AI costs and what counts
| What | How it works |
|---|---|
| Odoo actions | Your token allows a set number of Odoo tool calls. Each search, read, draft or update is one. A single question may use several if the agent looks in more than one place. |
| Chat turns | Not counted. Conversation that never touches Odoo doesn't consume your allowance. |
| Validity | Tokens are time-limited. Both the limit and the expiry can be raised on your existing token — no re-signup, no settings change. |
| AI costs | Billed by your own AI provider, at their prices. We never see or mark up that spend. |
| Running out | Tool calls stop with a clear "trial limit reached" message. Email us and we'll lift it, usually within the hour. |
Tell us how many people and roughly how much you want to try — we'll raise your limits up front so nobody hits a wall mid-demo. Email [email protected].
Troubleshooting
| What you see | What it means & the fix |
|---|---|
| "Unauthorized" / 401 | The token wasn't recognised. Check it is pasted whole, starts with trial_, and the header reads Bearer <token> with a single space. |
| "Trial limit reached" / 402 | You've used your allowance or the token expired. Email us — we raise it on the same token, so nothing in your settings changes. |
| Agent doesn't list Odoo tools | The MCP server isn't connected. Re-check the URL ends in /mcp, save the settings, then fully restart the agent. |
| "Couldn't reach" your Odoo | The URL is wrong or your Odoo isn't publicly reachable. Confirm the address loads in a browser; if it's behind a firewall or VPN, see the note on private instances. |
| Odoo sign-in failed | The database name, login or API key doesn't match. The database name is often not the same as the company name — check it in Odoo, and regenerate the API key if unsure. |
| "Field doesn't exist… did you mean…" | Working as intended: the error names the correct field and the agent normally retries by itself. If it repeats, ask it to check the schema first. |
| "Model isn't enabled" | You asked about an area outside the allow-list. Tell us which models you need and we'll enable them for your account. |
| Answers about the wrong company | You're still on the sample database. Connect your own Odoo above, then ask "which database are you connected to?" to confirm. |
| It refuses something you want | Usually deliberate — deletes and non-allow-listed actions are blocked by design. If it's genuinely needed for your workflow, we can enable it for your account. |
Frequently asked
Can I use my own Odoo instead of the demo one?+
Yes, and you don't need to host anything. Keep our hosted server and the token you already have, then point that token at your Odoo using the connect form above — your agent settings don't change at all. Prefer credentials that never leave your machine? Use the desktop agent or self-hosted bridge.
Which option should I choose at signup?+
Three ways to run it, picked on the signup form: Quick hosted trial — an instant token to evaluate in minutes on our server; Ongoing hosted access — the same, with generous limits for continued use; Private MCP — the compiled, source-free build on your own infrastructure, with the audit trail and data never leaving your walls. Trial and hosted are issued instantly by email; Private MCP is reviewed and approved first, then we email your secure download link, licence and install steps.
How does the Private MCP (self-hosted) get delivered?+
Choose Private MCP at signup. We review the request and, once approved, email you a time-limited
download link for the compiled image bundle, a machine-bound licence key, and the exact install steps
(docker load → odoo-bridge-admin activate → docker compose up).
The licence is bound to your host; migrating hardware is a free, same-day re-issue. See
Path 3 above for the commands.
Can I renew or extend my access?+
Yes. Hosted keys and self-host licences are time-limited; when yours nears expiry, email us and we issue a fresh one — for hosted you swap the token, for self-host you replace the licence file and restart. An expired self-host licence pauses the Odoo tools with a renewal message; it never deletes anything, and everything resumes the moment a new licence is installed.
Do I have to install anything inside Odoo?+
No. It connects through Odoo's standard external API, so there's no module to install and nothing to maintain through Odoo upgrades. That's also why it works on Odoo Online, Odoo.sh and on-premise alike.
Which Odoo versions and editions are supported?+
Odoo 16, 17, 18 and 19 — Community or Enterprise, cloud-hosted or on-premise.
Does it work with our custom fields and third-party modules?+
Yes. It reads your live schema at runtime rather than assuming a standard database, so bespoke fields and third-party modules are handled like built-in ones. For deep coverage of a specific module we can extend the tools to match.
Is it safe to point at our production Odoo?+
It's designed for exactly that: read-only by default, every change previewed and approved by a person, deleting disabled, actions allow-listed, and Odoo's own per-user permissions always in force. See the safety model for the mechanics. Many teams still start with a limited user or a staging database for the first week — a sensible habit we encourage.
Which AI does it use, and does the trial include credits?+
You choose the AI and bring your own provider key, so you control the model and the spend. The trial covers the Odoo connection only — there are no AI credits included, and we never mark up your usage.
What counts as one action against my limit?+
One Odoo tool call — a search, a read, a draft, an update. Chat that never touches Odoo doesn't count. One question can use a few actions if the agent needs to look in several places to answer it.
We've run out of actions — do we start over?+
No. Email [email protected] and we raise the limit on your existing token. It takes effect immediately: no new signup, no new token, no settings to change.
Can several colleagues test at once?+
Yes — each person signs up for their own token, or tell us the team size and we'll issue and pre-size them together so nobody hits a limit mid-demo.
Where is our data stored, and do you train on it?+
We don't copy your database and we don't train on your data. Records are fetched to answer the question in front of you and pass to the AI provider you chose. If you connect your own Odoo, we store only the connection details, with the API key encrypted.
How do we remove our credentials?+
Use Disconnect on the form above, which deletes them. You can also revoke the API key inside Odoo at any time — that cuts access immediately and doesn't depend on us.
Our Odoo isn't reachable from the internet. Now what?+
Two options: allow-list our outbound address so the hosted server can reach it, or run erpAIbridge inside your own network next to Odoo. Both are supported — tell us your setup and we'll recommend one.
Can we self-host the whole thing?+
Yes. It's a single stateless container configured with environment variables — see the configuration section. Contact us for the image and licence terms.
Can we white-label this for our clients?+
Yes — that's our partner programme. The desktop agent carries your brand and you keep the client relationship and the margin. See the partner section.
Can you build something specific for our process?+
Yes. We author bespoke skills for a client's exact workflow, allow-list the specific actions they need, cover custom modules and integrate systems beyond Odoo. Tell us the requirement and we'll scope it.
Still stuck?
Send us what you typed, what you expected and what you got — screenshots are ideal. If it's a connection problem, include your Odoo version and whether it's Odoo Online, Odoo.sh or on-premise. Never send us your API key or password; we never need them by email.