Customer Support · Internal

CS Playbook.

How Mo, Vlad, Gabriel, Hisham, and Ori work together on Sooner customer support.

What this is

A shared rule book for replying to Sooner customers on WhatsApp. Run by humans, supercharged by Claude.

The system · top to bottom

Three moving parts.

Customer ↔ Rasayel
Operator + Claude Code

Webhook routes each customer message to one operator. Operator opens Claude in their local clone of the playbook. Claude reads the rules, drafts a reply, operator approves, message sends.

Team

Six lanes. Clear ownership.

M

Mo

CS lead. Sole writer of the playbook (main). Reviews suggestions daily. Handles complex customers.

V

Vlad

Operator + CRM owner. Handles assigned chats from his Mac. Suggests rule changes via issues.

G

Gabriel

Operator + underwriting. Owns mid-deal customers. Reviews approvals.

H

Hisham

Operator joining soon. Will pick up assigned chats + handle customer calls.

O

Ori

Engineering. Builds the assignment service. Owns infra + scaling.

🤖

Claude Code

One session per operator. Drafts, sends, updates CRM. Never auto-sends — always needs approval.

Daily flow

A typical operator's morning.

cd ~/sooner-cs-playbook
git pull origin main
claude

# SessionStart hook auto-runs /start-shift
# Claude posts: today's calendar, live queue, in-flight items, recommended first action

After that: pick a lead, ask Claude to draft a reply, approve / refine, Claude sends via Rasayel + updates CRM. Rescan, repeat, close out.

File structure

Where every rule lives.

PathWhat it is
CLAUDE.mdClaude's contract — read on every session start
docs/rules.md~30 standing rules: tone, format, AECB impact, etc.
docs/09-pricing-narrative.mdHow to talk pricing
docs/10-property-narrative.mdHow to talk property / buyer-agent
docs/11-early-termination.mdForward Ijara foreclosure schedule
SESSION_HANDOFF.mdWhere we left off — auto-refreshed by /refresh-handoff
.claude/commands/Slash commands (start-shift / refresh-handoff / end-shift)
.claude/hooks/SessionStart auto-boot + turn counter
How updates get pushed

Mo writes main. Everyone else suggests via issues.

Operator opens GitHub issue
Mo reviews daily
Mo opens PR + merges
Others git pull next morning

Branch protection + CODEOWNERS enforce Mo's review on everything in docs/ and src/utils/. No one can bypass. See open issues →

Session continuity · live now

Three slash commands. Two hooks. Zero state loss.

/start-shift

Auto-fires on session boot. Pulls latest rules, reads handoff, runs rescan, posts a briefing in 30 seconds.

/refresh-handoff

Captures state to SESSION_HANDOFF.md, commits + pushes. Auto-reminded at turns 25, 50, 75, 100.

/end-shift

Clean close-out. Refreshes handoff, summarizes today's outcomes, tells you it's safe to close the terminal.

At ~80% context: /end-shift → close terminal → open new one → claude auto-boots /start-shift. 30-second recovery.

Tools

Six tools. Install once.

Claude Code

The driver. Each operator runs their own session locally.

GitHub CLI (gh)

For opening rule-suggestion issues. gh issue create.

Rasayel

WhatsApp Business API. Claude reads + writes via the API.

CRM

Vlad's ops dashboard. Buyer state + labels.

gog CLI

Gmail + Calendar. Email follow-ups + calendar invites.

Slack

#sooner-ai-support. Assignment notifications + alerts.

What's next

Two things land this week.

Assignment service (Ori)

Round-robin routing of Rasayel conversations to a specific operator. Eliminates double-replies. Repo →

New Sooner phone number

New business number under Sooner Real Estate L.L.C. Goes into Rasayel. Current number's deliverability is throttled.

After these two, the system is at v1.

By the numbers · today

Where we are.

1,023
WhatsApp hooks fired
80+
Customers triaged
30+
Standing rules locked
1
First close (AED 3.4M)
Get started

Clone, read, run.

git clone https://github.com/rematched/sooner-cs-playbook.git
cd sooner-cs-playbook
cp .env.example .env  # paste secrets from Mo
gog auth add yourname@joinsooner.com --services gmail,calendar
claude  # the SessionStart hook does the rest
1 / 12
← → arrows or space to navigate · F for fullscreen