Starter Voice — Expected Output Spec
Status: COMPLETE -- All 62 touchpoints specified. Derived from founder interview answers (starter-voice-interview-answers.md). Ready for Playwright test generation.
Tier: Starter | Channel: Voice | Price: $49.95/mo + $49.95 setup fee (monthly) or $549.00/yr (setup fee waived) | Trial: None (charge immediately)
User State Definition
| Field | Value |
|---|---|
| Plan | starter_voice |
| Channel | voice |
| Status | active (no trial -- charges immediately) |
chatbot_enabled | false -- chatbot completely invisible |
care_enabled | true -- Care tab visible (present in all plans per AdminDashboard.tsx ALL_TABS) |
| Voice | INCLUDED -- Calls tab visible, phone number assigned, voice agent active |
| Agents | Care + Coordinator only (Discipleship + Stewardship HIDDEN) |
| Tools | 12 (Starter tier) -- marketing number reflects combined voice + chat capabilities; voice agent tools are NOT tier-gated in current implementation |
| FAQ management | NOT included (HIDDEN -- Pro+ feature) |
| Document upload | NOT included (HIDDEN -- Pro+ feature) |
| Analytics dashboard | NOT included (HIDDEN -- Pro+ feature) |
| Embed widget | NOT applicable (no chatbot -- embed widget requires chatbot) |
| Widget customization | NOT applicable (no chatbot) |
| Training simulator | NOT included (HIDDEN -- Pro+ feature) |
| Remove branding badge | NOT included (Suite only) |
| PewSearch bonus | NOT included (Starter gets no bonus) |
| Theological lens | Denomination selector visible (full configuration at Pro+) |
| Annual billing | Available — $549.00/yr (setup fee waived on annual) |
| Setup fee | $49.95 one-time on first invoice (monthly plans only; waived on annual) |
Key Voice-Specific Characteristics
- Provisioning is NOT instant. Up to 1 business day for Telnyx number + SIP trunk + LiveKit dispatch rule + QA.
- Two-email flow: Email 1 (immediate post-checkout) + Email 2 (after provisioning, within 1 business day)
- No chatbot references anywhere in the dashboard, emails, or public pages. Mirror of how voice is invisible in chat-only plans.
- Voice agent tools are NOT tier-gated. All voice agent tools are available at all tiers. The 12/35/39 tool counts are combined voice + chat marketing numbers. Do not assert voice tool count differences between tiers.
- Voice picker UI NOT YET BUILT. The
voice_idfield exists in the database, but the dashboard UI for selecting a voice is not yet implemented. - Greeting script is Coordinator-only. The Care Agent has a fixed introduction ("Hi, I'm here with you now...") and does not use the configurable greeting script.
- Agent counts: Voice agent has 2 agents (Care + Coordinator) at ALL tiers. Discipleship/Stewardship are chatbot-only agents.
A. Discovery Paths (Touchpoints 1--10)
How a prospective Starter Voice customer first encounters the product.
Touchpoint 1: Homepage
Same as Starter Chat Touchpoint 1. The homepage is plan-agnostic -- it promotes all products.
- Bottom CTA: "Chat from $14.95/mo" (unchanged -- Chat is the entry price)
- Voice product is discoverable via the navigation "Voice" link and pricing page
Founder Decision: [x] Approved (same as Starter Chat; homepage is plan-agnostic)
Touchpoint 2: Pricing Page
URL: https://churchwiseai.com/pricing
Component: churchwiseai-web/src/app/pricing/page.tsx, PricingGrid.tsx
Same as Starter Chat Touchpoint 2, with these voice-specific details:
Should See:
- Channel toggle: "Voice Only" selected (customer toggles from default "Chat Only")
- When Voice Only is selected: Annual/Monthly toggle VISIBLE (annual available as of 2026-04-11)
- Starter Voice card showing $49.95/mo (monthly) or $549.00/yr (annual, ~$45.75/mo + setup fee waived)
- "No free trial" -- clear messaging that voice plans charge immediately
- Setup fee note: "+ $49.95 one-time setup fee (waived on annual)"
- Feature list: Prayer request capture, Visitor contact logging, Service times & directions, Staff notifications, Callback scheduling, AI Starter Kit included
- "12 tools to get started" tagline
- "Get Started" button
Should NOT See:
- "14-day free trial" messaging
- Chat-specific features (hosted care page, embed widget)
CTA -> Destination:
- "Get Started" on Starter Voice ->
/onboard?plan=starter_voice
Founder Decision: [x] Approved (updated 2026-04-11: annual now available for voice; no trial; immediate charge; setup fee on monthly)
Touchpoint 3: Voice Agent Product Page
URL: https://churchwiseai.com/voice
Component: churchwiseai-web/src/app/voice/page.tsx
Should See:
- Voice Agent product hero with feature highlights
- How voice agent works (call comes in -> AI answers -> captures requests -> notifies staff)
- Feature comparison across voice tiers (Starter / Pro)
- Bundle pricing showing savings vs buying separately
- Carrier-specific forwarding mention ("Works with AT&T, Verizon, Spectrum, and more")
- "Get Started" CTA
Should NOT See:
- Chat-only features or chat product details
CTA -> Destination:
- "Get Started" ->
/onboard?plan=starter_voice - "See All Plans" ->
/pricing?channel=voice
Founder Decision: [x] Approved (voice product page, primary journey for voice customers)
Touchpoints 4--10: Chatbot Page, Blog, Denomination SEO, PewSearch, Direct URL, Partner Link
Same as Starter Chat Touchpoints 4--10, with plan param differences:
- Touchpoint 4 (Chatbot page): Cross-sell path -- voice customer may see this but it's not their primary journey
- Touchpoint 9 (Direct /onboard):
?plan=starter_voicepre-selects Starter Voice - Touchpoint 10 (Partner link): Same behavior, plan pre-selected from URL param
Founder Decision: [x] Approved (same patterns as Starter Chat; plan params differ)
B. Pre-Purchase Journey (Touchpoints 11--16)
Touchpoint 11: Landing / Entry Point
URL: https://churchwiseai.com/onboard?plan=starter_voice
Component: churchwiseai-web/src/app/onboard/page.tsx
Same as Starter Chat Touchpoint 11, except:
- Plan pre-selected: "Starter Voice — $49.95/mo"
- NO trial messaging -- "Your card will be charged $49.95 today. Cancel anytime."
- No annual toggle (hidden for voice plans)
- "Founder Pricing -- Limited Time" badge still applies
Should NOT See:
- "14-day free trial" messaging
- Annual/Monthly toggle
- Chatbot-specific setup steps
Founder Decision: [x] Approved (same design as Starter Chat; no trial; no annual; immediate charge clear)
Touchpoint 12: Onboard Step 1 -- Church Info
Same as Starter Chat Touchpoint 12 (redesigned: silent directory match, no "Find Church" step).
NEW FIELD -- Phone Provider (required for voice):
- "Who is your phone provider?" dropdown (AT&T, Verizon, Spectrum, T-Mobile, Comcast, Charter, CenturyLink, Vonage, Other + text input)
- Used to generate carrier-specific call forwarding instructions in "Your line is live!" Email 2
- Placeholder: "Select your phone provider"
- Helper text: "We use this to send you the right forwarding instructions for your carrier"
Plan Selector:
- Same 8-plan dropdown as Starter Chat spec
- Starter Voice pre-selected; customer CAN change plan
- Annual toggle hidden when voice or bundle plan is selected
Founder Decision: [x] Approved (add phone provider field for voice plans; same silent directory match)
Touchpoint 13: Post-Checkout Bonus Page
URL: N/A -- Starter gets no PewSearch bonus
Should See:
- NOTHING related to PewSearch. Starter Voice gets no bonus (same as Starter Chat).
Founder Decision: [x] Approved (no bonus for Starter tier)
Touchpoint 14: Single-Step Onboard Form
Same as Starter Chat Touchpoint 14, with these voice-specific differences:
- Phone provider field included (see Touchpoint 12)
- Plan section shows $49.95/mo
- No trial callout -- instead: "Your card will be charged $49.95 today. Cancel anytime."
- No annual toggle (hidden for voice plans)
- Consent, country, captcha -- identical to Starter Chat spec
Founder Decision: [x] Approved (same single-step form; no trial; phone provider field added)
Touchpoint 15: Stripe Checkout
URL: https://churchwiseai.com/onboard/checkout?cid=[id]&tier=starter_voice
Component: churchwiseai-web/src/app/onboard/checkout/page.tsx, CheckoutForm.tsx
Same as Starter Chat Touchpoint 15, except:
- Plan summary card: "Setting up [Church Name]" with badge: "Starter Voice Plan"
- No trial badge -- shows "$49.95 per month" (immediate charge)
- Product name in Stripe: "ChurchWiseAI Starter Voice" (not "CWA" abbreviation)
- Product description: accurate for voice tier -- mentions 2 agents, 12 tools, voice-only (NO chatbot mention)
- "Subscribe" button (not "Start trial")
Should NOT See:
- "14 days free" trial badge
- Chatbot features or chat mentions
- Annual billing option
BUGS (same as Starter Chat):
- Stripe product names must use "ChurchWiseAI" not "CWA"
- Browser back button spinner fix required
Founder Decision: [x] Approved (no trial; immediate charge; same bug fixes as Starter Chat)
Touchpoint 16: Post-Checkout Confirmation
URL: https://churchwiseai.com/onboard/return?session_id=[id]
Component: churchwiseai-web/src/app/onboard/return/page.tsx
Should See:
- Success state: Checkmark icon, "Welcome to ChurchWiseAI!" with church name
- Key difference from chat: "We're setting up your voice line now. You'll hear from us within 1 business day with your phone number and forwarding instructions."
- "Go to Your Dashboard" button (direct access -- same as chat)
- "In the meantime, start setting up your church profile, denomination, and voice agent personality."
- Email mention (secondary): "We've sent these details to [email] too."
Should NOT See:
- "Your chatbot is live!" (no chatbot)
- Chatbot share links
- Chat page URL
- PewSearch bonus section
CTA -> Destination:
- Success: "Go to Your Dashboard" ->
/admin/[token] - Incomplete/Not Found: same patterns as Starter Chat
Founder Decision: [x] Approved (provisioning messaging; dashboard link; no chatbot references)
C. Email Journey (Touchpoints 17--24)
Touchpoint 17: Pre-Checkout Email -- REMOVE
Same as Starter Chat Touchpoint 17 -- remove entirely. No email before Stripe checkout completes.
Founder Decision: [x] REJECTED -- Remove pre-checkout email for all tiers
Touchpoint 18: Post-Checkout Welcome Email (Email 1 of 2)
Trigger: Stripe checkout.session.completed webhook -> activateChurch() -> sends welcome email via Resend
Sender: Resend (ChurchWiseAI <hello@churchwiseai.com>)
This is Email 1 of the two-email voice provisioning flow.
Should See:
- Subject: "Welcome to ChurchWiseAI -- We're Setting Up Your Voice Line"
- Body:
- "Welcome! We're getting your dedicated church phone line ready."
- "Step 1 is on us -- we're provisioning your phone line and running quality checks on your voice agent. You'll hear from us within 1 business day with your number."
- "While you wait, get things ready:"
- Complete your church profile (service times, staff, ministries)
- Set your denomination/theological tradition
- Customize your voice agent's personality
- Set up your notification preferences
- "Open My Dashboard ->" button (magic link to
/admin/[token]) - Plan confirmation: "You're on Starter Voice -- $49.95/mo"
- Support: "Questions? Reply to this email."
- ChurchWiseAI branding (navy + gold)
Should NOT See:
- Chatbot setup steps or chatbot mentions
- "Share your chat page" (no chatbot)
- Phone number (not yet provisioned)
- Call forwarding instructions (those come in Email 2)
- PewSearch references
CTA -> Destination:
- "Open My Dashboard ->" ->
https://churchwiseai.com/admin/[token]
Founder Decision: [x] Approved (Email 1: immediate, no phone number yet, setup steps while waiting)
Touchpoint 18B: Voice Line Live Email (Email 2 of 2)
Trigger: After voice line provisioning + internal QA (within 1 business day of checkout)
Sender: Resend (ChurchWiseAI <hello@churchwiseai.com>)
Component: NEW -- needs to be built (triggered manually or by provisioning webhook)
This is Email 2 -- the personalized "Your line is live!" email.
Should See:
- Subject: "Your Church Phone Line Is Live -- [Church Name]"
- Body:
- Personalized based on what the customer has completed since Email 1:
- If they set up service times: "Great job setting up your service times and staff!"
- If they customized voice personality: "Your voice agent already has its own personality -- nice!"
- Nudges for remaining items: "Here are a few more things that will make your voice agent soar!"
- Phone number prominently displayed: "Your church's AI phone number is: [+1-XXX-XXX-XXXX]"
- Carrier-specific call forwarding instructions based on phone provider from onboarding:
- "Since you told us you use [AT&T], here's how to forward your calls:"
- Step-by-step forwarding instructions for their carrier
- "This way, calls to your church number will be answered by your AI voice agent 24/7."
- "Make a test call!" CTA -- "Call [number] to hear your voice agent in action."
- Dashboard link for managing everything
- Personalized based on what the customer has completed since Email 1:
Should NOT See:
- Chatbot references
- PewSearch references
- Generic forwarding instructions (must be carrier-specific)
CTA -> Destination:
- "Make a Test Call" -> tel: link to the assigned phone number
- "Open My Dashboard" ->
https://churchwiseai.com/admin/[token]
Founder Decision: [x] Approved (personalized Email 2 with phone number + carrier-specific forwarding)
Touchpoint 19: Stripe Receipt Email
Trigger: Stripe automatically sends after successful payment Sender: Stripe (on behalf of ChurchWiseAI LTD)
Should See:
- Standard Stripe receipt
- Amount: $49.95
- No "trial" note -- this was an immediate charge
- Business name: ChurchWiseAI LTD
Founder Decision: [x] Approved (Stripe-managed; no trial)
Touchpoint 20: Lifecycle Email -- Day 0 (Welcome + Starter Kit)
Same as Starter Chat Touchpoint 20, with voice-specific content:
- Email emphasizes voice agent setup (not chatbot)
- Encourages completing church profile so voice agent has good information
- Dashboard link
- AI Starter Kit delivery
Should NOT See:
- Chatbot setup content
- "Share your chat page" messaging
Founder Decision: [x] Approved (voice-flavored content; same timing and trigger)
Touchpoint 21: Lifecycle Email -- Day 2 (Setup Nudge)
Subject: Have you forwarded your church phone yet?
Body:
Hi {$name},
Quick question -- have you forwarded your church phone to your AI voice agent yet?
Once you do, every call to your church will be answered 24/7. Your voice agent already knows your service times, staff, and ministries -- all it needs is incoming calls.
If you haven't set up forwarding yet, check the email we sent with your phone number for step-by-step instructions for your carrier.
[Open My Dashboard ->] (link to dashboard)
If you've already done this -- great! Your voice agent is serving your congregation right now.
Grace and peace, John ChurchWiseAI
Should NOT See:
- Chatbot content
- "Share your chat page"
Founder Decision: [x] Approved (voice-flavored setup nudge)
Touchpoint 22: Lifecycle Email -- Day 7 (Activation Check)
Subject: How's your voice agent doing?
Body:
Hi {$name},
Your voice agent for {$church_name} has been live for a week now. Here's a quick snapshot:
- Calls answered: {call_count}
- Prayer requests captured: {prayer_count}
- Visitor contacts logged: {visitor_count}
Every one of those is a person your church didn't miss.
Want to see the full call log and transcripts? Check your dashboard:
[View My Calls ->] (link to dashboard Calls tab)
Grace and peace, John ChurchWiseAI
Should NOT See:
- Chatbot conversation stats
- Chat page share prompts
Founder Decision: [x] Approved (voice stats snapshot; call log CTA)
Touchpoint 23: Lifecycle Email -- Day 13 (N/A -- No Trial)
Voice plans have no trial. There is no Day 13 "trial ending" email for voice plans.
This touchpoint does not exist for Starter Voice.
Founder Decision: [x] N/A (no trial for voice plans)
Touchpoint 24: Notification Emails (Ongoing)
Trigger: Voice agent captures prayer requests, visitor contacts, callback requests Sender: Resend (hello@churchwiseai.com)
Should See:
- Prayer request notification: "[Church Name] -- New Prayer Request (Voice Call)" with request summary, caller phone number, link to Requests tab
- Visitor contact notification: "[Church Name] -- New Visitor Contact (Voice Call)" with visitor info, link to Requests tab
- Callback request notification: "[Church Name] -- Callback Requested (Voice Call)" with caller info and reason, link to Requests tab
- Source indicator: "(Voice Call)" in subject line
Should NOT See:
- Chatbot conversation notifications
- Chat page activity notifications
- Analytics digests (Pro+ feature)
CTA -> Destination:
- "View Request" ->
https://churchwiseai.com/admin/[token]?tab=requests
Founder Decision: [x] Approved
D. First Login & Dashboard (Touchpoints 25--29)
Touchpoint 25: Magic Link Click
Identical to Starter Chat Touchpoint 25. Token-based auth, no login form, loads Overview tab.
Founder Decision: [x] Approved
Touchpoint 26: Dashboard Header
URL: https://churchwiseai.com/admin/[token]
Component: Admin dashboard header area
Should See:
- "ChurchWiseAI" branding
- Church name prominently displayed
- "Starter Plan" badge (gold colored)
- Status badge (active)
- Phone number display (shows assigned AI phone number once provisioned, or "Provisioning..." before Email 2)
Should NOT See:
- "View Chat Page" link (no chatbot)
- "View Chat Page" link (no chatbot, no chat page)
- Chatbot status indicator
- PewSearch branding
CTA -> Destination:
- Phone number -> informational (no click action needed)
Playwright Test Hints:
- Assert header contains church name
- Assert "Starter Plan" badge is visible with gold styling
- Assert phone number is displayed (or "Provisioning..." state)
- Assert NO "View Chat Page" link exists
- Assert NO "View Care Page" link exists
Founder Decision: [x] Approved
Touchpoint 27: Dashboard Tab Navigation
URL: https://churchwiseai.com/admin/[token]
Component: Admin dashboard tab bar
Should See:
- 7 tabs total in this order:
- Overview
- Calls
- Requests
- Care
- Training
- Settings
- Upgrade (renamed to Subscription in FA-082 Phase 6 — see acceptance/multi-item-self-serve.md for the new self-serve add/remove/resume flows)
Should NOT See:
- Social tab -- HIDDEN (ShareWiseAI product)
- Website tab -- HIDDEN (no PewSearch bonus at Starter)
- Any chatbot-related tabs
- Any grayed-out or locked tab indicators
Playwright Test Hints:
- Assert exactly 7 tabs: Overview, Calls, Requests, Care, Training, Settings, Upgrade
- Assert tab order: Care comes before Training
- Assert NO tab with text "Social" exists
- Assert NO tab with text "Website" exists
Founder Decision: [x] CORRECTED -- 7 tabs (Care is present; Care comes before Training per ALL_TABS order in AdminDashboard.tsx)
Touchpoint 28: Overview Tab (First View)
URL: https://churchwiseai.com/admin/[token]?tab=overview
Should See:
- 5 stat cards:
- Total calls this month
- Prayer requests captured
- Visitor contacts captured
- Callback requests
- Average call duration
- Getting Started checklist (5 steps -- see Touchpoint 29)
- AI Agents section: Care Agent + Coordinator Agent only, both shown as active
- Optional "Did you know?" educational moments: "Did you know you could add a chatbot to go along with your voice agent? They make quite the team!" with link to Upgrade tab
Should NOT See:
- Chat conversation stats
- Active care members stat (care features are voice-oriented)
- Chatbot status or "Share chat page" links
- Discipleship Agent card (HIDDEN)
- Stewardship Agent card (HIDDEN)
- Any "Upgrade to Pro" buttons (subtle educational text only)
- Analytics section (Pro+ feature)
Playwright Test Hints:
- Assert 5 stat cards with correct labels (calls, prayer requests, visitor contacts, callbacks, avg duration)
- Assert Getting Started checklist is visible
- Assert Care Agent and Coordinator Agent cards are shown
- Assert NO "Discipleship" or "Stewardship" text is visible
- Assert NO chat conversation stats exist
- Assert NO "Active care members" stat exists
Founder Decision: [x] Approved
Touchpoint 29: Getting Started Checklist Detail
URL: https://churchwiseai.com/admin/[token]?tab=overview
Should See:
- 5-item checklist (mirrors welcome email steps):
- Complete your church profile (hours, staff, ministries)
- Set your denomination/theological tradition
- Customize your voice agent's personality
- Forward your church phone number (only actionable after "line is live" Email 2)
- Make a test call
- Checkmark indicators for completed steps
- Progress bar or completion percentage
- Auto-dismisses after 7 days or all complete (same pattern as all tiers)
- Step 4 shows "Waiting for your phone line..." until Email 2 is sent
Should NOT See:
- "Share your chat page" step (no chatbot)
- Chatbot-related setup steps
- "Upgrade" messaging in checklist
Playwright Test Hints:
- Assert checklist contains exactly 5 items
- Assert no step text contains "chatbot", "chat page", or "embed"
- Assert checklist auto-dismisses after 7 days
Founder Decision: [x] Approved (5 steps; voice-specific; auto-dismisses)
E. Setup Journey (Touchpoints 30--42)
Design principle: Locked features are COMPLETELY HIDDEN, not shown with gray overlays. Chatbot features are completely invisible.
Touchpoint 30: Training Tab -- Overview
URL: https://churchwiseai.com/admin/[token]?tab=training
Component: churchwiseai-web/src/app/admin/[token]/components/TrainingTab.tsx
Should See:
- 5 sub-tabs:
- Church Knowledge
- This Week
- Theology
- Agents
- Safety
- Church Knowledge sub-tab selected by default
Should NOT See:
- FAQs sub-tab -- HIDDEN (Pro+ feature)
- Simulator sub-tab -- HIDDEN (Pro+ feature)
- Training Progress sub-tab -- does NOT exist in the code (see TrainingTab.tsx TRAINING_SUB_TABS)
- Any chatbot-specific sub-tabs
- Any "Upgrade" messaging within Training tab
Playwright Test Hints:
- Assert exactly 5 sub-tabs: Church Knowledge, This Week, Theology, Agents, Safety
- Assert NO "FAQs" or "Simulator" sub-tabs exist
Founder Decision: [x] Approved (5 sub-tabs; FAQs and Simulator hidden)
Touchpoint 31: Training -- Church Knowledge Sub-Tab
Same as Starter Chat Touchpoint 31. Voice agent uses the same church knowledge (hours, staff, ministries) as the chatbot would. Single data store.
Founder Decision: [x] Approved
Touchpoint 32: Training -- This Week Sub-Tab
Same as Starter Chat Touchpoint 32. Voice agent uses sermon topic, theme verse, and weekly announcements in conversations.
Founder Decision: [x] Approved
Touchpoint 33: Training -- FAQs Sub-Tab (HIDDEN)
Same as Starter Chat Touchpoint 33. HIDDEN entirely for Starter tier.
Founder Decision: [x] Approved
Touchpoint 34: Training -- Theology Sub-Tab
Same as Starter Chat Touchpoint 34. Denomination selector visible, influences voice agent theological responses.
Founder Decision: [x] Approved
Touchpoint 35: Training -- Agents Sub-Tab
URL: https://churchwiseai.com/admin/[token]?tab=training&sub=agents
Component: churchwiseai-web/src/components/admin/training/AgentOverviewCard.tsx
Should See:
- Care Agent: Expandable card with personality editor (tone, formality, response length, emoji, custom instructions, suggested questions)
- Note: Care Agent has a fixed introduction: "Hi, I'm here with you now..." -- this is NOT configurable via the greeting script
- Coordinator Agent: Same personality editor fields
- Voice-specific controls (ONLY present for voice plans):
- Greeting script configuration -- Coordinator-only (the Coordinator handles initial call answering and greeting)
- Voice picker dropdown -- backend field (
voice_id) exists, but dashboard UI is NOT YET BUILT (placeholder or absent in current UI)
- Active status indicators for both agents
Should NOT See:
- Discipleship Agent -- HIDDEN entirely
- Stewardship Agent -- HIDDEN entirely
- Chatbot widget settings (embed code, widget color, etc.)
- Any "Upgrade to unlock" overlays
Playwright Test Hints:
- Assert exactly 2 agent cards: Care Agent, Coordinator Agent
- Assert greeting script textarea is present and associated with Coordinator Agent (not Care Agent)
- Assert voice picker: backend
voice_idfield exists but dashboard UI NOT YET BUILT -- do not assert UI picker exists - Assert NO "Discipleship" or "Stewardship" text visible
- Assert NO chatbot widget settings visible
Founder Decision: [x] UPDATED -- Greeting script is Coordinator-only; Care Agent has fixed intro; voice picker UI not yet built
Touchpoint 36: Training -- Safety Sub-Tab
Same as Starter Chat Touchpoint 36. Safety is fully available at all tiers. Voice-specific: includes call escalation protocols.
Founder Decision: [x] Approved
Touchpoint 37: Training -- Simulator Sub-Tab (HIDDEN)
Same as Starter Chat Touchpoint 37. HIDDEN for Starter tier. Voice testing is done by calling the actual number.
Founder Decision: [x] Approved (HIDDEN; test by calling actual number)
Touchpoint 38: Training Progress Sub-Tab -- DOES NOT EXIST
Note: There is NO "Training Progress" sub-tab in the code. TRAINING_SUB_TABS in TrainingTab.tsx defines: church-knowledge, this-week, faqs, theology, agents, safety, simulator. "Training Progress" is not one of them.
The Getting Started checklist in the Overview tab (Touchpoint 29) handles setup progress tracking.
No Playwright test should assert a "Training Progress" sub-tab exists.
Founder Decision: [x] CORRECTED -- Training Progress sub-tab does not exist in the codebase
Touchpoint 39: Settings -- Church Profile Sub-Tab
Same as Starter Chat Touchpoint 39, plus:
- Phone number display (read-only) showing the assigned AI phone number
- No chatbot-specific settings (no vanity slug for chat page)
Founder Decision: [x] Approved
Touchpoint 40: Settings -- Hours Sub-Tab
Identical to Starter Chat Touchpoint 40. No channel differences.
Founder Decision: [x] Approved
Touchpoint 41: Settings -- Notifications Sub-Tab
Same as Starter Chat Touchpoint 41, with voice-specific notifications:
- Call notification (on/off) -- notify when a voice call is completed
- Prayer request notifications (on/off)
- Visitor contact notifications (on/off)
- Callback request notifications (on/off)
Should NOT See:
- Chatbot conversation notifications
- Chat page activity notifications
Founder Decision: [x] Approved
Touchpoint 42: Settings -- Integrations Sub-Tab
Same as Starter Chat Touchpoint 42. Cal.com, Planning Center, Giving URL -- all visible.
Founder Decision: [x] Approved
Touchpoint 42B: Settings -- Team Management Sub-Tab
Same as Starter Chat Touchpoint 42B. Unlimited team members, 9 roles.
Founder Decision: [x] Approved
F. Public-Facing Pages (Touchpoints 43--48)
Touchpoint 43: Public Chat Page (NOT AVAILABLE)
URL: N/A -- no chatbot, no chat page
Should See:
- NOTHING. Starter Voice has no chatbot. The
/chat/[slug]page should not exist for this church, or should show a generic "This church uses our voice AI" page linking to their phone number.
Should NOT See:
- Chat interface
- Chatbot widget
- Chat conversation history
Founder Decision: [x] Approved (no chat page for voice-only)
Touchpoint 44: Public Care Hub Page (NOT AVAILABLE)
URL: N/A -- Care is hidden for voice-only
Should See:
- NOTHING. Care tab is hidden for voice-only. The public care hub page is not applicable.
Founder Decision: [x] Approved (no care hub for voice-only)
Touchpoint 45: Care Subscribe Page (NOT AVAILABLE)
Not applicable for voice-only plans.
Founder Decision: [x] Approved
Touchpoint 46: Agent-Specific Chat Pages (NOT AVAILABLE)
Not applicable for voice-only plans.
Founder Decision: [x] Approved
Touchpoint 47: Embed Widget (NOT APPLICABLE -- voice-only plan)
Embed widget requires a chatbot. Since Starter Voice has no chatbot (chatbot_enabled = false), the embed widget is not applicable -- it has nothing to embed.
Note: Embed widget IS available at all tiers that include a chatbot (Founder Decision #5). This plan does not include a chatbot, so embed is irrelevant here, not blocked.
Founder Decision: [x] Approved (N/A -- no chatbot to embed)
Touchpoint 48: Pro Website (NOT AVAILABLE)
Not applicable -- Starter gets no PewSearch bonus.
Founder Decision: [x] Approved
G. Ongoing Dashboard Use (Touchpoints 49--54)
Touchpoint 49: Calls Tab
URL: https://churchwiseai.com/admin/[token]?tab=calls
Component: Admin Calls tab
This is the PRIMARY tab for voice customers (equivalent of Requests for chat customers).
Should See:
- Call log table with expandable rows:
- Table row (scannable): Date/time, Duration, Caller phone number (or "Unknown"), Intent detected (prayer request, general inquiry, callback, etc.), Status badge (new / reviewed)
- Click to expand: Full transcript (no audio recording -- transcript only), Which agent handled it (Coordinator, Care), Actions taken (prayer request captured, callback scheduled, etc.), Soft delete/hide button
- Pagination for long lists
- Status filter: All / New / Reviewed
- Date range filter
- Soft delete/hide button per call -- hides from UI, flags in DB (preserves for legal/pastoral accountability)
Should NOT See:
- Audio playback controls (no recordings -- transcript only)
- Chatbot conversation logs
- Analytics overlay (Pro+ feature)
Playwright Test Hints:
- Assert Calls tab loads with call log table
- Assert table has columns: Date/Time, Duration, Caller, Intent, Status
- Assert clicking a row expands to show transcript
- Assert soft delete button is present in expanded view
- Assert status filter dropdown is present
- Assert NO audio player exists
Founder Decision: [x] Approved (expandable rows; transcript only; soft delete; no audio)
Touchpoint 50: Requests Tab
URL: https://churchwiseai.com/admin/[token]?tab=requests
Same as Starter Chat Touchpoint 50, but all requests come from voice calls:
- Prayer requests, visitor contacts, callbacks -- all sourced from voice calls
- Caller phone number shown (instead of "website visitor")
- Source column shows phone icon for all entries
Should NOT See:
- Chat bubble icon in source column (no chatbot)
- Source filter dropdown (only one source -- voice)
Founder Decision: [x] Approved
Touchpoint 51: Care Tab (VISIBLE)
URL: https://churchwiseai.com/admin/[token]?tab=care
Per verified code (AdminDashboard.tsx ALL_TABS): Care tab is present for all plans including voice-only. Starter Voice has 7 tabs with Care in position 4 (after Requests, before Training).
Should See:
- Care tab in the tab bar
- Care-related functionality (subscriber list, care page link if applicable)
Should NOT See:
- Chatbot-specific care features (no chatbot on voice-only)
- Chat bubble subscription prompts
Founder Decision: [x] CORRECTED -- Care tab IS present per code (was incorrectly marked as HIDDEN)
Touchpoint 52: Social Tab (HIDDEN)
Same as Starter Chat Touchpoint 52. HIDDEN entirely.
Founder Decision: [x] Approved
Touchpoint 53: Upgrade Tab (renamed to Subscription tab in FA-082 Phase 6)
FA-082 Phase 6 note: The Upgrade tab has been renamed to Subscription and expanded to support self-serve add/remove/resume product flows. The tab formerly surfaced only upsell comparison cards; it now also shows the customer's current subscription state and lets them manage individual products. See acceptance/multi-item-self-serve.md for the full new spec.
URL: https://churchwiseai.com/admin/[token]?tab=upgrade
Should See:
- Current plan display: "Starter Voice -- $49.95/mo" with status badge
- Upgrade options:
- Pro Voice: $99.95/mo -- highlights Pro features (35 tools, 4 agents, analytics)
- "Add Chat" section showing bundle pricing:
- Starter (Voice + Chat): $49.95/mo (save $4.95/mo vs separate)
- Pro (Voice + Chat): $119.95/mo
- Suite (Voice + Chat): $139.95/mo
- Feature comparison table
- Educational tone, not pushy
Should NOT See:
- Downgrade options
- Annual billing options (voice is monthly only)
- Chat-only plan comparisons (irrelevant to a voice customer)
Playwright Test Hints:
- Assert current plan "Starter Voice" displayed with $49.95/mo
- Assert Pro Voice upgrade option present
- Assert "Add Chat" section with bundle pricing
- Assert NO annual billing options
Founder Decision: [x] Approved (voice tier comparison + chat cross-sell)
Touchpoint 54: Analytics (HIDDEN)
Same as Starter Chat Touchpoint 54. HIDDEN entirely for Starter tier.
Founder Decision: [x] Approved
H. Lifecycle Events (Touchpoints 55--62)
Touchpoint 55: Monthly Call/Usage Limit
Voice Starter does not currently have an explicit monthly call limit (unlike chat's 200 message limit). Voice costs are per-minute (Cartesia $0.06/min). If a usage limit is introduced later, follow the same graceful pattern as chat:
- Warning at ~90%
- Friendly non-technical message to callers when limit reached
- "Did you know?" educational moment linking to Upgrade tab
Founder Decision: [x] Approved (no explicit limit currently; follow chat pattern if added later)
Touchpoint 56: No Trial Period (Voice Charges Immediately)
Voice plans have no trial. This touchpoint does not apply.
- Status badge shows "Active" from day one (no "Trial" state)
- No trial countdown in header
- No trial-related dashboard banners
Founder Decision: [x] N/A (no trial for voice plans)
Touchpoint 57: No Trial Expiring Warning
Not applicable -- no trial.
Founder Decision: [x] N/A
Touchpoint 58: Subscription Lapsed
Trigger: Subscription lapses after failed payments exhaust Stripe retry window
Same pattern as Starter Chat Touchpoint 58, with voice-specific behavior:
- Voice agent stops answering calls (Telnyx number is deactivated or calls are no longer routed)
- Callers hear: Standard carrier "number not in service" or forwarding reverts to church's original phone system (if they set up forwarding, removing the forward restores their old behavior)
- Dashboard: Enters read-only mode. "Expired" status badge. "Reactivate" CTA.
- Data preserved indefinitely -- call logs, transcripts, prayer requests, training data
Should NOT See:
- Data deletion threats
- Punitive messaging
Founder Decision: [x] Approved (voice agent stops; callers hear standard carrier message; data preserved)
Touchpoint 59: Payment Failed
Same as Starter Chat Touchpoint 59 (Stripe retry window, past_due banner, grace period).
- Voice agent stays active during Stripe's retry window (~7 days)
- Amount in email: $49.95
- "Update Payment Method" CTA
Founder Decision: [x] Approved (voice stays active during grace period)
Touchpoint 60: Cancellation
Trigger: Customer cancels via Stripe Customer Portal
Should See:
- Stripe confirmation email
- Dashboard immediately after cancellation:
- Status badge: "Cancelled" (or "Cancelling")
- Banner: "Your subscription has been cancelled. Your voice agent will remain active until [end of billing period date]."
- "Reactivate" CTA visible
- All features remain functional until end of billing period
- After billing period ends:
- Voice agent stops answering calls
- Telnyx phone number retained for 30 days (grace period for reactivation -- number is held, not released immediately)
- Dashboard enters read-only mode
- Callers hear standard carrier "not in service" or forwarding reverts
- Data preserved indefinitely -- call logs, transcripts, all training data
Should NOT See:
- Immediate voice agent shutdown
- Phone number released immediately on cancellation
- Data deletion
- Guilt-trip messaging
CTA -> Destination:
- "Reactivate" -> Stripe Customer Portal to resume subscription
Playwright Test Hints:
- Assert "Cancelled" status badge
- Assert voice agent remains active until billing period end
- Assert "Reactivate" button is visible
Founder Decision: [x] Approved (service until billing period end; phone number held 30 days; data preserved)
FLAGGED FOR FOUNDER REVIEW:
Phone number retention period (30 days proposed). Two options:
- 30 days -- hold the number for a month, then release it. Customer can reactivate within 30 days and keep the same number.
- Indefinite -- never release the number. Simplest for the customer but costs ~$1/mo per number in Telnyx fees.
Recommendation: 30 days is reasonable and cost-effective. The cost of holding numbers indefinitely for cancelled customers adds up.
Touchpoint 61: Upgrade (Starter Voice -> Pro Voice or Bundle)
Trigger: Customer clicks upgrade from Upgrade tab
Should See:
- Immediate feature unlock -- same pattern as Starter Chat Touchpoint 61:
- Discipleship Agent and Stewardship Agent cards appear
- FAQs sub-tab appears
- Simulator sub-tab appears (voice testing remains "call the number")
- Analytics section appears on Overview
- Tool count increases (12 -> 35)
- Plan badge updates to "Pro" or "Suite"
- If upgrading to bundle: Chat features appear (chat page, Care tab, embed code). Voice features stay.
- Prorated billing handled by Stripe
Should NOT See:
- Need to re-enter church info
- Voice agent downtime during upgrade
- Loss of call history or training data
Founder Decision: [x] Approved (immediate unlock; no downtime; prorated billing)
Touchpoint 62: Downgrade (from Pro Voice -> Starter Voice)
Trigger: Customer downgrades via Stripe
Should See:
- Features HIDDEN (not deleted) following "hidden not locked" principle:
- FAQs sub-tab disappears
- Simulator sub-tab disappears
- Discipleship/Stewardship Agent cards disappear
- Analytics section disappears
- Tool count drops to 12
- Plan badge reverts to "Starter"
- If downgrading from bundle to voice-only: Chat features disappear (Care tab, chat page, embed). Voice features stay.
- Downgrade takes effect at end of billing period
- All data preserved
Should NOT See:
- Data deletion
- Immediate feature removal mid-billing-period
- Punitive messaging