Implementation Spec draft
Salesforce Service Cloud — Support Desk

A support desk built on the data the business already runs on.

A specification and UX brief for consolidating customer, affiliate, and program-applicant support into Salesforce Service Cloud — migrating off Zendesk, grounded in 11,236 real tickets, and designed so the intelligence lives in the model, not a dispatcher.

Prepared forSF implementation team
Prepared byMax Pringle · Ethoderm
Date12 Jul 2026
Evidence base11,236 tickets · Aug ’25–Jul ’26
Current toolZendesk → migrating

Executive summary

We are replacing Zendesk with Salesforce Service Cloud so support agents work from the same customer, order, subscription, and affiliate records the rest of the company already runs on — with zero sync lag. The design is validated against a full pull of our live ticket history.

234/wk
Average inbound tickets (48-week baseline; peak week 626)
~40%
Of tickets are plausibly deflectable via self-serve + KB + auto-close
3
Distinct audiences: Customer/Subscriber · Affiliate · Program Applicant
11,236
Tickets analysed (Aug 2025 – Jul 2026) to validate the taxonomy
95 / 4
Language mix — English / Spanish (bilingual support required)
68%
Currently dumped in one generic “Support” group — routing is weak today
Why native, not integratedThe agent sees the live order, subscription, wallet, and genealogy record inline — the single biggest reason to build inside Salesforce rather than bolt an external desk onto it.
WhatsApp is net-newOur top-priority channel — most affiliates live on WhatsApp — is not in Zendesk at all. It’s a build, not a migration, and needs Digital Engagement licensing.
Intelligence in the modelEvery case carries Topic → Intent → Request-Type → Severity picklists that trend cleanly and drive automation, so quality doesn’t depend on a human routing it right.
01

What the desk manages

Everything customer-, affiliate-, and applicant-facing — modeled as 3 Case Record Types (by persona), each with its own layout and related data, all carrying a shared picklist spine so analytics and automation are identical across them.

Customer / Subscriber RT

Retail buyers and subscription holders.

  • Order history, fulfillment, tracking
  • Subscription status & dunning
  • Payments, refunds, chargebacks
  • Store credit / wallet balance

Affiliate RT

Direct-selling partners (MLM organization).

  • Genealogy & placement
  • Rank & qualification
  • Commissions
  • Payout wallet (iPayout)

Program Applicant RT

Team, HCP & Animal Health prospects.

  • Application status & eligibility
  • HCP license verification
  • Wholesale / pricing

The shared spine — on every case

FieldPurpose / values
Topic → IntentDependent picklists. Intent is what Einstein predicts, what you trend, and what triggers automation.
Request TypeQuestion · Action · Incident · Complaint/Escalation · Compliance-Legal
SeveritySev 1–4 → drives SLA via Entitlements & Milestones
Servicing ModeSelf-serve (online) · Assisted / Offline (agent-managed — see Amish)
On-Behalf-OfSelf · For a customer · For an affiliate + Subject Account lookup
Money-at-stakeFlag → routes refunds / goodwill / commission adjustments to Chanelle (Max only if absolutely critical)
OriginEmail · Web · Chat · WhatsApp · Instagram · Phone · Voicemail · Paper/Mail intake

Topic → Intent map

