GUIDE · DOCUMENTED
How to connect ChatGPT to live Odoo with ERPipe
Create an ERPipe workspace, add a public HTTPS Odoo connection, register the hosted MCP URL in ChatGPT, and start read-only. Writes stay off until you enable them.
Published: August 18, 2026 · Last updated: August 27, 2026
Published: 2026-08-18
MCP endpoint: https://mcp.erpipe.com/mcp
Answer first
Create an ERPipe workspace, add a public HTTPS Odoo connection, copy https://mcp.erpipe.com/mcp, register that URL as a ChatGPT connector in Developer mode (no local MCP process), complete OAuth, and start read-only. Writes stay off until an owner enables them. You do not paste the Odoo password into ChatGPT.
ERPipe is a hosted Odoo MCP gateway: ChatGPT calls structured tools (search, aggregates, documents, governed writes, events) against live Odoo while operators keep ACLs and optional human approval.
Prerequisites
- A public HTTPS Odoo instance (Community, Enterprise, or Odoo.sh). Localhost and private IPs are rejected.
- Odoo credentials that match the access you intend to expose. The connected user's groups and record rules remain authoritative.
- ChatGPT with Developer mode / MCP connector support.
- An ERPipe workspace. The hosted beta does not require a credit card.
Steps
- Create an ERPipe workspace. Sign in at https://erpipe.com/app/login with a magic link. No credit card is required during free beta.
- Add a public HTTPS Odoo connection. Enter the Odoo URL, database, and a dedicated service user or API key. ERPipe live-probes reachability and profile before the connection can be used.
- Copy the workspace MCP URL. Use
https://mcp.erpipe.com/mcp. One workspace endpoint covers every instance you attach. Odoo-bound tools take an explicit instance key so ChatGPT does not guess a hidden selected database. - Register the connector in ChatGPT. Enable Developer mode, create an app or connector, paste the MCP URL, optionally set icon
https://erpipe.com/chatgpt-icon.png(128×128), complete OAuth (S256 PKCE), and enable the app in a conversation. - Start read-only; enable writes later. Writes stay OFF by default. When enabled, create, write, and unlink can require owner approval. Chatter notes and allowlisted methods use separate gates.
What ChatGPT can actually call (dated 2026-08-25)
After OAuth, ChatGPT sees the hosted tools/list. That list is 45 named tools. The full names live on the tool catalog. Start with the read-only path:
| Group | Examples | Notes |
|---|---|---|
| Start here | list_instances, accounting_health_across_instances, search_records, aggregate_records, read_record, model_facts | Instance key first, then receivables-style exceptions, then drill. Limit 10, max 50, no empty query+domain |
| Schema fallback | list_models, get_model_fields, schema_catalog | Only when model_facts is not enough — not a handshake every session |
| Advanced writes | preview_write, validate_write, execute_approved_write, get_write_approval_status | Off until you enable writes; owner approval is a wait, not failure |
| Full catalog | all 45 names on /tools | Events, named verbs, optional capability approval, and report packs stay on the list; they are not the first job |
This is not an Odoo App Store MCP module. Those install on the database. ERPipe sits outside Odoo: product pages at https://erpipe.com/, MCP at https://mcp.erpipe.com/mcp. An App Store listing that says “ChatGPT + Odoo” is a different install path and a different tool list.
Example prompts after you connect
- Across the Odoo instances I can access, which ones have overdue customer invoices, and drill the worst one.
- Find open customer invoices for Acme that are more than 30 days overdue and list the salesperson.
- Which stock pickings for warehouse WH/Stock are waiting and what products are short?
- Draft a chatter note on the sales order SO/2026/0881 that recaps the delivery delay. Do not post it until I say so.
- Preview a write that sets
invoice_date_dueon the two invoices we just reviewed. Stop before any approval.
Safety and governance
- Writes are disabled until an owner enables them on that connection.
- Odoo ACLs and record rules stay authoritative. ERPipe cannot grant access the Odoo user does not have.
- Ambiguous write outcomes are marked unknown. ERPipe does not blindly retry a mutation.
- Tool calls are audited with redacted, bounded operational detail. ERPipe does not claim to store complete raw payloads.
- You can pause a connection, rotate the credential, or revoke the ChatGPT grant without rotating every other client.
Odoo versions
- Odoo 16–18: XML-RPC path
- Odoo 19: JSON-2 path
- Setup probes the live instance before ChatGPT can call tools
Troubleshooting
- OAuth loop or invalid grant. Confirm you pasted
https://mcp.erpipe.com/mcp, finished PKCE in the browser, and the grant belongs to the same workspace that owns the Odoo connection. - No tools / empty instance list. Re-run the connection probe. Tools that touch Odoo need an explicit instance key from
list_instances. - AccessError from Odoo. The dedicated user is missing a group or record rule. Fix access in Odoo; do not widen ERPipe policy to hide an ACL gap.
- Writes look enabled but still pending. Owner approval is on. Open the Approvals inbox or Telegram/email card and approve once.
- Wrong company or database. You likely pointed ChatGPT at a second instance without passing its instance key. Ask the agent to list instances first.
FAQ
- Does ChatGPT write to Odoo automatically? No. Writes start off. Enable write capability only when a reviewed workflow needs it; create, write, and unlink can wait for owner approval.
- Is this a shared public sandbox? No. Each workspace connects its own Odoo instances. There is no shared demo tenant and no leftover data from other customers.
- What OAuth errors are common? Use the workspace MCP URL, complete PKCE in the browser, and confirm the grant is for the same ERPipe workspace that owns the Odoo connection.
- Which Odoo versions work with this guide? Odoo 16–18 via XML-RPC and Odoo 19 via JSON-2. The connection wizard probes the live instance before ChatGPT can call tools.
- How do I attach more than one Odoo database? Add each instance in the workspace. Tools take an explicit instance key so ChatGPT does not guess a hidden selected database.
- How do I enable writes safely? Keep the connection read-only first. Then enable writes, keep owner approval on for create/write/unlink, and use a dedicated Odoo user with least privilege.
- Does ERPipe store my Odoo records? Tool results are returned to the client. Audit keeps redacted operational detail. Odoo remains the system of record.
- Which other AI clients work? Codex CLI, Claude Code, Gemini CLI, Antigravity, Grok, Cursor, and other streamable HTTP MCP clients. See the connector recipes.
What “connected” actually means
After OAuth, ChatGPT holds an ERPipe access token bound to one workspace. It does not receive the stored Odoo password or API key. Each Odoo-bound call is resolved against a connection you own, checked again for a public destination, and executed as that Odoo user.
That split is the product. ChatGPT is good at stating a goal. Odoo is the system of record. ERPipe is the governed path between them: 45 tools, field policy, method allowlists, write gates, an approval inbox, and an audit trail. If you only wanted XML-RPC inside the model context, you would be back to credentials in the chat.
Keep the first week boring. Search invoices, open a PDF, list pickings, ask for a schema fact. Turn on writes only after those reads look right on a dedicated user. If a write is wrong, reject it. The agent should not treat a rejection as a prompt to retry blindly.
Related
- HTML guide: https://erpipe.com/guides/connect-chatgpt-to-odoo
- What is Odoo MCP: https://erpipe.com/guides/what-is-odoo-mcp
- Connect Claude Code: https://erpipe.com/guides/connect-claude-code-to-odoo
- Agent memory: https://erpipe.com/guides/agent-memory-odoo
- Human approval: https://erpipe.com/guides/human-approval-odoo-ai-writes
- Operator docs: https://erpipe.com/docs/connector
- Security: https://erpipe.com/security
- Pricing: https://erpipe.com/pricing
- llms.txt: https://erpipe.com/llms.txt