Skip to main content

WiseAI Agency Hub — Expected Output Spec (DRAFT)

Stage 1 agent research draft. Every touchpoint is pre-populated from code + production (visited 2026-05-20). The founder confirms or corrects in a Stage-2 interview before this moves to COMPLETE. Do not treat any expected output here as canonical until the founder signs off.


What WiseAI Agency Is (scope note for agents)​

WiseAI Agency (wiseaiagency.com) is the meta-brand parent hub — not a product with a checkout or dashboard. It is the tech + trust brand that ties the vertical family together. It hosts:

  • A home page (brand hub, verticals directory teaser, prompt-pack teaser)
  • A verticals directory page (/verticals)
  • A technology page (/technology)
  • An about / founder page (/about)
  • A contact form (/contact) for custom-engagement inquiries
  • A hub-level pricing overview (/pricing) — display-only; checkout happens on each vertical's own site
  • A demo Playground (/playground)
  • Local-SEO city landing pages (/ingersoll, /london-ontario, /woodstock, /tillsonburg)
  • An AI prompt-pack aggregator (/skills)
  • Legal/trust pages (/privacy, /terms, /security)

Infrastructure: wiseaiagency.com is a hostname rewrite in Next.js middleware (src/middleware.ts) to churchwiseai-web/src/app/wiseaiagency/. No separate deployment. Decision: knowledge/decisions/2026-05-04-wiseaiagency-rewrite.md.


N/A Categories (with rationale)​

The standard 62-touchpoint methodology (Categories A–H) is designed for tier-gated products with checkout, onboarding, dashboards, and lifecycle billing events. WiseAI Agency has none of these. The following categories are explicitly N/A:

CategoryStatusReason
B. Pre-Purchase Journey (onboard form, Stripe checkout, success page)N/ANo checkout on wiseaiagency.com. Actual purchases happen on vertical sites (churchwiseai.com, funeralwiseai.com, etc.). The hub's only "conversion" is submitting the contact form or booking a call.
C. Email Journey (welcome email, receipt, Day 0/2/7/13 lifecycle)N/A — partiallyThere is no post-signup email sequence. The only email the hub sends is a notification to hello@wiseaiagency.com when a contact form is submitted. No MailerLite drip from this domain.
D. First Login & Dashboard DiscoveryN/ANo login, no dashboard. wiseaiagency.com is fully public.
E. Setup JourneyN/ANo product to set up. No admin interface.
F. Public-Facing Product Pages (chat/care/embed/pro-website)N/ANo AI product hosted on this domain. Products live on vertical sites.
G. Ongoing Dashboard Use (calls, requests, care, social, upgrade tabs)N/ANo dashboard exists on this domain.
H. Lifecycle Events (usage limits, trial expiry, payment failure, cancellation)N/ANo billing, no subscription, no lifecycle on this domain.

Applicable Touchpoints​

The following touchpoints ARE applicable and are documented below.

Category A — Discovery Paths​

A1. Direct navigation to wiseaiagency.com​

Entry point: Direct URL / bookmark / social link Landing URL: https://wiseaiagency.com Screenshot: screenshots/wiseaiagency/home-hero.png (pending production capture)

Should See:

  • Nav: "What we build" / "Verticals" / "Technology" / "Pricing" / "Playground" / "About" / "Contact" + "Talk to us" CTA button
  • Hero H1: "AI agents for service businesses."
  • Hero eyebrow: "One platform. Many industries."
  • Sub-copy: describes one codebase configured per industry; churches today, funeral homes next
  • Two primary CTAs in hero: "Try the playground" → /wiseaiagency/playground and "See our verticals" → #verticals
  • Verticals section showing 3 live brands (ChurchWiseAI gold, FuneralWiseAI amber, VetWiseAI green) + "8 more verticals" roadmap card
  • Dial demo CTA block (conditional on NEXT_PUBLIC_DEMO_NUMBER + findDemoCodeByBrand('playground-wiseaiagency')) — shows phone number + code
  • "What we build" section: 2 product cards (Voice Agent, Chatbot) linking to playground
  • Prompt packs section (dark hero): "12 free AI prompts for the verticals we serve." — two pack links
  • Founder story block (variant="agency")
  • Contact section: "Building in a vertical we haven't shipped yet?" — cal.com booking link + hello@wiseaiagency.com email link

