Departments, Teams & SLAs
Departments organize ticket routing and access control. Teams provide cross-departmental grouping. SLAs define response and resolution time targets.
Departments
Creating a Department
- Navigate to Admin → Agents → Departments
- Click Add New Department
- Configure:
| Field | Description |
|---|---|
| Name | Department display name |
| Type | Public (visible to clients) or Private (internal only) |
| SLA | Default SLA plan for tickets in this department |
| Manager | Department manager (receives escalation notices) |
| Department-specific email address | |
| Auto-Response | Enable/disable auto-reply on new tickets |
| Assignment | Auto-assign rules (round-robin, least tickets, etc.) |
- Save the department
Department Access Control
- Staff only see tickets in their assigned departments
- Extended access grants visibility to additional departments
- Department managers receive all alerts for their department
- Private departments are hidden from the client portal help topic list
Ticket Routing
Tickets are routed to departments based on:
- Help Topic selection (maps topic → department)
- Email account (each inbox can route to a specific department)
- Filter rules (keyword/header matching)
- Manual transfer by staff
Teams
Teams are cross-departmental groups that allow collaborative work:
Creating a Team
- Navigate to Admin → Agents → Teams
- Click Add New Team
- Set team name and lead
- Add members (from any department)
- Configure alert routing
Team Features
| Feature | Description |
|---|---|
| Cross-Department | Members can be from different departments |
| Team Assignment | Tickets can be assigned to a team (all members see them) |
| Team Lead | Receives team-level alerts and escalations |
| Alert Routing | New ticket/message alerts can target the team |
When to Use Teams vs Departments
| Use Case | Recommendation |
|---|---|
| Organizational grouping with SLAs | Department |
| Access control boundary | Department |
| Cross-cutting project group | Team |
| On-call rotation | Team |
| Escalation group | Team |
SLA Plans
SLA (Service Level Agreement) plans define time-based targets for ticket handling.
Creating an SLA Plan
- Navigate to Admin → Manage → SLA Plans
- Click Add New SLA Plan
- Configure:
| Field | Description |
|---|---|
| Name | SLA plan name (e.g., "Priority — 4 Hour") |
| Grace Period | Hours before ticket becomes overdue |
| Status | Active / Disabled |
| Transient | If enabled, SLA resets on each response |
| Disable Overdue Alerts | Suppress overdue notifications |
| Schedule | Business hours schedule to apply |
SLA Application Priority
SLAs are applied in this order (first match wins):
- Help Topic SLA — topic-specific override
- Department SLA — department default
- System Default SLA — global fallback
Business Hours Schedules
Schedules define when the SLA clock runs:
- Navigate to Admin → Manage → Schedules
- Create a schedule (e.g., "Business Hours M-F 8am-5pm CST")
- Define working days and hours
- Add holidays/exceptions
- Assign the schedule to SLA plans
When a schedule is attached to an SLA, grace period hours only count during business hours.
Help Topics
Help topics are the categories clients select when creating tickets. They control routing and initial configuration.
Creating a Help Topic
- Navigate to Admin → Manage → Help Topics
- Click Add New Help Topic
- Configure:
| Field | Description |
|---|---|
| Topic Name | Display name for clients |
| Status | Active / Disabled |
| Type | Public (client-visible) or Internal (agent-created only) |
| Parent Topic | Nested hierarchy support |
| Department | Route tickets to this department |
| SLA Plan | Override department SLA |
| Priority | Default priority |
| Auto-Assignment | Assign to specific staff/team |
| Custom Form | Additional form fields for this topic |
Routing via Help Topics
Client selects Help Topic "Billing Issue"
→ Ticket created in "Billing" department
→ SLA: "Priority — 8 Hour" applied
→ Auto-assigned to Billing team
→ Custom "Billing Details" form fields shown
Escalation Rules
Department-Level Escalation
Each department can configure escalation behavior:
- Manager receives overdue alerts — when SLA breaches
- Disable auto-claim — prevent staff from self-assigning without PM approval
- Transfer rules — auto-transfer to escalation department after time threshold
Custom Escalation System
The ticket system adds a custom escalation system beyond osTicket's built-in:
| Type | Behavior |
|---|---|
| Emergency | Immediate email + SMS to PMs and assigned staff |
| Higher Priority | Added to daily escalation digest (7:30 AM CST) |
| 48-Hour Cooldown | Clients can only escalate the same ticket every 48 hours |
See Escalation for the full escalation workflow.
Filter Rules
Filters automatically process incoming tickets based on criteria:
Creating a Filter
- Navigate to Admin → Manage → Ticket Filters
- Click Add New Filter
- Define matching rules:
| Criteria | Options |
|---|---|
| Email address | From, To, CC contains/matches |
| Subject | Contains, starts with, matches regex |
| Body | Contains specific text |
| Help Topic | Matches specific topic |
| Source | Web, Email, API, Phone |
- Define actions:
| Action | Description |
|---|---|
| Set Department | Route to specific department |
| Set Priority | Override default priority |
| Set SLA | Apply specific SLA plan |
| Assign To | Auto-assign staff/team |
| Set Status | Set initial status |
| Auto-Respond | Send/suppress auto-response |
| Reject | Reject the ticket entirely |
Best Practices
- Keep departments focused — each department should represent a distinct service area
- Use teams for projects — cross-cutting work should use teams, not shared departments
- Set realistic SLAs — overdue alerts lose meaning if SLAs are too aggressive
- Use business hours — attach schedules to SLAs to avoid after-hours overdue alerts
- Review filters regularly — stale filters can route tickets incorrectly
- Test help topics — verify routing works by submitting test tickets from the client portal