PersonaTopicRepresentative intents
CustomerOrder Managementstatus/WISMO · tracking · change address · modify items · cancel · return/RMA · refund · missing/damaged
Subscriptionsskip · reschedule · swap · pause · cancel · reactivate · unexpected renewal · failed payment/dunning · migration
Billing & Paymentsdeclined · duplicate charge · wrong amount · refund status · store-credit/wallet · chargeback · tax · receipt
Product & Usageproduct info · how-to-use · suitability · restock · warranty/quality defect
Policy & Accountshipping/return policy · promo · login/access · update info · data/privacy (GDPR) · comm prefs
AffiliateCompensationcommission calc · missing commission · comp-plan · rank/qualification · volume · bonus
Genealogy & Placementtree move / placement change · sponsor change · downline report · dispute
Payouts & Walletpayout status · iPayout registration · wallet discrepancy · 1099/tax · failed payout
Affiliate Accountregistration · portal login · profile update · active-status · income-claim/compliance · policy
ApplicantProgram EnrollmentTeam · HCP status + license verification · Animal Health · application follow-up · wholesale · eligibility
CrossAssisted Account Opsnew-account intake · paperwork status · direct-debit setup · manual order · paper sponsor change · catalog request
Technical / Defectstorefront bug · portal bug · login/auth error · notification not sent · gateway error · data error
Feedback / Othersuggestion · complaint/escalation · praise · uncategorized (triage)
Validated by your own AIZendesk already tags every ticket against a 110-value intent tree; its distribution (Order 30% · Billing 29% · Account 10% · Software 7%) maps almost 1:1 onto this taxonomy. We are formalizing what your data already shows — not inventing categories.

The data baseline

11,236 tickets, pulled from the live Zendesk instance, give the implementation team real volumes to size queues, SLAs, and licensing against — and prove where the deflection wins are.

Monthly ticket volume

Aug 2025 – Jul 2026 · trending up (Jun ’26 peak 1,369; Jul partial)
1400 700 0 ASONDJFMAMJ

Where tickets land today

By Zendesk group — the 68% “Support” bucket is the untriaged remainder
Support (generic)
7,629
Order Concerns
1,115
Other
939
Registration Issues
544
Back-Office Concerns
469
Payment Concerns
211
Commission Issues
204

Channel mix

Of the 11,236-ticket history
Email
56%
API / automation
31%
Web form
9%
Instagram DM
2%
Facebook / Messenger
1.4%
WhatsApp

WhatsApp handled off-platform today → net-new channel in Service Cloud.

Deflection opportunity

~4,528 tickets (40%) absorbable by self-serve, KB, or auto-close
Auto-close noise · 1,312 Subscription self-manage · 714 Order self-serve · 1,280 Tree-move tool · 214 Credit/promo/profile · 868 Login KB · 140
Highest-volume actionable intentsTicketsBest handled by
Subscription cancel — request714self-serve tool
Order cancellation (pre-fulfilment)364self-serve tool
Checkout / payment issue272agent + KB
Change shipping address244self-serve tool
Refund request243agent (money)
Order status / WISMO456self-lookup
Sponsorship / tree-move request214self-serve tool
Gift-card / store-credit not received185KB + wallet lookup
Can’t login140KB / self-reset
Account delete / data request95+Compliance-Legal
02

Who handles requests

Tickets live with the main support team and are resolved there. Escalation is the exception, not the default — it happens only after support has reviewed a case and needs a specific decision or capability. Chanelle is the tier-2 hub; Leo and Max are reserved for the genuinely critical.

Tiers & people

Support / agents (9) — resolve tickets
Ulashia · Luan · Monique · Inge · Sune · Jolyn · Gerrard · Nick · Sebastiaan

Management / escalation (7) — engaged by exception
Chanelle · Sharon · Janet · Leo · Craig · Heinrich · Max

Escalation ladder — climb only when support can’t resolve it

Tier 1
Main support team
Own and resolve all tickets — including routine order, subscription, billing, affiliate and program questions. Most cases end here.
Tier 2 · hub
Chanelle
First escalation for anything support can’t close: day-to-day support ops, client comms, and money — refunds, goodwill, pricing, policy. Can pull in Sharon and/or Leo for extra help.
Specialist
Craig CTO
Technical / Defect only, and only after support has reviewed the case and confirmed it’s technical. Not a first stop.
Specialist
Janet
Compliance escalation — when support needs help on income-claim / policy / data-privacy matters.
Backup
Sharon & / or Leo
Extra assistance when Chanelle needs it. Leo is reserved for the genuinely critical.
Critical only
Max CEO
Not required unless absolutely critical (e.g. a major money decision beyond Chanelle’s call). Last resort, not a routine gate.