Should NOT See:

  • Stripe checkout
  • Any admin dashboard link
  • Any church-specific content (prayer requests, care agents, etc.)
  • PewSearch references (hub-level positioning only)
  • Any reference to specific Stripe price IDs

Links:

  • "Try the playground" → /wiseaiagency/playground
  • "See our verticals" → #verticals (anchor)
  • "Visit site" (ChurchWiseAI) → https://churchwiseai.com (new tab)
  • "Visit site" (FuneralWiseAI) → https://funeralwiseai.com (new tab)
  • "Visit site" (VetWiseAI) → https://veterinarywiseai.com (new tab)
  • "Ask about your vertical" → /wiseaiagency/contact
  • Pastor AI Prompt Pack → https://churchwiseai.com/skills
  • Funeral Director Prompt Pack → /funeralwiseai/skills
  • "See both packs side-by-side" → /wiseaiagency/skills
  • "Book a 30-min call" → https://cal.com/john-moelker/wiseaiagency-demo
  • "Email hello@wiseaiagency.com" → mailto:hello@wiseaiagency.com

Open question for founder interview:

  • Is the hero copy ("AI agents for service businesses") finalized, or is a pain-led variant planned?
  • Should the dial demo section always show (even on mobile), or should it be hidden on mobile?

A2. Google search → wiseaiagency.com (organic)​

Entry point: SERP organic result Expected meta title: "AI Front Desk for Local Service Businesses | WiseAI Agency" (changed 2026-10-06 — the prior title resolved live as "... | ChurchWiseAI" due to a Next.js title-template quirk; see search-audit-realtywise-wiseaiagency-2026-10-06.md) Expected meta description: "We build AI agents for service businesses. Pastor-founded. One technology platform, customized per industry. Churches, funeral homes, and more." Canonical: https://wiseaiagency.com

Should See:

  • Title and description indexed correctly
  • Canonical tag present in <head>

A3. Google search → local city page (e.g., "AI agency Ingersoll Ontario")​

Entry point: SERP organic result for city-specific query Landing URL: https://wiseaiagency.com/ingersoll (or london-ontario, woodstock, tillsonburg)

Should See:

  • Meta title: "AI Agents for [City] Businesses — WiseAI Agency"
  • JSON-LD LocalBusiness schema with areaServed including the city and nearby areas
  • Hero H1: "AI agents for [City] service businesses."
  • City-specific stats widget: number of churches, funeral homes, vet clinics
  • Three vertical cards (ChurchWiseAI, FuneralWiseAI, VetWiseAI) with descriptions
  • "Why local matters" section: time zone, CASL compliance, ongoing support
  • City-specific pain points (data from cities.ts)
  • Testimonials slot: placeholder card ("We are actively onboarding [City]-area businesses")
  • Contact CTA: "Book a 30-minute call" → cal.com + "Send a message instead" → /wiseaiagency/contact

