Owner: Alicia Garrett (Concierge primary, VIP T1) — first-touch owner
Operational backup: Lola (Laura Daniels — Chief of Staff)
T2 dispute owner: Alliyson Bonner (Head of Field Ops & Claims) — for claims, chargebacks, account-restriction
Founder pull: Jonathan Sullivan — threshold-based per §4
Quality oversight: Purple (VP of Product Quality and Experience)
Author: Workflow Architect (Amena) — for Chief of Staff team
Status: Draft v0.1 — pending sign-off from Alicia, Lola, Alliyson, Purple, Jonathan
Effective: TBD — after sign-off + §16 routing live + VIP flag implemented
Pairs with: §16 Channel Routing Map, §17.4 Customer Support (§8.1 VIP auto-T2 inline reference)
Supersedes: §17.4 §8.1 (this SOP supersedes the inline edge-case with a full workflow)
Front door per §16. VIP / concierge customers contact HempDash through:
concierge@gethempdash.com — primary intended landing zone. Routing owner Alicia.vip:true — auto-routes to Alicia (not the T1 round-robin).vip:true — content override per §16 §3.1 routes to Alicia.VIP customer = vip:true on customer profile. Set by:
Note: Springbig VIP tier-membership is separate (per springbig-vip-integration.md); a Springbig VIP is not automatically a HempDash vip:true unless Lola or Jonathan explicitly flags. Springbig VIP gets loyalty benefits but not concierge-tier service unless flagged.
Alicia is the concierge primary. She has:
Beyond her authority → Lola → Jonathan.
Alicia works 09:00–14:45 CT M–F school-year. Off auto-assign after 14:30 CT school-year M–F. Weekends off. Non-school-year hours flexible per term.
VIP after-hours / off-Alicia coverage:
VIP service has different tone, different SLA, different authority ceilings, different escalation thresholds than standard T1. Mixing them in §17.4 produced the inline edge case (§17.4 §8.1) but the workflow is rich enough to merit its own document.
Actor: Alicia.
Action: Reply to the inbound within 30 minutes during her working hours. Use a warm, personal opening. VIPs expect not to feel like a number.
Template (acknowledge):
Hi {first_name}, thanks for reaching out — I've got this on my screen now. Give me a few minutes to look into it and I'll come back with details.
— Alicia
Timeout: 30 minutes during her hours. Outside her hours, Lola covers and the same SLA applies to Lola.
Actor: Alicia.
Action: Classify:
| Ask type | Within authority? | Default path |
|---|---|---|
| Account question (login, profile, billing) | Yes | Resolve directly |
| Order-status / delivery question | Yes | Resolve directly |
| Product-FAQ / how-to | Yes | Resolve directly |
| Single-item refund under $200 | Yes | Resolve directly |
| Single-item replacement | Yes | Resolve directly |
| Expedited shipping at our cost | Yes | Resolve directly |
| Goodwill gift up to $50 | Yes | Send |
| Apology + small credit (under $200) | Yes | Issue |
| Refund over $200 | No | Escalate to Lola |
| Account-suspension appeal | No | Escalate to Alliyson |
| Chargeback notification | No | Escalate to Alliyson |
| Legal threat / "lawyer" language | No | §17.4 §8.6 path |
| Regulator-direct contact | No | §17.5 path |
| Press inquiry | No | §17.7 path |
| Permanent service-tier upgrade request | No | Escalate to Lola → Jonathan |
| Strategic partnership / business proposition | No | Escalate to Jonathan |
| Personal note for Jonathan | No | Forward to Jonathan via Lola |
| Complaint about a team member | No | Escalate to Lola |
| Multi-customer-pattern signal (this VIP is one of several reporting same issue) | No | §17.4 §2.2 pattern-flag, escalate to Alliyson |
Actor: Alicia.
Action: Execute the resolution. Communicate to the customer. Confirm satisfaction.
Reply structure:
Example — refund issued:
Hi {first_name}, I refunded the order in full — you'll see it back on the card you used within 3-5 business days. Sorry about that one; not how we want it to go. Anything else I can help with?
— Alicia
Actor: Alicia (escalator) + downstream owner (per threshold).
Action: Apply the §17.4 escalation pattern with the §17.4 handoff template, modified for VIP:
vip:true (already set)Escalation targets:
| Trigger | Goes to | Why |
|---|---|---|
| Refund over $200 | Alliyson (T2, dispute / claims wheelhouse) | Within Alliyson's authority |
| Account-suspension appeal | Alliyson | Same |
| Chargeback notification | Alliyson | Same |
| Legal threat | Jonathan + Lola + counsel | §17.4 §8.6 |
| Regulator-direct | Ayisha + Jonathan | §17.5 |
| Press | Tiana + Jonathan | §17.7 |
| Permanent service-tier change | Lola → Jonathan | Strategic |
| Strategic partnership / proposition | Jonathan | Founder-only |
| Complaint about team member | Lola | Personnel |
| Anything Alicia is unsure about | Lola | Default safety net |
Actor: The named escalation target.
Action: Picks up per their own SLA. Alicia stays in the Chatwoot thread as observer + continuity-keeper. The customer continues to see Alicia in the thread; the named expert speaks to the issue. Alicia translates / coordinates as needed.
Why Alicia stays: VIP relationship continuity matters. The customer's "concierge contact" is Alicia; even when the question goes to Alliyson, the customer shouldn't feel handed off.
Actor: Whoever has the authority, with Alicia signing off.
Action: Resolution communicated to customer. Alicia (or Lola if Alicia off-hours) closes the loop with a wrap-up message and an invitation for follow-up.
VIP turns hostile — yelling, demands, threats. Alicia stays measured.
VIP says "I'm taking my business elsewhere." This is a retention moment.
Same VIP filing 2+ complaints in 7 days, or escalating in tone:
PaymentCloud notifies us of a chargeback on a VIP order.
VIP is a known regulator, regulator-staffer, public official, journalist, or potential adversary. Tagged on customer profile (profile_sensitivity:public_figure or similar).
VIP demands Jonathan personally. Default:
Routes to §17.6 (DSAR). VIP status doesn't change DSAR process; Ayisha handles the substantive response. Alicia stays in continuity as the relationship contact and follows up after resolution.
Routes through §17.8 standard inbound flow, but Alicia (not Heaven) handles. Same scripted response (§17.8 §3.3) adapted to her warmer concierge tone.
Customer's vip:true flag is set but routing didn't catch it (e.g., they emailed support@ from an unverified email address). Heaven detects:
vip:truehuman_reroute_vipVIP inbound between 14:30 and 09:00 CT, weekend, or holiday: Lola covers. Alicia picks back up at her next shift; reviews what Lola did and continues the relationship.
Some customers are personal contacts of Jonathan (advisor pipeline contacts, friends, family acquaintances). Marked with founder_personal_contact:true in addition to vip:true.
HANDOFF: Alicia -> Lola (over-authority escalation)
PAYLOAD: {
chatwoot_conv_id: int,
customer_id: uuid,
vip_flag: true,
founder_personal: bool,
issue_summary: text,
over_authority_reason: enum(
'refund_over_200', 'permanent_tier_change', 'strategic_partnership',
'team_member_complaint', 'retention_at_risk', 'unsure'
),
alicia_already_tried: text,
customer_emotional_state: enum('calm','frustrated','angry','panicked')
}
SUCCESS RESPONSE: { acknowledged: true, ack_by: 'lola' }
FAILURE RESPONSE: { ok: false }
TIMEOUT: 30 minutes
ON FAILURE: PagerDuty page to Lola; secondary to Jonathan
Uses the standard §17.4 §4.1 T1→T2 handoff template, with vip:true flagged and customer_emotional_state mandatory.
HANDOFF: Alicia -> Jonathan (via Lola)
PAYLOAD: {
chatwoot_conv_id: int,
customer_id: uuid,
customer_name: str,
founder_personal: bool,
ask: text,
why_founder: enum(
'strategic_partnership', 'personal_relationship', 'retention_high_value',
'press_or_public_figure', 'customer_specifically_demanded_and_lola_agrees'
),
lola_recommendation: enum('engage','decline_route_to_lola','schedule_call')
}
SUCCESS RESPONSE: { decision: enum('engage','decline','schedule'), founder_action: text? }
FAILURE RESPONSE: { ok: false }
TIMEOUT: 4 business hours
ON FAILURE: Lola handles per her authority
| Stage | VIP customer sees | Operator sees | Database |
|---|---|---|---|
| Inbound | Auto-ack from concierge template (warm, named) | Mattermost DM @alicia.garrett21 (or @lola off-hours) |
support_escalations not yet; conversation tagged vip:true |
| Acknowledged | Alicia's first reply | Status acked |
Conversation tag vip_acked |
| Resolved in-authority | Resolution message from Alicia | Status resolved |
Standard close |
| Escalated | Continuity message: "I'm bringing in {expert}" | Tag vip_escalated:<target> |
support_escalations row |
| Founder pull | Possible direct message from Jonathan | Mattermost thread visible to Lola | Founder-pull audit row |
| Stage | SLA |
|---|---|
| First acknowledgment | 30 minutes during covered hours |
| First substantive response | 1 hour during covered hours |
| Resolution if within authority | 4 business hours |
| Escalation (to next tier) | Same-business-day during covered hours |
| Lola pickup on escalation | 30 minutes during her hours |
| Jonathan pickup on founder-pull | 4 business hours, faster for crisis |
Covered hours = Alicia's hours per §17.4 §2.1.1, with Lola covering outside those hours.
VIP SLAs are tighter than standard T1 (4 business hours first response → 30 minutes). The relationship is the product.
Lola receives an auto-page after 30 minutes. Lola steps in, apologizes briefly for the wait, takes the thread. Alicia re-engages on her next shift.
PagerDuty escalates to Jonathan personally. Rare; should be a P1 retro.
Alicia escalates per §1.5 / STEP 5. Does not promise outcomes she can't deliver. Says "let me get the right person on this" rather than guessing.
If a customer was VIP-flagged in error and the relationship doesn't warrant concierge service, Lola or Jonathan removes the flag. Existing thread completes under VIP service; flag removal applies forward.
VIP shares personal context (health, family, sensitive). Alicia notes the context (so she remembers next interaction) but does not share it further. The note lives in Chatwoot's internal-only private-notes area, not in any public-facing thread.
Same rule as everywhere: Amena drafts as a private note for Alicia (or Lola) to review and send. Amena never sends to the VIP directly. Per §16 §4.
If a VIP demands removal from concierge or terminates the relationship: honor it. Remove vip:true, remove from concierge contact list. Lola coordinates account closure if requested. Document the decision; Jonathan reviews.
vip:true flag changes (set, removed, by whom, why)support_escalations (per §17.4 §6.2) covers most VIP escalations with vip:true tag.
New table for VIP-specific audit:
CREATE TABLE vip_concierge_action (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
chatwoot_conv_id INT,
customer_id UUID NOT NULL,
action_type TEXT NOT NULL, -- 'credit','refund','replacement','gift','expedite','apology','escalate','founder_pull','retention_save'
amount NUMERIC, -- if applicable
by_agent TEXT NOT NULL,
reason TEXT,
authority_within_limit BOOLEAN, -- true if within Alicia's authority
at_time TIMESTAMPTZ NOT NULL DEFAULT now(),
notes TEXT
);
CREATE INDEX idx_vip_action_customer ON vip_concierge_action(customer_id);
CREATE INDEX idx_vip_action_at_time ON vip_concierge_action(at_time DESC);
vip_concierge_action retained 5 years from last action. Customer-relationship history is operationally useful well past the regulatory minimum.
| # | Question | Owner | Why it matters |
|---|---|---|---|
| Q1 | Alicia's authority ceiling — $200 default. Confirm or adjust. | Lola + Jonathan + Alicia | Drives §0.2 default. |
| Q2 | Gift catalog — what's the approved $50-or-under goodwill gift inventory? | Lola + Tiana | Operationalizes §0.2 gift authority. |
| Q3 | Lifetime-spend VIP threshold (also §16 Q8) — what's $X? | Lola + Jonathan | Drives auto-VIP detection. |
| Q4 | Springbig VIP versus HempDash vip:true distinction — codified in customer-profile schema? |
Rep + Lola | Avoids over-flagging. |
| Q5 | founder_personal_contact profile flag — who can set it? |
Lola + Jonathan | Drives §1.8.11 founder-aware routing. |
| Q6 | VIP after-hours model when Alicia is off — is Lola really the right fallback long-term? | Lola | Default v0.1; revisit when team grows. |
| Q7 | vip_concierge_action table — new migration, Katherine reviews. |
Rep | Migration gate. |
| Q8 | Customer-app VIP-self-identification — does the widget surface differently when vip:true? |
Rep + Lola | Improves customer-side experience signal. |
| Q9 | VIP at-risk metric — define "at-risk" beyond 2+ tickets / 7 days? | Lola + Purple | Drives §1.8.3 pattern. |
| Q10 | Pronouns for Alicia (also §17.4 Q9) — confirm at onboarding. | Alicia | Comms hygiene. |
vip:true profile flag implemented; Lola + Jonathan have the admin UI to set/unset.concierge@gethempdash.com group active with correct membership.vip:true → Alicia is live.vip:true and routes appropriately.vip_concierge_action table exists; Katherine reviewed.| Version | Date | Author | Change |
|---|---|---|---|
| 0.1 | 2026-05-11 | Workflow Architect (Amena) | Initial draft. Supersedes §17.4 §8.1 inline. |