Part of our B2B eCommerce & Operations series
Read the complete guideOdoo Helpdesk: Build a Professional Ticketing System
Customer support is the frontline of retention. A Harvard Business Review study found that customers who have their issues resolved quickly are 2.4 times more likely to remain loyal than those who had no issue at all — but only if resolution happens within their expectations. Odoo 19 Enterprise Helpdesk provides everything you need to deliver fast, consistent support: SLA enforcement, intelligent ticket routing, a self-service customer portal, canned responses, and cross-team escalation workflows. Companies using Odoo Helpdesk report an average 45% reduction in first-response time and a 30% improvement in customer satisfaction scores.
This guide covers the complete configuration of a professional ticketing system in Odoo 19, from initial setup through advanced automation that scales from a 3-person support team to a 100-agent operation.
Key Takeaways
- Configure SLA policies with escalation rules that enforce response and resolution deadlines
- Set up automatic ticket assignment using round-robin, load balancing, or skill-based routing
- Build a customer portal where users can submit, track, and rate tickets
- Create email aliases that convert inbound emails into organized tickets
- Deploy canned responses for common issues to reduce handling time by 40-60%
- Design multi-team support with escalation paths between Tier 1, Tier 2, and engineering
- Build reporting dashboards that track SLA compliance, agent performance, and customer satisfaction
- Integrate Helpdesk with Knowledge Base, CRM, and Sales for complete customer context
Helpdesk Team Architecture
The foundation of effective support is a well-designed team structure. Odoo Helpdesk supports multiple teams, each with its own configuration, SLA policies, and assignment rules.
Creating Support Teams
Navigate to Helpdesk > Configuration > Helpdesk Teams and create teams based on your support model:
| Team | Purpose | SLA Target | Assignment Method |
|---|---|---|---|
| Tier 1 - General | First contact for all inquiries | Response: 1h, Resolution: 8h | Round-robin |
| Tier 2 - Technical | Complex technical issues | Response: 2h, Resolution: 24h | Skill-based |
| Tier 3 - Engineering | Bug fixes and development | Response: 4h, Resolution: 5 days | Manual |
| Billing Support | Invoice and payment issues | Response: 2h, Resolution: 4h | Round-robin |
| Enterprise Support | Premium customers only | Response: 30min, Resolution: 4h | Dedicated agent |
Team Configuration Options
Each team has a comprehensive configuration panel:
Email alias: Assign a unique email address (e.g., [email protected], [email protected]). Every email sent to this address automatically creates a ticket in the corresponding team with the sender as the customer, the subject as the ticket title, and the email body as the description.
Website form: Enable "Website Form" to add a ticket submission form to your customer portal. Configure which fields appear on the form — include dropdown selections for ticket type, priority, and product to enable automatic routing.
Live chat: Connect Odoo Live Chat to a helpdesk team. When a live chat conversation ends, the operator can convert it to a ticket with one click. The entire chat transcript becomes the ticket description, preserving context.
Closing stages: Define which stages mark a ticket as "closed" for SLA calculation purposes. Typically, "Solved" and "Cancelled" are closing stages.
SLA Policy Configuration
SLA policies define your service commitments and create accountability within your support team.
Defining SLA Policies
Navigate to Helpdesk > Configuration > SLA Policies and create policies for each team:
| Policy | Team | Condition | Target | Priority |
|---|---|---|---|---|
| Critical Response | All | Priority = Urgent | First response in 30 min | Highest |
| Standard Response | Tier 1 | All tickets | First response in 1 hour | High |
| Technical Resolution | Tier 2 | Type = Technical | Resolved in 24 hours | Medium |
| Billing Resolution | Billing | Type = Billing | Resolved in 4 hours | High |
| Enterprise SLA | Enterprise | Customer tag = Enterprise | Response: 15 min, Resolution: 2h | Highest |
SLA Stages and Measurement
Each SLA policy tracks progress through ticket stages. Configure "reaching" stages — when a ticket reaches a defined stage within the target time, the SLA is met. For example:
- First Response SLA: Measured from ticket creation to first public reply (message to customer)
- Resolution SLA: Measured from ticket creation to reaching "Solved" stage
- Escalation SLA: Measured from ticket creation to escalation action if not resolved within threshold
SLA Escalation Automation
Configure automated escalation when SLA deadlines approach:
- At 50% of SLA time remaining: Send internal notification to assigned agent ("Ticket approaching SLA deadline")
- At 80% of SLA time remaining: Notify team leader and highlight ticket in Kanban view
- At SLA breach: Automatically reassign to team leader, send alert to support manager, change priority to "Urgent"
- At 2x SLA time: Notify department head, add to daily escalation report
Implement these using Odoo automated actions with time-based triggers relative to the SLA deadline field.
Automatic Ticket Assignment
Manual ticket assignment creates bottlenecks and uneven workloads. Odoo supports multiple automatic assignment strategies.
Round-Robin Assignment
The simplest method distributes tickets evenly across all team members. Enable under the team's configuration by selecting "Balanced" as the assignment method. Odoo tracks each agent's current open ticket count and assigns new tickets to the agent with the fewest open items.
Skill-Based Routing
For technical support teams, skill-based routing ensures tickets reach the right expert. Configure skills under Helpdesk > Configuration > Skills and assign them to team members:
| Skill | Agents | Routing Condition |
|---|---|---|
| Odoo Technical | Alice, Bob | Ticket type = "Technical - ERP" |
| Billing & Finance | Carol, Dave | Ticket type = "Billing" |
| API/Integration | Bob, Eve | Tags contain "API" or "integration" |
| Mobile App | Alice, Frank | Tags contain "mobile" |
When a ticket arrives with matching conditions, Odoo routes it to an agent with the corresponding skill, balanced by current workload.
Customer-Specific Assignment
For premium customers, configure dedicated agent assignment. On the customer's contact record, set a "Dedicated Support Agent" field. Create an automated action that assigns tickets from this customer directly to their dedicated agent, bypassing the normal routing queue.
Business Hours and Availability
Configure business hours per team under the team settings. SLA timers only count during business hours — a ticket created at 5 PM Friday with a 4-hour SLA does not breach until 1 PM Monday (assuming Mon-Fri 9-5 business hours). Configure individual agent schedules if your team spans multiple time zones to ensure follow-the-sun coverage.
Customer Portal and Self-Service
A customer portal reduces ticket volume by empowering customers to find answers and track issues independently.
Portal Configuration
Enable the customer portal under Helpdesk > Configuration > Settings. Customers can:
- Submit tickets via a web form with file attachments, priority selection, and product/category dropdowns
- Track tickets in real-time with status updates, assigned agent name, and SLA progress
- Communicate by adding messages to their ticket, including attachments, without sending email
- View history of all past tickets, searchable and filterable by status, date, and category
- Rate resolution with a satisfaction survey after ticket closure (1-5 stars plus comment)
Knowledge Base Integration
Connect Helpdesk to the Knowledge app to provide self-service articles. When a customer starts typing a ticket subject, Odoo suggests relevant knowledge base articles that might resolve their issue without submitting a ticket. This deflection mechanism can reduce ticket volume by 15-30% for common issues.
Configure knowledge article suggestions based on ticket categories. If a customer selects "Password Reset" as their ticket type, immediately display the password reset guide before they complete the form.
Portal Customization
Customize the portal appearance to match your brand under Website > Configuration > Customize. Add your logo, brand colors, and custom CSS. Create a landing page for your support center that includes: ticket submission form, knowledge base search, FAQ section, contact information, and business hours.
Canned Responses and Response Templates
Canned responses are pre-written replies that agents select with one click, dramatically reducing response time while maintaining consistency.
Building a Canned Response Library
Navigate to Helpdesk > Configuration > Canned Responses and create responses for your most common ticket types:
| Canned Response | Use Case | Time Saved |
|---|---|---|
| Greeting + Info Request | First response asking for details | 2-3 min |
| Password Reset Instructions | Self-service password reset steps | 5-7 min |
| Refund Policy | Standard refund terms and process | 3-5 min |
| Escalation Notice | Informing customer of escalation to Tier 2 | 2-3 min |
| Resolution Confirmation | Confirming issue resolved + satisfaction survey | 3-4 min |
| Feature Request Acknowledgment | Logging feature request for product team | 2-3 min |
| Bug Report Template | Collecting reproduction steps | 4-6 min |
| Invoice Correction | Explaining invoice adjustment | 3-5 min |
Dynamic Placeholders
Canned responses support dynamic placeholders that personalize each message:
${ticket.partner_id.name}— Customer name${ticket.name}— Ticket reference number${ticket.user_id.name}— Assigned agent name${ticket.team_id.name}— Support team name${ticket.sla_deadline}— SLA target date
A canned response might read: "Hi $\\{ticket.partner_id.name\\}, thank you for contacting $\\{ticket.team_id.name\\}. Your ticket $\\{ticket.name\\} has been assigned to $\\{ticket.user_id.name\\} who will investigate and respond within our SLA commitment. You can track progress at any time through your customer portal."
Keyboard Shortcuts
Train agents to use the shortcut trigger (typing : followed by the response shortcode) to insert canned responses. This is faster than browsing the response list for experienced agents. Organize shortcodes logically: :greet for greeting, :reset for password reset, :refund for refund policy.
Multi-Team Escalation Workflows
Complex support operations require smooth escalation between teams.
Escalation Path Design
Customer → Tier 1 (General)
↓ Cannot resolve in 4 hours
Tier 2 (Technical)
↓ Requires code change
Tier 3 (Engineering)
↓ Impacts billing
Billing Support
Configuring Escalation
Create an "Escalation" stage in each team's pipeline. When an agent moves a ticket to this stage, an automated action:
- Copies the ticket to the destination team (preserving all history and attachments)
- Adds an internal note with the escalation reason and what has been tried
- Notifies the destination team leader
- Updates the customer with a message explaining the escalation
- Pauses the current team's SLA timer and starts the destination team's timer
Cross-Team Visibility
Configure shared views so that Tier 1 agents can see the status of tickets they escalated to Tier 2. This prevents customers from having to explain their issue again if they contact Tier 1 for a status update. Use Odoo's "Following" mechanism — when an agent escalates, they automatically follow the ticket in the destination team.
Reporting and Performance Analytics
Agent Performance Dashboard
Build agent performance tracking under Helpdesk > Reporting:
| Metric | Target | How Measured |
|---|---|---|
| Average first response time | <1 hour | Time from creation to first public message |
| Average resolution time | <8 hours | Time from creation to "Solved" stage |
| SLA compliance rate | >95% | Tickets resolved within SLA / total tickets |
| Customer satisfaction (CSAT) | >4.2/5 | Post-resolution survey responses |
| Tickets per day | 15-25 | Total tickets closed per agent per day |
| Reopened rate | <5% | Tickets moved from Solved back to open stage |
Trend Analysis
Track metrics over time to identify patterns:
- Volume by day of week: Staff accordingly (many businesses see Monday spikes)
- Volume by ticket type: Identify product areas generating the most support load
- Resolution time by category: Find areas where better documentation could reduce handling time
- CSAT by agent: Identify coaching opportunities and recognize top performers
- Escalation rate: If >20% of Tier 1 tickets escalate, training or knowledge base gaps exist
Automated Weekly Report
Configure a scheduled action that compiles weekly support metrics and sends them to the support manager every Monday morning. Include: total tickets created, closed, and open; SLA compliance percentage; average CSAT score; top 5 ticket categories; agents with highest and lowest performance; and escalation rate.
Integration with Other Odoo Modules
Helpdesk + CRM
Link helpdesk tickets to CRM opportunities. When a support ticket arrives from a prospect (someone with an active opportunity), Odoo alerts the salesperson. This prevents deals from stalling due to unresolved technical concerns. The salesperson can view support interactions from the opportunity chatter.
Helpdesk + Sales
View a customer's purchase history from the ticket view. This context helps agents provide relevant support — an agent handling a refund request can instantly see the original order, payment method, and delivery status without switching applications.
Helpdesk + Knowledge
The Knowledge integration works bidirectionally: agents can search the knowledge base while responding to tickets, and they can create new knowledge articles directly from ticket resolutions. When an agent solves a novel issue, they click "Create Article" to turn their resolution into a knowledge base entry for future reference.
Helpdesk + Timesheets
Enable timesheet tracking on helpdesk tickets to measure actual support costs. Agents log time directly on tickets, which flows to project timesheets and invoicing. This is particularly valuable for service companies that bill support hours or need to track support cost per customer.
Frequently Asked Questions
How many helpdesk teams should I create?
Start with the minimum needed to reflect your actual support structure. Most organizations need 2-3 teams (General/Tier 1, Technical/Tier 2, and optionally Billing). Creating too many teams fragments your support data and makes reporting harder. Add teams only when you have distinct SLA requirements or specialized skills that warrant separation.
Can customers see internal notes on their tickets?
No. Odoo Helpdesk distinguishes between "Send Message" (visible to customers) and "Log Note" (internal only). Internal notes are visible only to support agents and managers. Use internal notes for escalation context, troubleshooting steps, and agent-to-agent communication.
How do I handle tickets that arrive outside business hours?
Tickets created outside business hours queue normally but SLA timers do not start until the next business day. Configure an auto-reply email template that acknowledges receipt and sets expectations: "Your ticket has been received. Our support team operates Monday-Friday 9 AM - 5 PM EST. We will respond within 1 business hour of our next business day."
Can I track SLA performance by customer segment?
Yes. Tag customers as "Enterprise," "Standard," or "Free" on their contact record. Create separate SLA policies per segment. Then filter SLA compliance reports by customer tag to see how well you are meeting commitments per tier. This is essential for justifying premium pricing for enterprise support tiers.
How does Odoo Helpdesk compare to Zendesk or Freshdesk?
Odoo Helpdesk is comparable in core functionality (ticketing, SLA, portal, reporting) and superior in integration depth — tickets connect natively to CRM, Sales, Invoicing, and Knowledge without third-party connectors. Zendesk and Freshdesk have deeper standalone support features (community forums, advanced chatbot builders) but require expensive integrations to connect with business data. For organizations already using Odoo for other functions, Helpdesk is significantly more cost-effective and data-rich.
Can I merge duplicate tickets from the same customer?
Yes. Select multiple tickets in the list view and use the "Merge" action. Odoo combines all messages, attachments, and internal notes into a single ticket. The older ticket number is preserved, and a note records the merge. This is common when customers email and submit a portal ticket for the same issue.
How do I set up a satisfaction survey after ticket closure?
Enable "Customer Satisfaction" under the helpdesk team's settings. When a ticket reaches the "Solved" stage, Odoo automatically sends a survey email with a rating scale (1-5 stars or smiley faces). Results are recorded on the ticket and aggregated in the satisfaction report. Configure the survey delay — many teams wait 1 hour after closure to give the customer time to verify the fix.
Build World-Class Support with ECOSIRE
Your helpdesk is not just a cost center — it is the most direct channel for understanding customer needs, reducing churn, and identifying product improvement opportunities. The support data flowing through Odoo Helpdesk, when properly configured and analyzed, becomes a strategic asset.
ECOSIRE's Odoo support and maintenance team has deployed helpdesk systems for SaaS companies, manufacturers, professional services firms, and e-commerce businesses. Our implementation includes team architecture design, SLA policy configuration, canned response development, portal customization, Knowledge base setup, and agent training.
Contact ECOSIRE for a helpdesk system assessment, or explore our Odoo implementation services to see how we integrate Helpdesk into your complete customer operations.
Related reading:
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transform Your Business with Odoo ERP
Expert Odoo implementation, customization, and support to streamline your operations.
Related Articles
How to Add a Custom Button to an Odoo Form View (2026)
Add custom action buttons to Odoo 19 form views: Python action method, view inheritance, conditional visibility, confirmation dialogs. Production-tested.
How to Add a Custom Field in Odoo Without Studio (2026)
Add custom fields via custom module in Odoo 19: model inheritance, view extension, computed fields, store/non-store decisions. Code-first, version-controlled.
How to Add a Custom Report in Odoo Using External Layout
Build a branded PDF report in Odoo 19 using web.external_layout: QWeb template, paperformat, action binding. With print logo + footer overrides.
More from B2B eCommerce & Operations
B2B E-commerce Strategy: Build a Wholesale Online Business in 2026
Master B2B e-commerce with strategies for wholesale pricing, account management, credit terms, punchout catalogs, and Odoo B2B portal configuration.
Case Study: Wholesale Distributor Achieves 3x Growth with ECOSIRE's ERP Solution
How a B2B distributor modernized from legacy systems to Odoo ERP with barcode scanning, B2B portal, and Power BI, saving $200K annually.
Faire Wholesale Integration with Odoo ERP: Step-by-Step Setup
Complete guide to integrating Faire wholesale marketplace with Odoo ERP. Automate B2B orders, inventory sync, and retailer management.
ECOSIRE Support Plans: What Level of Support Do You Need?
A complete guide to ECOSIRE's support plans. Understand what each tier covers, how response times work, and how to choose the right support level for your operation.
ERP for Wholesale and Distribution: Orders, Inventory, and Logistics
How ERP systems optimize wholesale and distribution operations through order management, multi-warehouse inventory, route planning, and customer pricing management.
Wholesale ERP Implementation: EDI, B2B Portal, and Route Planning
A comprehensive guide to implementing ERP in wholesale distribution, covering EDI integration, B2B customer portal setup, warehouse management, and route planning.