Help Desk & Customer Support
Capture, route, and resolve customer issues across email, chat, and knowledge base with SLA enforcement, CSAT measurement, and agent tooling.
Options
Platform Approach*
Support Channels*
Ticket Routing Strategy*
Quality & Governance
Decision Points
Bundled platform (Intercom, Zendesk) or build in-app?
If yes
Start on a managed platform — you will not beat Zendesk on ticketing UX in under a year. Revisit only when seat cost or product-integration needs dominate.
If no
Build in-app only when support is a core product workflow (Plain/Linear model). Budget accordingly for macros, SLAs, CSAT, and reporting.
Email-based, chat-based, or both channels?
If yes
Ship both: email for async B2B, in-app chat for logged-in users hitting issues. They serve different personas and you will need both within six months.
If no
Start with email if you cannot staff chat response during business hours. A slow chat widget is worse than no chat widget.
Public knowledge base alongside tickets?
If yes
Ship a public KB early — it doubles as SEO and deflects the FAQ tier of tickets. Seed it from macros and resolved-ticket summaries.
If no
Skip only if your product is in early private beta and every support interaction is a learning opportunity worth a human reply.
In-product chat widget or separate support site?
If yes
In-product is the higher-conversion choice — session context is free and users never context-switch. Use the separate site only as a fallback for logged-out users.
If no
Separate support site makes sense when logged-out issues (billing, access) are a meaningful share of volume.
Route tickets by topic, team, or round-robin?
If yes
Topic/team routing as soon as agents specialize. A classifier on subject + body (rule-based works) routes to billing, technical, onboarding queues.
If no
Round-robin is fine when all agents are cross-trained and volume is low. Graduates to topic routing once specialization emerges.
Enforce SLAs with auto-escalation on breach?
If yes
Required for any plan sold with a response-time commitment. Escalate on breach to a manager channel, not just a label change.
If no
Internal-only soft targets are fine for self-serve products. Revisit once enterprise contracts appear.
CSAT / NPS survey after resolution?
If yes
One-click CSAT on ticket close. Aggregate per agent (coaching signal) and per topic (product signal). NPS quarterly on active users is separate.
If no
Only skip if volume is too low for statistical signal — below ~50 tickets/week CSAT is noise.
Agents see user session context (replays, logs)?
If yes
Attach session replay, recent events, plan, and feature flags to each ticket. Cuts the 'what did you click?' loop that dominates first-response time.
If no
Agents will ask for reproduction steps manually — acceptable for low-volume B2B, painful at consumer scale.
Tiered priority by plan (enterprise first)?
If yes
Separate enterprise queue with dedicated senior agents; free-tier queue handled on best-effort. Enforce via routing rules, not agent discretion.
If no
Flat queue is fair and simpler — viable until enterprise SLAs exist.
AI-assisted reply drafts for agents?
If yes
Draft-with-human-review is the safe pattern — LLM suggests a grounded reply using your KB, agent edits. Never auto-send on policy questions (refunds, warranties).
If no
Canned responses alone cover most volume and carry no hallucination risk.
Shared inbox or per-agent queues?
If yes
Shared inbox with assignment on pickup — scales better, prevents tickets from rotting in a vacationing agent queue. Track ownership via assignment events.
If no
Per-agent queues only make sense for named-account coverage (named CSM per enterprise account).
Canned responses / macros managed by agents?
If yes
Let agents propose macros; a lead reviews and publishes. Review the macro library monthly — stale macros ship wrong policy.
If no
Pure ad-hoc replies are fine below ~20 tickets/day. Past that, repetition is costing you real time.
Multi-language ticket routing?
If yes
Detect language on inbound (Google Cloud Translate or CLD3) and route to language-matched agent pools. Fall back to machine translation with a disclosure banner.
If no
English-only with a canned "we only support English" response is acceptable for B2B early on — revisit once >10% of inbound is non-English.
Integrate with public status page?
If yes
Link the status page in the chat widget and ticket submission form. During incidents, an acknowledged status page deflects 50%+ of duplicate tickets.
If no
Acceptable only if you have no incidents worth broadcasting — every production service should eventually have one.
Export ticket data for analytics / BI?
If yes
Use the platform API or a Fivetran connector to pipe tickets into your warehouse. Support metrics (CSAT, time-to-resolve, topic volume) belong next to product metrics.
If no
The platform dashboards are sufficient at early stage — revisit when cross-team reporting (support x product x revenue) matters.
Tradeoffs
Fast time-to-value but per-seat cost balloons past 20 agents and macros/workflows are vendor-locked
Expected response latency drops to minutes — implies live staffing during business hours
Ticket volume drops 30-60% as self-serve answers deflect questions
First-response latency drops but requires ingesting replays/logs into the ticket platform
Dependencies
Implementation Examples
In-app messenger + help desk with strong session context and AI-assist (Fin) built in.
Incumbent ticketing platform — deepest reporting, SLA, and workflow capabilities.
Developer-first support built around a customer-request object model — tight product integration.
Open-source help desk; self-host for data residency or seat-cost reasons.
Mid-market ticketing with tiered pricing — common choice for SMB and mid-size support teams.