Queues (Tier-1 topic routing): Order Ops · Subscriptions · Billing & Payments · Product/Policy · Affiliate · Program Enrollment · Assisted Account Ops · Technical/Defect

Heinrich remains the reference for logistics/fulfillment specifics within Order Ops.

03

The flow

Intake from any channel → auto-classify → route → work with full context → escalate by severity/domain → resolve & close. Money and Compliance cases never auto-close.

01
Intake
Email/Web/Messaging/Phone/Paper creates a Case; persona sets the Record Type.
02
Auto-classify
Einstein predicts Topic · Intent · Type · Severity from the inbound text.
03
Route
Omni-Channel pushes to the matching topic queue by skill & capacity.
04
Work
Agent resolves with inline context; KB articles & macros suggested.
05
Escalate (exception)
Support reviews first → Chanelle (ops/money) · Craig (tech, post-review) · Janet (compliance). Milestones enforce SLA.
06
Resolve & close
Resolution intent set; CSAT on close; auto-close unless flagged.

Severity → SLA

Sev 1Money moving/at risk or site down — can’t checkout, overcharge, payout failure, outage
Sev 2Blocked action — subscription won’t cancel, can’t login, order stuck
Sev 3Standard question / action
Sev 4Feedback / low

Enforced by

  • Entitlements & Milestones — SLA timers per severity
  • Escalation Rules — auto-escalate on breach risk
  • Omni-Channel — skill + capacity based routing
  • Einstein Case Classification — predict fields, recommend articles
  • Flow / Approvals — money-at-stake → Chanelle (Max only if absolutely critical)
04

Channels

Everything consolidates into Service Cloud. WhatsApp is the priority build — it’s how most affiliates communicate and it isn’t in Zendesk today.

ChannelTodayService Cloud targetPriority
WhatsAppOff-platform / manualMessaging channel (Digital Engagement)Highest — net-new
EmailZendesk (56%)Email-to-CaseMigrate
Web / contact formZendesk (9%)Web-to-Case / Messaging for WebMigrate
InstagramZendesk (2%)Messaging — InstagramMigrate
Facebook / MessengerZendesk (1.4%)Messaging — FacebookMigrate
Phone voicemailZoomCase (Origin=Voicemail); CTI TBDPhase 2
Paper / phone intakeManualAgent-keyed Case, Assisted modeAmish
05

What the case must surface

Because these records already live in Salesforce, the case shows them inline — no swivel-chair. Every case opens with an at-a-glance profile of the person so the rep has instant context, with the deeper records one click away.

At-a-glance profile — on every case

Customer — the rep sees

NameSarah Lange
Country ship / billCanada / USA
Orders (12 mo)4
Spent (12 mo)$286
Since last order23 days
First orderMar 2025
Affiliate?No
Add’l program

Affiliate — the rep sees

NameRuth Miller
CountryUnited States
Rank now / peakBuilder / Director
With company1y 4m
Add’l programHCP
Commissions (12 mo)$6,240
Requests (all-time)6

Deeper records — one click from the case

Customer / Subscriber

  • Order history — status, tracking, line items
  • Subscription — next-bill, frequency, dunning state
  • Payments — declines, refunds, chargebacks
  • Store credit / wallet — balance & ledger

Affiliate

  • Genealogy — sponsor, up/downline & org size
  • Rank & qualification — volume (PV/GV)
  • Commissions — recent runs & amounts
  • Payout wallet — iPayout status & history

Program Applicant

  • Application status & eligibility
  • HCP license verification state
  • Program & pricing tier

Field definitions — so nothing’s ambiguous for the build team

