# Odoo Helpdesk MCP

> Odoo Helpdesk connects your AI client directly to Odoo ERP's ticketing system. You can manage, track, and update support tickets—from logging a new issue with `odoo_create_ticket` to checking SLA deadlines using `odoo_list_sla_policies`. It keeps all customer service data in one place without forcing you to switch tabs.

## Overview
- **Category:** customer-support
- **Price:** Free
- **Tags:** ticket-management, sla-tracking, customer-service, issue-resolution, support-automation, team-collaboration

## Description

**Odoo Helpdesk connects your AI client right into Odoo ERP's ticketing system.** You can manage every support ticket—logging new issues, tracking assignments, and updating details—all without leaving your chat window. You get a full view of your customer service data in one place.

To start a case, use `odoo_create_ticket`. It lets you log a brand-new helpdesk issue by providing the subject, the customer's email, the assigned team ID, a detailed description, and the priority level. You can check what support teams are available in Odoo Helpdesk using `odoo_list_helpdesk_teams`; this tool shows you each team’s name, how many members they have, and whether or not they track SLAs.

You need to know if you're meeting deadlines? Run `odoo_list_sla_policies`. This pulls up all the Service Level Agreement (SLA) policies set for your support desk, giving you precise details on target response times and resolution deadlines broken down by team and ticket stage. Want to see what kinds of issues people are reporting? You can call `odoo_list_ticket_types` to get a list of every classification label Odoo uses—like 'Bug' or 'Feature Request'—so you know how to categorize tickets properly.

When you need an overview, start by listing all open cases with `odoo_list_tickets`. This gives you a roster showing the customer associated with the ticket, which team owns it, its current stage in the process, its priority level, and its SLA status. If you're hunting for something specific, don't scroll through everything; use `odoo_search_tickets` to quickly find existing issues or requests by searching keywords in the ticket subject.

Need to make changes? You can modify an existing ticket’s details using `odoo_update_ticket`. This lets you change its priority, rename it for clarity, reassign ownership to a different agent, or update any other field on file. If you want to see all the support teams configured in Odoo Helpdesk, run `odoo_list_helpdesk_teams` again; this shows you the name of each team and if they're tracking SLAs.

You can also check what’s available for categorization by listing ticket types with `odoo_list_ticket_types`. Finally, to get a full list of all support tickets in Odoo Helpdesk at a glance, use `odoo_list_tickets`.

## Tools

### odoo_create_ticket
Logs a new helpdesk ticket in Odoo. You must provide the subject, customer email, team ID, description, and priority level.

### odoo_list_helpdesk_teams
Lists all support teams in Odoo Helpdesk, showing their name, how many members they have, and if SLA tracking is active.

### odoo_list_sla_policies
Retrieves configured Service Level Agreement (SLA) policies for the helpdesk, detailing target response times and resolution deadlines by team and stage.

### odoo_list_ticket_types
Lists available classification labels used in Odoo to categorize tickets, such as 'Bug' or 'Feature Request'.

### odoo_list_tickets
Returns a list of all helpdesk tickets in Odoo. You see the customer, team, current stage (kanban), priority, and SLA status.

### odoo_search_tickets
Searches for specific helpdesk tickets by subject or keyword to find a particular issue or request quickly.

### odoo_update_ticket
Modifies an existing ticket in Odoo. You can change the priority, rename it, reassign ownership, or update other fields.

## Prompt Examples

**Prompt:** 
```
Search for leads from the website
```

**Response:** 
```
👥 **CRM Leads — Website**
| Name | Email | Stage | Revenue |
|---|---|---|---|
| Acme Corp | info@acme.com | Qualification | $15,000 |
| Beta Inc | hello@beta.io | Proposition | $8,500 |
```

**Prompt:** 
```
Show recent sales orders
```

**Response:** 
```
📋 **Sales Orders**
| SO# | Customer | Amount | Status |
|---|---|---|---|
| S00042 | Acme Corp | $12,500 | Confirmed |
| S00041 | Beta Inc | $3,200 | Draft |
```

## Capabilities

### Create new helpdesk tickets
You log a support request by providing the subject, customer email, assigned team, and desired priority via `odoo_create_ticket`.

### List available support teams
The system retrieves all configured helpdesk teams, including their member count and if they track SLAs, using `odoo_list_helpdesk_teams`.

### Check SLA policy details
You view service level agreements (SLAs) for the support desk, seeing target response times and resolution deadlines per team via `odoo_list_sla_policies`.

### Search specific tickets by subject
The agent finds existing issues or requests by searching keywords in ticket subjects using `odoo_search_tickets`.