Should NOT See:

  • Testimonial quotes that don't exist yet (no fabricated social proof)
  • Pricing figures (city pages don't show pricing)

Open question for founder interview:

  • The JSON-LD schema includes telephone: '+1-226-XXX-XXXX' — this is a placeholder. Does a real WiseAI Agency phone number exist? If not, should the telephone field be removed to avoid serving fake structured data to Google?
  • Is the Ingersoll stat "10+ Churches / 2–3 Funeral homes / 3–4 Vet clinics" accurate and acceptable for public display?

Entry point: Nav "Verticals" item or external link Landing URL: https://wiseaiagency.com/verticals

Should See:

  • H1: "One engine. Many industries."
  • Active verticals (status: Active badge, green bg): ChurchWiseAI, FuneralWiseAI, VetWiseAI, SermonWise AI, PewSearch
  • Roadmap verticals (Coming soon badge, grey bg): DoctorWiseAI
  • Each active vertical shows: name, domain, description, "Visit site →" link (opens new tab)
  • FuneralWiseAI description includes: "$745 setup + $199/mo"
  • Bottom CTA: "Get in touch" → /wiseaiagency/contact

Should NOT See:

  • SermonWise listed as "coming soon" (it IS active)
  • PewSearch listed as "coming soon" (it IS active)

Open question for founder interview:

  • Should SermonWise and PewSearch be listed on the Agency verticals page? They are not WiseAI-branded agency products in the same sense as Church/Funeral/Vet. Confirm intent.

Entry point: Nav "Pricing" item or external link Landing URL: https://wiseaiagency.com/pricing

Should See:

  • H1: "Simple pricing across our verticals."
  • Subheading: "Each vertical sets its own pricing on its own site — this is the cross-vertical summary."
  • USD/CAD currency toggle (defaults by geo-IP)
  • Three vertical cards: ChurchWiseAI, FuneralWiseAI, VetWiseAI with price ranges
  • "ChurchWiseAI extras" section: Pro Website ($14.95/mo), SermonWise AI ($19.95/mo), PewSearch Premium (founder to confirm — see drift section)
  • Footnote: "Display currency is for comparison. Each vertical's checkout currently bills in USD; CAD billing is being rolled out..."
  • "Custom builds" section → /wiseaiagency/contact
  • Final CTA: "Open the playground" → /wiseaiagency/playground

CTAs:

  • "See full ChurchWiseAI pricing" → https://churchwiseai.com/pricing (new tab)
  • "See full FuneralWiseAI pricing" → /funeralwiseai/pricing (same tab — note: resolves via hostname rewrite, effectively https://funeralwiseai.com/pricing)
  • "See full VetWiseAI pricing" → https://veterinarywiseai.com/pricing (new tab)
  • PewSearch Premium "Learn more" → https://pewsearch.com/pricing (new tab)

Open question for founder interview:

  • PewSearch Premium listed at $9.95/mo on the page — see "Drift found during research" section. Confirm correct price.

Entry point: Nav "Playground" item or hero CTA Landing URL: https://wiseaiagency.com/playground

Should See:

  • H1: "Pick a product. Pick an industry. See it work."
  • Disclaimer badge: "Every agent here is fictional — for demo purposes only."
  • Step 1: Pick a product — Chatbot or Voice Agent
  • Step 2: Pick an industry — grid of verticals (6 live, 4 coming soon per code)
  • After selection: chatbot inline (BrandSalesChatbot) OR voice dial CTA
  • Conversion CTAs after demo: per-vertical based on status (book demo / waitlist / visit site)

Should NOT See:

  • Real church/customer data in the demo agents
  • Any "log in" or "sign up" prompts during the playground flow

Open question for founder interview:

  • Which specific industries are available as live chatbot demos right now? The playground wizard code references multiple verticals. Founder to confirm which are fully trained vs placeholder.

Entry point: Home page prompt-packs section link or direct URL Landing URL: https://wiseaiagency.com/skills

Should See:

  • H1: "[N] AI prompts for service businesses that respect their craft." (where N = total count, currently 12)
  • "Works in" strip: ChatGPT, Claude.ai, Gemini, Grok, Perplexity, Copilot
  • Two pack cards: Pastor Pack (7 prompts, church gold accent) and Funeral Director Pack (5 prompts, copper accent)
  • "Open the Pastor Pack" → https://churchwiseai.com/skills (new tab)
  • "Open the Funeral Director Pack" → /funeralwiseai/skills (same-origin rewrite → funeralwiseai.com)
  • AI Bridge Principle section: "The AI is a bridge to humans. Never a replacement."
  • Bottom CTA: "See what we build" → /wiseaiagency/ and "Try the playground" → /wiseaiagency/playground
  • MIT license notice

Should NOT See:

  • Email gate on /wiseaiagency/skills itself (email gate lives on individual pack pages, not the aggregator)
  • Individual prompt content (this is an index/directory page)

A8. Cal.com booking page (not on wiseaiagency.com, but exit point)​

Entry point: Multiple "Book a 30-min call" CTAs across the hub Destination: https://cal.com/john-moelker/wiseaiagency-demo

Should See:

  • Cal.com hosted booking page (not a wiseaiagency.com page)

Open question for founder interview:

  • Is this Cal.com link active and configured with the right calendar? It appears in 4+ places across the hub.

Category C — Email Journey (partially applicable)​

C1. Contact form submission → founder notification email​

State: Visitor submits /wiseaiagency/contact with valid payload + CASL consent API: POST /api/wiseaiagency/contact

Should See (founder inbox at hello@wiseaiagency.com):

  • Email from: WiseAI Agency <hello@wiseaiagency.com>
  • Reply-to: the visitor's email address
  • Subject: New agency inquiry — [Business Name] ([City])
  • Body contains: Name, Email (linked), Business name, Business URL (if provided), Industry type, City, CASL consent confirmation, message body

Should NOT See:

  • Email going to support@churchwiseai.com (the generic CWA contact goes there; this one is wiseaiagency-specific)
  • Form submission succeeding without CASL checkbox checked

Conditional:

  • If CASL consent is false: API returns 400 "Consent is required" — form shows error message with fallback mailto:hello@wiseaiagency.com link
  • If Resend fails: API soft-fails (does not expose error to visitor); DB write still attempted
  • If AGENCY_INBOUND_CAMPAIGN_ID campaign row missing in outreach_contacts: DB insert soft-fails, email notification still fires; a warning is logged but visitor sees the success state

Success state (visitor sees after submit):

  • Check icon + "Message received."
  • Body: "John will respond within one business day. Short conversations, honest answers."
  • Form fields are replaced by the success card

Error state (visitor sees if API fails):

  • Red alert box: "Something went wrong. [errorMessage] Email us directly →" (links to mailto:hello@wiseaiagency.com)

Category A (continued) — Contact Form Journey​

A9. /wiseaiagency/contact — full form experience​

Should See:

  • H1: "Building in a vertical we haven't shipped yet?"
  • Left panel: context copy, hello@wiseaiagency.com email link, redirect block for already-launched verticals (FuneralWiseAI + ChurchWiseAI demo links)
  • Right panel (form): Name* / Email* / Business name* / Business website (optional) / Type of business* (dropdown: Church / Funeral home / Veterinary clinic / Healthcare / Other service business / Investor or partner inquiry) / City* / "What are you working on?"* / CASL consent checkbox* / "Send message" button
  • When "Other service business" selected: helper text "Describe your business type in the message below."
  • CASL consent text includes: hello@wiseaiagency.com unsubscribe link and "Ingersoll, ON, Canada"

Should NOT See:

  • Phone number field (not in this form — this is a custom-engagement form, not the church onboarding form)
  • Any "church name" field (this is vertical-agnostic)
  • ChurchWiseAI branding (uses WiseAI Agency brand tokens)

Rate limiting: 5 submissions per minute per IP. On limit: standard 429 response.


A10. /wiseaiagency/privacy​

Should See: Privacy policy scoped to wiseaiagency.com (data collected on the hub). Defers to vertical brand sites for product data.

A11. /wiseaiagency/terms​

Should See: Terms covering visitor use, custom engagements, demo bookings. States vertical product terms are governed by brand sites.

A12. /wiseaiagency/security​

Should See: Security and AI safety practices — infrastructure, encryption, tenant isolation, HEAR/crisis protocol, subprocessors, incident response.

A13. /wiseaiagency/technology​

Should See: Technology page describing LiveKit voice, multi-agent orchestration, HEAR protocol, per-vertical training approach.


Drift Found During Research​

As per methodology rules: drifts are DOCUMENTED here, not fixed. A remediation agent addresses them separately.

DRIFT-1: PewSearch Premium price on wiseaiagency.com/pricing — $9.95/mo vs canonical $4.95/mo​

Location: churchwiseai-web/src/app/wiseaiagency/pricing/PricingOverviewClient.tsx line 123 Code value: monthly: 9.95 Canonical price: PRICING.md → "Premium Church Page (USD) $4.95/mo" Production display (CAD): Shows ~$12.95 CAD which converts correctly from $9.95 USD, but $9.95 USD is itself wrong Severity: Medium — this is a display-only pricing overview page (no checkout); the actual checkout on pewsearch.com would charge the correct price. But it misstates the product price to prospects browsing the hub. Action: A remediation agent should update monthly: 9.95 → monthly: 4.95 in PricingOverviewClient.tsx and verify the note field is accurate.

DRIFT-2: JSON-LD LocalBusiness schema uses placeholder phone number​

Location: churchwiseai-web/src/app/wiseaiagency/[city]/page.tsx line 88 Code value: telephone: '+1-226-XXX-XXXX' Issue: This placeholder will be served in structured data to Google. A fake phone number in JSON-LD LocalBusiness schema can cause Google Business Profile issues. Severity: Low-Medium — Google may ignore or flag structured data with a non-dialable number. Action: Either supply the real WiseAI Agency phone number (if one exists) or remove the telephone field from the schema entirely until a real number is assigned.

DRIFT-3: FuneralWiseAI setup price — VERIFIED CORRECT at $745​

Confirmed: PricingOverviewClient.tsx line 78 shows usd: 745 for FuneralWiseAI setup. The 2026-05-19 audit fix (from $999 → $745) is correctly applied. No action needed.

DRIFT-4: Home page stat widget shows "2 Live vertical brands" — outdated​

Location: churchwiseai-web/src/app/wiseaiagency/page.tsx line 218 (visual stat card) Code value: ['2', 'Live vertical brands'] Current reality: The verticals page lists 5 active brands (ChurchWiseAI, FuneralWiseAI, VetWiseAI, SermonWise AI, PewSearch). Even limiting to commercially launched WiseAI-branded verticals, there are 3 (Church, Funeral, Vet). Severity: Low — minor accuracy issue on a stat card; doesn't affect purchase decisions. Open question: What count is the founder's intent? "3 commercial verticals" (Church/Funeral/Vet)? "5 active WiseAI brands"? Should this stat be removed or updated?


User State Definition​

WiseAI Agency has no authenticated user states. All visitors are unauthenticated. The two meaningful visitor states are:

StateDescriptionPrimary goal
Curious prospectService business owner exploring the hubUnderstand what WiseAI Agency is → reach playground or contact form
Custom engagement leadBusiness in an unlaunched vertical seeking a custom buildReach the contact form → submit inquiry → receive response

Open Questions for Stage-2 Founder Interview​

  1. Contact form → campaign row: The DB insert at POST /api/wiseaiagency/contact depends on a campaign row with ID a9000000-0000-0000-0000-000000000001 existing in outreach_campaigns. Does this row exist? If not, every form submission silently soft-fails the DB write (email still sends). Has the founder confirmed receipt of test form submissions?

  2. hello@wiseaiagency.com email routing: The contact API sends to hello@wiseaiagency.com. Is this inbox monitored? Where does it route (forwarding rule, shared inbox, etc.)?

  3. PewSearch Premium price ($9.95 vs $4.95): Confirm canonical price. If $4.95 is correct, approve remediation.

  4. LocalBusiness JSON-LD phone: Does WiseAI Agency have a real phone number for the schema, or should the telephone field be removed?

  5. Home page "2 Live vertical brands" stat: Confirm correct count — 2, 3, or 5?

  6. Verticals directory scope: Should SermonWise AI and PewSearch appear in the wiseaiagency.com/verticals page? They are not WiseAI-branded vertical products in the same category as Church/Funeral/Vet.

  7. Cal.com booking link: Is https://cal.com/john-moelker/wiseaiagency-demo active and configured?

  8. Playground industries: Which playground verticals are fully trained (real demo quality) vs placeholder? The page says "6 industries live, 4 more coming" — confirm which 6.

  9. Dial demo section: The home page conditionally shows a dial-in CTA if NEXT_PUBLIC_DEMO_NUMBER is set and a demo code for playground-wiseaiagency exists. Is this configured in production? (Production showed a phone number (414) 310-7631 — confirm this is intentional and the demo code is valid.)

  10. City pages — real stats: Are the per-city stats (e.g., Ingersoll: 10+ churches, 2-3 funeral homes, 3-4 vet clinics) manually curated in cities.ts or pulled from a data source? Confirm they are accurate enough for public display.

  11. SermonWise AI pricing on hub pricing page: Shows $19.95/mo with "Free tier available — 2 sermons per month." Confirm this is current pricing (not stale from pre-SermonWise-pricing change).


Agents Reading This Spec​

Before modifying any WiseAI Agency page or the contact API:

  1. Cross-reference the drift section — existing issues are known and tracked.
  2. The contact form API (/api/wiseaiagency/contact) has a FOUNDER GATE dependency on the agency-inbound campaign row. Do not assume DB writes succeed without verifying that row exists.
  3. Never modify /api/contact/route.ts thinking it handles WiseAI Agency contact — that route handles churchwiseai.com/contact (sends to support@churchwiseai.com). The agency form uses /api/wiseaiagency/contact/route.ts (sends to hello@wiseaiagency.com).
  4. The /wiseaiagency/pricing page is display-only — do not add Stripe checkout logic here.
  5. City pages are statically generated. Adding a new city requires updating cities.ts + running generateStaticParams at build time.