Customer Support Manager
Department: Customer Support
Level: Management
Primary objective: Support department performance — KPIs, system configuration, self-service strategy, CRM integration
What this role does
The Customer Support Manager defines how support works: configures all system settings (statuses, priorities, departments, email pipe, WhatsApp, bots), monitors team KPIs, approves major escalations, and ensures support contributes to customer retention — not just resolves problems.
Modules managed
| Module | Where to find it | What you use it for |
|---|---|---|
| Ticket Statuses | Operations → Statuses | Define the ticket lifecycle |
| Ticket Priorities | Operations → Priorities | Configure default SLAs per priority |
| Ticket Services | Operations → Services | Issue categories for reporting |
| Spam Filters | Marketing → Spam Filters | Email filtering policy |
| Surveys | Operations → Surveys | CSAT + NPS — creation and analysis |
| WhatsApp → Settings | Bot configuration, templates, Meta connection | |
| Knowledge Base | Knowledge → KB Groups | Self-service structure and strategy |
| Workflow Automation | Integrations → Automation | Automatic escalations, surveys, notifications |
| Custom Fields | Settings → Custom Fields | Ticket-specific fields on the form |
| Support Tickets | Operations → Tickets | Supervise major escalations |
| Announcements | Marketing → Announcements | System-wide communication to customers |
Support system configuration — initial setup
1. Department structure
Where: /admin/departments
Create one department for each support area, each with a dedicated email address:
| Department | Email address | Who responds |
|---|---|---|
| General Support | support@company.com |
All L1 agents |
| Technical Support | tech@company.com |
IT team |
| Billing | billing@company.com |
Accountants + Senior agents |
| Orders | orders@company.com |
OMS + Warehouse |
Email sent to the department address → forwarding → pipe.php → ticket created automatically in that department.
2. Ticket statuses (`/admin/tickets/statuses`)
Define the lifecycle. Recommended model:
| Status | Colour | Meaning |
|---|---|---|
| New | Blue | Received, unassigned |
| In Progress | Orange | Picked up by agent, investigating |
| Answered | Light green | Agent replied — awaiting customer |
| On Hold | Grey | Suspended — awaiting third parties |
| Escalated | Red | Escalated to L2 or another department |
| Closed | Green | Resolved and closed |
3. Priorities (`/admin/tickets/priorities`)
| Priority | Definition | Response SLA |
|---|---|---|
| Urgent | Complete unavailability, production impact | < 1h |
| High | Major functionality affected | < 4h |
| Medium | Functional issue, workaround available | < 24h |
| Low | Question, information request | < 48h |
4. Services (`/admin/tickets/services`)
Issue categories for analysis and reporting:
Examples: Account & Access · Billing · Orders & Delivery ·
Bug / Technical Error · Feature Request ·
Onboarding · Contracts · Other
Agent selects the service when creating/processing the ticket → you filter reports per service.
5. Custom fields on tickets
Where: /admin/custom_fields → entity: Tickets
Add business-specific fields:
| Field | Type | Usefulness |
|---|---|---|
| Contract / order number | Text | Quick contextualisation |
| Version / affected module | Dropdown | Technical triage |
| Customer tier (Basic/Pro/Enterprise) | Dropdown | Differentiated SLA |
| Origin channel | Dropdown | Source analytics |
Fields with show_on_client_portal = 1 also appear in the ticket form in the customer portal.
WhatsApp configuration for support
Where: /admin/whatsapp → Settings
Meta Business setup (once only)
- Create Meta App + WhatsApp Business Account
- Connect Business phone number
- Register webhook:
{site_url}/whatsapp/webhook/getdata - Enter in CRM: Business ID, WABA ID, App ID, Access Token
- Sync templates from Meta (manual or hourly cron)
Auto-lead from anonymous WhatsApp
If you enable whatsapp_auto_lead_settings = 'enable':
- Any message from an unknown number → automatically creates a Lead in CRM
- Configure: default status, source, assigned agent
Bots for automatic replies
Where: /admin/whatsapp/Bots
Create bots for recurring situations:
- Business hours bot: automatically replies outside hours with schedule and alternative
- Receipt confirmation bot: "Your message has been received. An agent will reply within X hours."
- FAQ bot: answers simple frequent questions (opening hours, address, portal link)
Note: Automatic ticket creation from WhatsApp is partially implemented — WhatsApp tickets are created manually by agents.
WhatsApp templates for support notifications
Where: whatsapp_api → Event mapping
Configure automatic messages sent at CRM events:
| CRM Event | WhatsApp Template | When sent |
|---|---|---|
| Ticket created | "We received your ticket #[ID]. An agent will reply within [SLA]." | Immediately |
| Ticket resolved | "Your ticket #[ID] has been resolved. Thank you for your patience!" | On Closed status |
| Invoice issued | "Invoice [No] has been issued. Download from your portal: [link]" | On issuance |
| Payment confirmed | "Payment for invoice [No] has been confirmed. Thank you!" | On payment registration |
Self-service strategy — Knowledge Base
Recommended KB structure
Where: /admin/knowledge_base/manage_groups
📂 Getting Started
→ How to register / How to access portal
→ Platform navigation
→ First recommended settings
📂 Account & Access
→ Password reset
→ Adding new users
→ Permissions and roles
📂 Billing & Payments
→ How to download an invoice
→ How to add a payment method
→ What "Overdue" status means
📂 Orders & Delivery
→ How to track an order
→ Return procedure
→ Order status explained
📂 Common Errors
→ [Error message X] — what it means and how to fix it
→ Sync issues
→ Import errors
📂 Advanced Guides (staff only)
→ Internal procedures
→ B2B escalation
→ SLA per contract
KB metrics
- Articles with > 20% negative votes → review and improve
- Articles not viewed in 30 days → assess if they're relevant
- Tickets on same topic as existing article → agent isn't sending link → training needed
CSAT & NPS satisfaction surveys
Where: /admin/surveys
Standard post-ticket survey
Survey: "How was your experience with our support?"
→ Question 1: Rating 1–5 (overall satisfaction)
→ Question 2: "What could we improve?" (free text)
→ Question 3 (optional): NPS — "How likely are you to recommend us?" (0–10)
Triggered automatically: Ticket Closed → Wait 1h → Send survey
Analysing results
Where: /admin/surveys → Results tab
- Average rating < 3.5 → systemic issue → immediate investigation
- Negative comments → read manually → identify patterns
- NPS < 20 → churn risk → escalate to KAM / Sales
Support department KPIs — monthly monitoring
| KPI | Formula | B2B Benchmark |
|---|---|---|
| Time to First Response | Average first staff reply time - creation date |
< 4h |
| Resolution Time | Average close date - creation date |
< 48h L1 |
| First Contact Resolution (FCR) | Tickets resolved without escalation / total | > 70% |
| CSAT | Average rating from surveys | > 4.0 / 5 |
| NPS | % Promoters - % Detractors | > 30 |
| Ticket Deflection Rate | (KB views) / (KB views + Tickets) | > 40% |
| Tickets per agent per day | Total volume / active agents | 15–30 (depends on complexity) |
| SLA Compliance | Tickets answered within SLA / total per priority | > 90% Urgent; > 80% High |
Integrating support with the rest of the CRM
What the agent can see from the customer file
When opening a ticket, the agent has direct access to:
| Information | Where in CRM | Relevance for support |
|---|---|---|
| All previous tickets | Customer file → Tickets tab | Context for recurring issues |
| Active and overdue invoices | Customer file → Invoices tab | "They also have an overdue invoice" = sensitive context |
| Recent orders | Customer file → Orders tab | Delivery status |
| Active contracts | Customer file → Contracts tab | Contractual SLA |
| Open opportunities | Customer file → Opportunities tab | Active prospect — premium treatment |
| Previous communications | Customer file → Activity tab | Complete relationship history |
Frequent cross-department flows
Support → Sales:
Customer complains but is open to an alternative solution
→ Create Opportunity in CRM → pass to KAM/Sales
Support → Finance:
Invoice dispute
→ Document in ticket → escalate to AR Accountant
→ Track resolution → inform customer
Support → Warehouse:
Delivery / return issue
→ Check AWB and order status
→ Create Delivery Return if needed → notify warehouse
→ Ticket remains open until customer confirms resolution received
Support → IT/Admin:
Confirmed technical bug
→ Document: reproduction steps, browser, exact error, screenshot
→ Create Task for IT assigned from ticket
→ Inform customer about remediation timeline
Practical tips
Good support is measured in customers who stay, not tickets closed. A ticket closed in 2 minutes with a generic response is worse than one closed in 2 hours with a real solution.
Invest 20% of your time in prevention, not 100% in reaction. A well-maintained KB, proactive incident announcements, and smart automations reduce ticket volume more than any new hire.
Configure auto-close carefully. "Closed after 7 days of inactivity" is reasonable. "Closed after 24h without customer reply" irritates them. Find the balance with feedback from the team and CSAT scores.
Ticket analysis by service category tells you what to fix in the product. If 30% of tickets are about the same module, the problem isn't support — it's the product. Escalate the data to management with concrete numbers.