Odoo & ERP

Building an AI Support Agent on Odoo Helpdesk

Updated 7 min read

Building an AI Support Agent on Odoo Helpdesk

An AI support agent on Odoo Helpdesk reads each incoming ticket, classifies it, looks up the customer and their orders in Odoo, and either drafts a reply for a human or answers directly when the question is simple and the answer is documented. It works through the Odoo API with its own restricted user, so it sees and changes only what you allow. The useful version is narrow at first: triage and drafts before any automatic replies.

Key takeaways

  • Start with triage and draft replies. Let the agent send on its own only for question types where it has proven reliable.
  • The agent needs two sources: your support knowledge (policies, product guides, past answers) and live Odoo records (customer, orders, deliveries, invoices).
  • Give the agent a dedicated Odoo user with narrow access rights. Odoo enforces those rights on every API call.
  • Every action should leave a trace in the ticket chatter so your team can see what the agent did and why.
  • Define the handoff rules before launch: which topics always go to a person, and what the agent writes when it hands over.

What the agent actually does on a ticket

A support agent on Helpdesk does four jobs: understand the ticket, gather context, decide, and act. Odoo Helpdesk is an Enterprise app that organises tickets by team and stage, with tags, priorities and SLA policies. If you run Community with a third-party or custom ticketing module, the same pattern applies, only the model names differ.

Here is the flow for a typical ticket.

  1. Trigger. A new ticket is created, usually from an email alias or a website form. An automation rule in Odoo calls the agent, or the agent polls for new tickets on a schedule.
  2. Understand. The agent reads the subject, the message body and any earlier messages in the thread. It decides the topic (delivery, billing, product question, complaint, return), the urgency and the language.
  3. Gather context. It finds the customer record, then reads what matters for that topic: open sales orders, delivery status, unpaid invoices, previous tickets.
  4. Retrieve knowledge. It searches your support documents for the passages that answer the question.
  5. Decide. Answer, draft for review, or hand over to a person.
  6. Act. It sets the team, tags and priority, writes an internal note with its reasoning and sources, and posts or drafts the reply.

Three levels of autonomy

The safest way to launch is in levels, moving up only when the level below works. Most teams get a large share of the value from the first two.

LevelWhat the agent doesWho sends the replyGood for
1. TriageClassifies, tags, sets priority, routes to the right team, adds a summary noteHumanAny team, from day one
2. DraftEverything in level 1, plus a suggested reply with the records and documents it usedHuman, after editing or approvingMost ticket types
3. Auto-replySends the reply itself for approved question types, then closes or waits for the customerAgentRepetitive, well-documented, low-risk questions

For example, a distributor might let the agent answer "where is my order" on its own, because the answer comes straight from the delivery record, while every refund request stays at draft level.

What you need in place before building

A knowledge source the agent can trust

The agent can only be as accurate as the documents it reads. Collect your return policy, warranty terms, shipping rules, product guides and a set of good past replies. Remove anything outdated. If two documents disagree, the agent will pick one, and you will not know which.

Clean links between tickets and customers

The agent finds orders and invoices through the customer on the ticket. If tickets arrive from addresses that do not match any contact, the agent has nothing to look up. Decide what it should do in that case, usually ask for an order reference instead of guessing.

A dedicated Odoo user

Create a separate user for the agent. Give it read access to contacts, sales orders, deliveries and invoices, and write access only to tickets and their messages. Odoo applies access rights and record rules to API calls the same way it does for a person in the browser, so this is your strongest control. It also means every change the agent makes is attributed to that user in the chatter.

How the pieces connect

The agent runs as a small service outside Odoo and talks to it through the external API. It is given a short list of tools, and it can do nothing beyond that list.

  • get_ticket: read a ticket and its message thread.
  • find_customer_orders: read recent orders and delivery status for the ticket's customer.
  • find_customer_invoices: read invoice status and amounts due.
  • search_knowledge: retrieve relevant passages from the support documents.
  • update_ticket: set team, tags, priority and stage, limited to allowed values.
  • post_note and post_reply: write an internal note, or a customer-facing message.

Notice what is missing. There is no tool to issue a refund, edit an order, change a price or delete anything. If you later want the agent to prepare a credit note, add it as a draft that a person validates in Odoo. For more on what a support agent should and should not take on, see AI customer support agents: what they can and cannot handle.

Handoff rules that protect the customer

A support agent earns trust by knowing when to stop. Write these rules down and put them in the agent's instructions and in code.

  • Always hand over: legal threats, safety issues, complaints about staff, anything involving money moving, and any customer who asks for a person.
  • Hand over when unsure: no relevant document was found, the customer could not be matched, or the records contradict the customer's message.
  • Hand over after a limit: if the customer replies twice and the issue is still open, a human takes it.

When it hands over, the agent should leave a note with a short summary, what it checked in Odoo, and what it thinks the next step is. A good handoff note saves the human several minutes even when the agent could not solve the ticket.

Testing before real customers see it

Test on your own history first. Export a sample of closed tickets across all topics, run the agent on them, and compare its classification and draft with what your team actually did. Sort the misses into groups: wrong topic, missing knowledge, wrong record, poor tone. Each group has a different fix.

Then run in shadow mode. The agent writes its triage and draft as internal notes on live tickets, and nobody sends them. After a period of review, turn on level 2 for the team, and consider level 3 only for the topics where drafts were consistently approved without edits.

Common mistakes

  • Turning on auto-reply first. You skip the stage where you learn what the agent gets wrong.
  • Giving the agent an admin user. It works in a demo and becomes a liability in production.
  • No stop for loops. Without a reply limit, an agent can argue with an auto-responder.

Related guides

Frequently asked questions

Does this work on Odoo Community?

Helpdesk itself is an Enterprise app. On Community, teams often use a third-party or custom ticketing module, and an agent can work with that through the same API, as long as the tickets are stored as records it is allowed to read and update.

Will the agent replace our support team?

No. It removes the repetitive part: sorting tickets, looking up records and writing first drafts. People still handle exceptions, upset customers and anything that needs a decision about money or policy.

What happens if the agent is wrong?

At draft level, a human catches it before sending. At auto-reply level, you limit the damage by restricting the topics it may answer, logging every reply with its sources, and reviewing a sample every week.

Sources and further reading

Primary documentation and research behind this guide.

A support agent on Odoo is mostly careful plumbing: the right records, the right documents, narrow permissions and clear handoffs. If you want help scoping one, see our AI agents for Odoo and ERP service, or book a free AI audit with Growmerz and we will map which ticket types are worth automating first.