Customer fieldDefinition
NameContact full name
CountryBoth shipping- and billing-address country, shown side by side
OrdersPlaced orders in the trailing 12 months, excluding cancelled/failed, incl. subscription orders
Total spentTrailing 12 months amount actually paid, net of refunds, incl. tax & shipping, USD-normalized
Time since last orderDays since most recent completed order
First order dateEarliest completed order (acquisition date; lifetime)
Is affiliate?True if the person also holds an affiliate account
Additional programHCP / Team / Animal Health enrolment (multi; blank = none)
Affiliate fieldDefinition
NameAffiliate full name
CountryRegistered country of residence
RankBoth current recognized/paid-as rank and highest ever achieved, side by side
Time with companySince original enrolment date. Not login/credit dates — migrated (Jun 2026) accounts have contaminated ones
Additional programHCP / Team / Animal Health
Total commissionsTrailing 12 months commissions earned, USD-normalized — a direct read on economic impact
Number of requestsSupport cases opened by this affiliate, all-time

These are the business definitions (the “what”); field types, sources, and layout are for the implementation team to design.

Knowledge base — one base, two front-ends

Yes, Service Cloud handles this natively (Lightning Knowledge). You don’t want two separate systems: author once, tag by audience with Data Categories, and publish to different channels so each portal shows only its own articles — with shared articles appearing in both, no duplication.

Customer KB storefront channel

  • Orders & Shipping
  • Product & General FAQs
  • Getting Started & Account
  • Company Policies & Commitments
  • Technical Support & Troubleshooting

Affiliate KB back-office channel

  • The LactiGo Compensation Plan
  • Commissions & Payouts
  • Affiliate Program: Policies & Tools
  • Affiliate Troubleshooting & FAQs
  • Back-Office Dashboard & Reports
Migration noteYour current Zendesk Help Center already has 62 articles across 12 categories that cluster exactly this way — the customer/affiliate split is how your content is already organized, so migration is a re-home + re-tag, not a rewrite. Two shared categories (“General”, “FAQs”) publish to both channels.

Self-serve & automated deflection

The self-serve tools you’re building for subscriptions and tree-moves target the two biggest actionable intents in the whole dataset. Wire them to the desk so a resolved self-serve action closes the loop and an attempted contact gets an automated response first.

714 Subscription self-manage

Cancel/skip/swap/pause in-account. Deflect the #1 actionable intent; auto-respond to inbound “cancel my subscription” with a deep-link to the tool before it becomes a case.

214 Tree-move request tool

Structured self-serve request in the back office (validates eligibility, routes for approval) replaces free-text tickets and captures clean data.

~1,312 Auto-close noise

“Thanks”, acknowledgements, and marketing/newsletter noise (~12%) auto-close with no agent touch — Zendesk already measures this as “automated resolution”.

Design principleDeflection is a funnel, not a wall: self-serve tool → suggested KB article on the contact form → automated first response → human case. Each stage removes volume before the next. Target: move a meaningful share of the ~40% deflectable out of the agent queue entirely.

The agent’s screen

A three-panel console: the queue on the left, the case in the middle with its classified fields and thread, and the live customer/affiliate context on the right — everything an agent needs without leaving the record.

lightning.force.com › Service Console › Case-04812
AGENT CONSOLE
My Queue · 7
Cancel my subscription please
#04812Sev 2
Where is my order?
#04810Sev 3
Commission looks wrong
#04809Sev 2
Double charged $58
#04807Sev 1
AffiliateCase #04812Open · 12m
“Cancel my subscription please”
TopicSubscriptions
Intentcancel · request
TypeAction
Severity2
OriginWhatsApp
SentimentNegative
Ruth M. · WhatsApp
Hi, I need to cancel my monthly LactiGo before it ships again — can you help?
◆ Einstein suggests
Predicted intent subscription cancel (92%). Matching KB: “Managing your subscription — cancel, skip, or pause.” Self-serve deep-link available.
Send self-serve link Insert KB article Offer skip instead
Context · live
Affiliate profile
NameRuth Miller
CountryUnited States
Rank now / peakBuilder / Director
With company1y 4m
ProgramsHCP
Commissions 12mo$6,240
Requests6
Subscription Active
ProductLactiGo 3-pack
Next bill18 Jul
Wallet$42.10

Schematic mockup — illustrates layout & data, not final visual design.

Self-service from the customer & affiliate side