### Update existing ticket details
You modify a ticket's properties—like changing its priority, renaming it, or reassigning the agent—using `odoo_update_ticket`.

## Use Cases

### The urgent escalation
A customer calls in with a critical bug. The agent uses `odoo_search_tickets` to check if an issue with that subject already exists. If not, they run `odoo_create_ticket`, specifying the 'Bug' type and setting the priority to 'Urgent' (3), ensuring immediate visibility for the team.

### Checking service commitments
The operations manager asks: 'What is our response time goal for billing issues?' The agent runs `odoo_list_sla_policies`, which returns the specific targets. This data informs how they should advise new support staff on best practices.

### Client history deep dive
A sales rep needs to know everything about a client before calling them back. They first use `odoo_list_helpdesk_teams` to verify the correct technical team, then they run `odoo_list_tickets` filtered by that customer's name to see their complete support history.

### Reshuffling ownership
A ticket was assigned to the wrong agent. Instead of manually finding the record, the manager uses `odoo_update_ticket`, referencing the ticket ID and specifying a new assignee. The change is logged instantly.

## Benefits

- See the full picture of your team's workload instantly. Running `odoo_list_tickets` gives you a clean view of every open ticket, its priority, and who it's assigned to—no need to jump into the Odoo dashboard just to check status.
- Keep SLAs top-of-mind during logging. You can call `odoo_list_sla_policies` first to know exactly what response times your team is committed to before you even create the ticket with `odoo_create_ticket`.
- Stop searching through customer emails for details. Use `odoo_search_tickets` to find a specific client issue by subject or keyword, pulling up all relevant data—assignee, stage, and priority—in one shot.
- Update records without leaving the chat. Instead of navigating deep into Odoo just to change a ticket's status or reassign it, you use `odoo_update_ticket` directly through your agent.
- Understand your process flow immediately. You can check available categories using `odoo_list_ticket_types`, making sure that when you log an issue, the client gets routed under the right classification label.

## How It Works

The bottom line is you use listing tools to gather context (like team IDs or SLA targets), then pass that data to a creation or update tool for the final action.

1. First, ask your AI client to list current support teams using `odoo_list_helpdesk_teams`. This gives you the necessary team IDs.
2. Next, use that ID along with ticket details (subject, description) and priority in a single call to `odoo_create_ticket`.
3. Finally, your AI client executes the operation within Odoo, logging the new ticket into the specified kanban stage.

## Frequently Asked Questions

**How do I find out what teams are available when using odoo_create_ticket?**
You must first run `odoo_list_helpdesk_teams`. This returns the list of active team IDs, which you then pass into your ticket creation request to ensure correct routing.

**What is odoo_search_tickets used for?**
This tool lets you find an existing ticket by searching keywords in the subject or name. It's faster than listing all tickets when you only remember a small detail about the issue.

**Can I change a ticket's owner using odoo_update_ticket?**
Yes. `odoo_update_ticket` allows you to modify any writable field on an existing record, including reassigning the ticket to a different agent or updating its priority.

**Do I need odoo_list_sla_policies for every ticket?**
No. You only need `odoo_list_sla_policies` when you specifically want to know the time constraints (response/resolution deadlines). Otherwise, use `odoo_list_tickets` for current status.

**What does odoo_list_ticket_types show me?**
It lists all predefined classification labels for tickets. This lets you see if a ticket should be logged as a 'Bug,' 'Feature Request,' or something else. You use this before creating a record to keep your data organized.

**How do I check the entire support backlog using odoo_list_tickets?**
It returns a comprehensive list of all tickets, showing who owns them, their current stage (New, In Progress, etc.), and if they have active SLA policies. This gives you an immediate view of team workload.

**When using odoo_update_ticket, how do I change the ticket's priority?**
You pass the new priority level (0 to 3) and the ticket ID to update it. Changing the priority instantly affects the SLA tracking status shown on the record.

**Can odoo_list_helpdesk_teams help me with team assignments?**
It lists all available support teams, giving you their names and member counts. You use this data to select a valid team ID when calling odoo_create_ticket.

**Which Odoo versions are supported?**
This server uses the JSON-RPC protocol, which is compatible with Odoo 14, 15, 16, 17, and 18. Both Odoo Community and Enterprise editions are supported.

**Does it work with Odoo.com (SaaS)?**
Yes! Works with both Odoo.com hosted instances and self-hosted Odoo servers. Just provide your instance URL and API key.

**How do I generate an API Key?**
Go to Settings → Users → select your user → API Keys tab → New API Key. Give it a descriptive name and copy the generated key.