# Leah System Prompt — Version History

## Versioning Convention
- **Major (v1, v2, v3):** Structural changes — new sections, new capabilities, major rewrites
- **Minor (v3.1, v3.2):** Refinements — tone tweaks, edge case fixes, single-section updates
- Current live version: **Leah v3.4 / Sam v1.1**

## v3.4 — 2026-04-06
- Added get_booking_details and get_upcoming_booking tools to prompt
- Leah can now answer "when is my next clean?" and "who is my cleaner?" by querying Airtable
- Updated customer lookup flow: after finding customer, auto-pull booking details
- Twilio vapi-tools.js deployed with both new functions (build ZBc2db77)

## v3.3 — 2026-04-05
- Human fallback changed from +16474902523 (main line) to +16473701793 (CS bridge with auto DTMF routing) — fixes loop where "transfer to human" sent caller back through Leah
- Added no-guessing rule for customer lookup: if lookup fails, ask caller to double-check info instead of retrying with partial data
- Same changes applied to Sam v1.1
- Sam Vapi ID corrected: dd645b67-21c3-47cd-a8b5-35aa778b1383

## v3.0 — 2026-04-03
Changes from Mike's feedback:
- Transfer behavior: Leah now asks "can I ask what this is regarding?" before transferring (not gatekeeping, just routing). Leads with yes then asks.
- Consultative selling section added: listen for what matters to the caller, match response, ask what's holding them back, end with a clear next step
- Same team messaging: now leads confidently with "Yes, we do our best to send the same team every time"
- Frequency discount callout: now proactively mentions discount when caller states frequency during quote flow
- "100% of the cleaning fee" — cleaner phrasing (was "100% of the agreed rate")
- ElevenLabs voice: switched from Cartesia sonic-3 back to ElevenLabs (Charlotte, XB0fDUnXU5powFXDhCwa)

## v2 — 2026-04-02
**File:** system-prompt-v2.txt  
**Deployed to Vapi:** Yes (assistant 32c93e89-4ce2-4c3e-81d2-e1e925214693)  
**Changes:**
- BLOCKER FIX: Eco-friendly now explicitly optional add-on, not default. Script added.
- BLOCKER FIX: Markdown formatting prohibition added at top of prompt
- Transfer behavior: leads with offer, no longer makes callers justify wanting a human
- Added objection handling / value prop script (background-checked, insured, flat-rate, guarantee, frequency discounts)
- Same-team question: positive answer first; contractor privacy language now limited to the right context
- Booking confirmation flow: Leah explains she can't confirm time slots, confirmation comes by email
- Account lookups: clarified she gathers info and passes to team (can't look up herself)
- Add-ons pricing added: oven, fridge, basement, balcony, same-day surcharge
- After-hours: explicit 24/7 availability, action items flagged next business day
- Added exclusions list (hoarding, mold, bodily fluids etc.)
- Pre-auth confusion note added ("if you see a hold before the clean, that's normal")

## v1 — 2026-04-02
**File:** system-prompt-v1.txt  
**Deployed to Vapi:** Yes (first deployed prompt — was empty before this)  
**Notes:** Initial deployment by Harvey subagent. Voice-optimized rewrite from knowledge-base.md v1.2.  
Good: complaint handling, cancellation policy, satisfaction guarantee, transfer triggers.  
Issues found in QA: eco-friendly wrong, markdown formatting, missing objection handling, same-team confusion, no booking confirmation flow.

## v3.1 — 2026-04-04
### Added
- `lookup_customer` tool — queries Airtable Customers table by phone or name
  - Returns: name, address, recurring status, total bookings, next/last booking dates, total spent, notes, tags
  - Auto-generates a natural language summary Leah can speak
  - Added to: Vapi (voice), sms-chat (SMS), vapi-tools Twilio function
- Updated system prompt: Leah now proactively looks up callers, greets by name, confirms upcoming bookings
- Identity verification section rewritten — Leah looks up first, verifies after

### Removed
- Old "cannot look up accounts" language from What You Cannot Do and Identity Verification sections

### Twilio Build: ZB02a86769ae1d008579cd7b140        (deployment ZD8bba65a5ca2a13bbbab7559b7f7eb20c)

## Sam v1.0 — 2026-04-04
New agent: Sam, bookings + sales specialist.
- Vapi assistant ID: dd645b67-21c3-47cd-a8b5-35aa778b1383
- Staging number: +16477993198
- Tools: lookup_customer + get_price_estimate (same backend as Leah)
- Voice: ElevenLabs Sarah (EXAVITQu4vr4xnSDxMaL)
- Focus: new bookings, rebooking, upgrades, one-time → recurring
- Transfers to Leah for complaints/account/billing

## Leah v3.2 — 2026-04-04
- Added Sam awareness + transfer instructions
- Leah now routes booking/rebook/upgrade calls to Sam (+16477993198)
- Cross-transfer architecture: Leah ↔ Sam, both escalate to human team at +16474902523