Cases surface inside the Experience Cloud sites you already run: customers see their tickets in their storefront account; affiliates see theirs in the back office. Each portal opens with self-serve options before a “new request” form, so deflection happens at the point of intent.

Customer · storefront (LWR)

shop.lactigo.com › account › support
LACTIGO
Shop AllThe ScienceSupport

My requests

+ New request
Need to cancel or skip a subscription, track an order, or change your address? You can do that instantly in Subscriptions & Orders — no ticket needed.
Where is order #8841?#04810 · opened 2d agoIn progress
Refund for duplicate charge#04788 · opened 5d agoResolved
Is LactiGo safe with sensitive skin?#04771 · opened 8d agoResolved

Affiliate · back office (Aura)

go.lactigo.com › back-office › my-tickets
LACTIGO Partners
DashboardGenealogySupport

My tickets

+ New request
Submit a tree-move / placement change or check a commission run from your tools — structured requests resolve faster than a message.
Tree-move request — new enrollee#04801 · GenealogyPending approval
June commission looks short#04795 · CompensationIn progress
Payout didn’t reach my wallet#04760 · PayoutsResolved
Platform note for the implementation teamThe storefront is an LWR Experience Cloud site; the affiliate back office is a separate Aura site (Experience Builder). “My cases” needs a component on each. The Aura portal’s layout is managed only in Experience Builder (its ExperienceBundle Metadata API is off) — plan portal work accordingly. Both need the right community license for authenticated case access.
06

Licenses to confirm

Pulled the live entitlement inventory from the prod org (read-only). Two seat gaps to close with our AE — both driven by WhatsApp — and the rest is covered. Numbers below are what’s provisioned; confirm contracted quantities.

CapabilityNeeded forOrg showsStatus
Digital Engagement / MessagingWhatsApp + Instagram + Facebook1 seatBuy ~16 — top gap
Service Cloud (Service User)~16 agents/managers12 seats~4 short
Salesforce base (agent logins)up to ~12 new users10 freeReconcile headcount
Lightning KnowledgeTwo-audience KB authoring4 mgrCovered
Einstein for ServiceCase classification + article recsactiveCovered
Experience Cloud (portals)Customer + affiliate ticket accessampleCovered
Voice / CTI (Partner Telephony)Phone & voicemail (Zoom today)1 seatPhase 2
Omni-Channel · Web/Email-to-CaseRouting & standard intakestdStandard
Buy list for our Salesforce AE~16 Digital Engagement / Messaging seats (WhatsApp is net-new and only 1 seat exists), ~4 more Service Cloud seats (12 → 16), and reconcile base Salesforce logins (10 free vs up to ~12 new users). Knowledge, Einstein for Service, and both Experience Cloud portals are already covered.

Our recommendations

Where we’d steer the implementation, in priority order.

Make WhatsApp a phase-1 deliverable, not a fast-follow

It’s the primary affiliate channel and entirely absent today. Confirm Digital Engagement licensing immediately — it’s the longest pole and the highest-value channel.

Priority

Ship auto-classification on day one

68% of tickets are untriaged today. Einstein Case Classification against your existing 110-value intent history means the model can predict Topic/Intent from go-live — don’t launch with manual tagging.

High

Wire self-serve tools into the deflection funnel

Your subscription + tree-move tools cover the two biggest actionable intents (928 combined). Connect them to the contact form and automated first-responses so they deflect before a case is created.

High

Model persona as Record Type, keep intelligence in shared picklists

Separate layouts for Customer/Affiliate/Applicant give clean context and auth; a shared Topic→Intent spine keeps analytics and automation uniform. Best of both.

Design

Stand up a sentiment / service-recovery dashboard

~26% of tickets are negative-or-worse. A native dashboard on sentiment + money-at-stake + Sev-1 backlog turns support data into a retention signal.

Design

Plan a parallel-run cutover from Zendesk

Import historical tickets + the 62 KB articles, run both in parallel briefly, then cut channels over one at a time (email first, messaging last). We’ll generate the import files from the extract on request.

Migration