Skip to main content

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

FieldValue
Planstarter_voice
Channelvoice
Statusactive (no trial -- charges immediately)
chatbot_enabledfalse -- chatbot completely invisible
care_enabledtrue -- Care tab visible (present in all plans per AdminDashboard.tsx ALL_TABS)
VoiceINCLUDED -- Calls tab visible, phone number assigned, voice agent active
AgentsCare + Coordinator only (Discipleship + Stewardship HIDDEN)
Tools12 (Starter tier) -- marketing number reflects combined voice + chat capabilities; voice agent tools are NOT tier-gated in current implementation
FAQ managementNOT included (HIDDEN -- Pro+ feature)
Document uploadNOT included (HIDDEN -- Pro+ feature)
Analytics dashboardNOT included (HIDDEN -- Pro+ feature)
Embed widgetNOT applicable (no chatbot -- embed widget requires chatbot)
Widget customizationNOT applicable (no chatbot)
Training simulatorNOT included (HIDDEN -- Pro+ feature)
Remove branding badgeNOT included (Suite only)
PewSearch bonusNOT included (Starter gets no bonus)
Theological lensDenomination selector visible (full configuration at Pro+)
Annual billingAvailable — $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_id field 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)


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_voice pre-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

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:"
      1. Complete your church profile (service times, staff, ministries)
      2. Set your denomination/theological tradition
      3. Customize your voice agent's personality
      4. 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

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)

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:
    1. Overview
    2. Calls
    3. Requests
    4. Care
    5. Training
    6. Settings
    7. 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:
    1. Total calls this month
    2. Prayer requests captured
    3. Visitor contacts captured
    4. Callback requests
    5. 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):
    1. Complete your church profile (hours, staff, ministries)
    2. Set your denomination/theological tradition
    3. Customize your voice agent's personality
    4. Forward your church phone number (only actionable after "line is live" Email 2)
    5. 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:
    1. Church Knowledge
    2. This Week
    3. Theology
    4. Agents
    5. 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_id field 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:

  1. 30 days -- hold the number for a month, then release it. Customer can reactivate within 30 days and keep the same number.
  2. 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

Founder Decision: [x] Approved (hidden not locked; data preserved; end of billing period)