How Funnel CMS Fits The Product
Sanity is the authoring system for landing pages, questionnaire flows, submit flows, and selected corporate content. Funnel CMS is the Next.js runtime that turns those authored documents into patient-facing routes.
- Owner
- Product Platform
- Source
- content/product-docs/cms-overview.md
What Product Can Change
Product and content teams can update page content, funnel order, routing, CTA targets, SEO metadata, header and footer chrome, and supported A/B test references through Sanity.
- Landing pages publish at /{slug}.
- Questionnaire funnels publish at /questionnaire/{funnel-slug}.
- Submit flows add post-funnel screens before the survey payload is sent.
- Corporate content, such as side effect pages, is also routed through the same frontend.
What Still Needs Engineering
The CMS can compose existing content types, but new user experience patterns still need code support.
- A new landing-page block needs a Sanity schema, a GROQ projection, and a renderer in Funnel CMS.
- A new question input type needs schema support plus a matching React input component.
- New routing behavior needs runtime logic and focused tests, not only Sanity fields.
- New tracked events or submission fields need analytics or survey-service changes.
Product Planning Notes
Treat the CMS as the control plane for configured experiences, not as a generic page builder that can safely express any UI. Product specs should name whether a request is content-only, schema-only, renderer work, routing work, or downstream submission work.
Runtime References
- apps/studio/schemaTypes/funnelType.ts
- apps/studio/schemaTypes/landingPageType.ts
- apps/funnel-cms/app/[slug]/page.tsx
- apps/funnel-cms/app/questionnaire/[funnel]/[[...slug]]/page.tsx