BuildWithMatija
  1. Home
  2. Blog
  3. Tools
  4. CMS Workflow Discovery: Map Hidden Processes Before Build

CMS Workflow Discovery: Map Hidden Processes Before Build

Trace page actions, map integrations, and design CMS schemas that reflect business workflows, approvals, and…

2nd July 2026·Updated on:15th July 2026··
Tools
CMS Workflow Discovery: Map Hidden Processes Before Build

📚 Get Practical Development Guides

Join developers getting comprehensive guides, code examples, optimization tips, and time-saving prompts to accelerate their development workflow.

No spam. Unsubscribe anytime.

📄View markdown version
0

Frequently Asked Questions

About the author

Matija Žiberna

Matija Žiberna

Full-stack developer, co-founder

AboutResume

Self-taught full-stack developer sharing lessons from building software and startups.

I'm Matija Žiberna, a self-taught full-stack developer and co-founder passionate about building products, writing clean code, and figuring out how to turn ideas into businesses. I write about web development with Next.js, lessons from entrepreneurship, and the journey of learning by doing. My goal is to provide value through code—whether it's through tools, content, or real-world software.

Contents

  • A Website Page Is Often the Visible Tip of a Business Workflow
  • The page is the smallest visible part of a much bigger system
  • Presentation and behavior are two different problems
  • Worked example: a product giveaway
  • Worked example: an event that lives in three systems
  • Worked example: a recipe that touches four departments
  • Forms are usually the most operational thing on the page
  • A page can look static while its workflow runs through several states
  • Worked example: a store locator that hides a data-governance problem
  • Ambassador profiles and resource downloads carry the same pattern
  • Ask what the process is, not just what fields are on the page
  • How workflow mapping reshapes the content model
  • Understand the workflow before automating it
  • Discovering a workflow doesn't mean the CMS should own it
  • Discovery prevents both surprise scope and unnecessary rebuilding
  • Map the workflow before finalizing the schema
  • Editors need workflow visibility as much as visitors need a good page
  • Architecture should follow business boundaries, not just page shapes
  • A practical audit method
  • Page count is a poor proxy for complexity
  • Write requirements around the outcome, not the template
  • FAQ
  • Wrapping up
On this page:
  • A Website Page Is Often the Visible Tip of a Business Workflow
  • The page is the smallest visible part of a much bigger system
  • Presentation and behavior are two different problems
  • Worked example: a product giveaway
  • Worked example: an event that lives in three systems
Build with Matija logo

Build with Matija

Modern websites, content systems, and AI workflows built for long-term growth.

Services

  • Headless CMS Websites
  • Next.js & Headless CMS Advisory
  • AI Systems & Automation
  • Website & Content Audit

Resources

  • Case Studies
  • How I Work
  • Blog
  • Topics
  • CMS Hub
  • E-commerce Hub
  • B2B Website Strategy
  • Dashboard

Headless CMS

  • Payload CMS Developer
  • CMS Migration
  • Multi-Tenant CMS
  • Payload vs Sanity
  • Payload vs WordPress
  • Payload vs Contentful

Get in Touch

Ready to modernize your stack? Let's talk about what you're building.

Book a discovery callContact me →
© 2026Build with Matija•All rights reserved•Privacy Policy•Terms of Service
BuildWithMatija
Get In Touch

A Website Page Is Often the Visible Tip of a Business Workflow

Treat every "simple" content page in a CMS discovery as a question mark until you've traced what happens after someone clicks the button on it. A giveaway page might look like a headline, an image, a form, and a submit button — but behind that button can sit legal review, CRM routing, eligibility rules, scheduled expiry, and three or four departments who each own a piece of the outcome. This guide walks through why page-level discovery misses that entirely, and what to ask instead so the CMS you build actually supports the process, not just the screen.

I've sat in enough discovery calls where the client hands over a sitemap and the team starts listing fields — title, image, body, date — for what looks like a standard content type. The costly mistakes always showed up later, once we'd shipped a page that looked correct and discovered the workflow behind it had quietly stopped working.

The page is the smallest visible part of a much bigger system

A visitor experiences a website through screens, buttons, and forms. The organization runs that same website through a much larger system of people, tools, rules, and handoffs. Take a button that just says "Download the guide." Behind it, the company may need to capture an email address, record consent, push the data to a CRM, assign a campaign source, trigger an automated email, serve the correct localized document, track the conversion, and expire the campaign on a set date. None of that shows up in the page design — the design communicates the interaction, while the workflow determines what that interaction actually means to the business.

Presentation and behavior are two different problems

A page describes what information appears on screen. A workflow describes everything that happens before, during, and after that information gets used: who creates the content, who supplies missing assets, who reviews legal wording, where a form submission ends up, when content expires, and who owns the process once it's live. A CMS that only models page content — headings, images, links, rich text — can end up technically editable while remaining operationally incomplete, because none of those questions were ever answered in the schema.

Worked example: a product giveaway

A recurring giveaway is a useful test case because the public page is deceptively small — campaign title, prize image, entry form, eligibility rules, dates, legal terms — while the process around it is not.

Before launch, someone has to propose the giveaway, select and get approval on the product, source and clear the imagery, write the contest rules (possibly with legal review), account for regional eligibility differences, and decide who signs off on the final page.

During the campaign, the form needs a destination, duplicate-entry handling, CRM connection, consent capture, and a defined behavior for what happens if the prize changes mid-run.

After the campaign, the entry form needs to disappear on schedule, the page needs to show that the contest ended, a winner announcement may be required, and someone needs to own data retention and winner contact.

Model this as a generic editable page and none of that lifecycle is represented anywhere. Model it as a structured Giveaway collection — with fields for status, dates, prize, eligibility, territory, legal rules, approved assets, CRM campaign reference, and archive state — and one record can drive the public page, the campaign archive, automatic expiry, and internal review all at once. The page becomes one output of that record, not the whole system.

Worked example: an event that lives in three systems

Event pages hide a different kind of complexity: ownership split across systems. The public page promotes date, location, speakers, and registration, but the actual registration — capacity, reminders, attendance, livestream access — often runs through Zoom, Eventbrite, a CRM form, or a custom portal.

LayerPayload ownsExternal platform owns
ContentEvent page, agenda, speakers, SEO—
PromotionRelated products, resources, replay info—
OperationsRegistration URL, event statusAttendee records, capacity, reminders, livestream access

Rebuilding the operational layer inside the CMS adds scope nobody asked for. Ignoring that boundary produces a page that looks finished and sends visitors into an inconsistent registration experience. The implementation has to draw that line explicitly, on purpose, before the schema gets built.

Worked example: a recipe that touches four departments

A recipe page reads as editorial content, but the record behind it can span content, product marketing, regulatory, and creative approval at once — structured ingredients, dietary classifications, related products, health claims, a downloadable recipe book, and newsletter capture, each piece owned by a different team.

Store all of that as one rich text field and you lose the relationships that make governance possible: which recipes mention a given product, which use a specific ingredient, which are missing regulatory sign-off, which still need a French translation. A structured recipe model supports traceability and filtering that a paragraph of rich text simply can't.

Forms are usually the most operational thing on the page

Forms get treated as small frontend components, but on most sites they're the real integration points — newsletter signup, giveaway entry, event registration, resource download, distributor inquiry, career applications, quiz results. They can look nearly identical while running completely different workflows underneath.

For each form, work out what data gets collected, whether consent is required, where the submission lands, which system becomes the source of truth, whether the user gets a download or an email, whether the submission needs approval, and who handles a failed submission. A generic form builder can create fields and fire off an email. That capability alone says nothing about whether it supports the actual business process behind the form.

A page can look static while its workflow runs through several states

Some content moves through a full lifecycle — draft, waiting for copy, waiting for assets, product review, regulatory review, design review, approval, scheduled, published, expired, archived — without the visible layout ever changing. Those states still determine who can edit, who gets notified, whether preview is available, and whether the page should even appear in listings. A prototype typically shows only the published state. The CMS needs to support every state around it.

Worked example: a store locator that hides a data-governance problem

A store locator can look like nothing more than a map and a search box. Underneath, it depends on retailer records, geographic coordinates, product availability, distributor relationships, and territory restrictions — data that usually lives somewhere other than the CMS.

The real architecture questions are: where does retailer data actually live, who maintains it, can marketing update logos and promotional copy without touching the underlying retailer records, and how quickly do changes need to propagate. A page-level estimate accounts for a map component and a search interface. It tends to miss the data-ownership model entirely — and that's usually where the real effort is.

Ambassador profiles and resource downloads carry the same pattern

An ambassador profile page can look like a simple bio with an image and some links, while the program behind it includes applications, contracts, affiliate tracking, and performance reporting. Whether the CMS should eventually support parts of that operational process is a decision worth making explicitly, rather than discovering after the People collection has already been built to match only the visible profile.

Resource downloads carry a similar risk around access control. Moving a file link from public cloud storage into the CMS doesn't resolve who's actually allowed to access it. That requires deciding whether the asset is public, gated, partner-only, or internal, and which system verifies identity before serving it.

Ask what the process is, not just what fields are on the page

Standard discovery for an event typically produces a field list: title, date, image, description, location, registration link. That's necessary and still incomplete. A stronger discovery pass asks who initiates the content, who supplies each part, which systems feed the data, what needs approval before publication, what happens after publication, when it expires, where user submissions go, who owns the outcome, and what happens when an integration fails. Those questions reveal whether what's being designed is a page, a content type, a workflow, an integration, or some combination — and that answer changes the schema.

How workflow mapping reshapes the content model

Once the hidden process is visible, the architecture usually shifts in predictable ways.

BeforeAfter
Generic pageDedicated collection for the recurring business concept
Rich text with names typed inStructured relationships and references
A buttonAn integration boundary to a CRM, ecommerce system, or portal
An end date fieldA state transition that closes forms and moves items to archive
An arbitrary image uploadA governed reference to an approved DAM asset
A publish buttonApproval logic gated by required department sign-off

Understand the workflow before automating it

Manual follow-up in email or Slack tends to trigger an immediate instinct to automate everything — notifications, approvals, handoffs, publishing. Automation genuinely helps in a lot of cases. It can just as easily lock in a bad process and make it harder to change later. Before automating anything, it's worth separating which steps are genuinely required from which ones exist purely as leftover habit from the old system, and whether every content type actually needs the same review chain. A migration is a rare chance to simplify a process — reproducing every existing handoff automatically throws that chance away.

Discovering a workflow doesn't mean the CMS should own it

Once a workflow is mapped, the CMS boundary still has to be decided deliberately. A lead magnet is a clean example: Payload can own the landing page, copy, asset reference, and thank-you state, while the CRM owns the submission, consent, and follow-up automation, and the DAM owns the actual file and its versioning. A product page splits similarly — the PIM owns SKU, ingredients, and approved claims; Payload owns enrichment content like related articles and FAQs; ecommerce owns price, inventory, and checkout. Separating responsibility this way is usually what makes the resulting architecture legible instead of tangled.

Discovery prevents both surprise scope and unnecessary rebuilding

Workflow discovery cuts both directions. A "resource download" that looked like a two-hour task can turn out to need account verification, multilingual documents, and download logging — and finding that out during discovery means it gets estimated properly instead of discovered mid-build. The opposite also happens: a page that looks complex on the surface can turn out to be backed by an existing system that already handles the hard parts reliably, in which case the website only needs to publish content, pass a few identifiers, and link to the right destination. Either way, the goal of discovery is drawing the correct boundary, not defaulting to "build everything" or "build nothing."

Map the workflow before finalizing the schema

A workflow map doesn't need to be elaborate. For each content type, it helps to document the trigger, the requester, the required inputs and their source systems, who creates and reviews the record, who approves publication, what the visitor can actually do, where their action goes, what follow-up happens, when the content expires, what stays visible afterward, who owns it long-term, and how failure gets handled. That table is what should inform the collections, fields, permissions, and automations that follow — not the other way around.

Editors need workflow visibility as much as visitors need a good page

Editors working inside the CMS benefit from seeing their own position in the process just as much as visitors benefit from a clean public page. Useful CMS views tend to include things like "My drafts," "Needs my review," "Waiting for assets," "Scheduled content," "Expiring soon," and "Failed submissions." These are workflow requirements that a page-design spec won't surface on its own.

Architecture should follow business boundaries, not just page shapes

Treating pages as isolated screens tends to produce one large, generic Pages collection built from flexible blocks — which looks efficient because every route uses the same system. Flexible pages, though, can't easily enforce that a giveaway has an end date, an event has a status, or a product reference actually comes from the PIM. The system ends up visually flexible and operationally weak. A stronger architecture relies on dedicated collections for repeatable concepts, relationships for reusable references, external integrations for operational systems, and defined workflow states for the content lifecycle — with the page sitting on top as the output, not as the foundation.

A practical audit method

When reviewing an existing site, start from the visible surface: page types, forms, downloads, calls to action, locators, quizzes, events, and embedded tools. Then trace each one back through its real workflow.

  1. Follow the user action. Click the button, submit the form, start the registration, and see exactly where the system sends the user.
  2. Identify the internal owner. Find out whether marketing, sales, regulatory, or another team currently handles the result.
  3. Identify the source of truth. Confirm where the underlying data actually lives — don't assume the website database owns it.
  4. Map the lifecycle. Note creation, review, approval, publication, update, expiry, and archive.
  5. Identify the exceptions. Ask what happens when the process doesn't follow the ideal path.
  6. Decide the CMS boundary. Define what Payload owns, references, configures, or leaves external.
  7. Convert the workflow into requirements. Only after this should collections, fields, and integrations get defined.

Page count is a poor proxy for complexity

A site with 100 pages can carry more real complexity than one with 10,000, because the difference usually lives in the workflows behind the pages rather than their number. Ten thousand consistently structured articles can be a relatively straightforward migration. A hundred pages can hide ecommerce, gated access, CRM forms, multilingual approval chains, and third-party event platforms. A more useful estimate counts distinct workflows, source systems, user roles, approval paths, and integration boundaries — not URLs.

Write requirements around the outcome, not the template

"Build an event page template" describes a screen. A requirement like "allow approved marketing users to create localized event pages, select speakers and related products, configure an external or internal registration method, route content through the required review process, schedule publication, and automatically distinguish upcoming from past events" describes the business outcome the implementation actually needs to support. The second version is the one worth writing down, because it's the one that determines the schema, the integrations, and the acceptance criteria.

FAQ

How do I know if a page hides a workflow or is genuinely just content? Follow the user action past the page itself — if clicking the button, submitting the form, or starting the registration sends data somewhere else or triggers a review step, there's a workflow behind it worth mapping.

Should every content type get its own dedicated collection? Only recurring business concepts that need lifecycle states, relationships, or governance benefit from a dedicated collection — a truly static one-off page can stay generic.

What's the risk of skipping workflow discovery during estimation? The page still gets built and looks correct, but the process behind it — approvals, integrations, expiry — often breaks quietly, and that usually surfaces after launch rather than during QA.

Does this mean the CMS should try to own every workflow it touches? No — the discovery step is what tells you which parts genuinely belong in Payload and which parts are better left to a CRM, PIM, DAM, or event platform.

How detailed does the workflow map need to be before starting implementation? Detailed enough to answer who creates, reviews, approves, and owns each piece, and where the boundary with external systems sits — beyond that, remaining detail can be resolved during build.

Wrapping up

The public page has to be clear, fast, and useful, and it's also usually the simplest part of what's actually being built. The harder work tends to live before publication, after submission, inside another system, or between departments — and a CMS project holds up when it accounts for both the visible experience and the operational reality behind it. For every page in discovery, the question worth asking is what business process becomes visible there, because that answer is what actually determines the architecture, the effort, and the risk.

Let me know in the comments if you have questions, and subscribe for more practical development guides.

Thanks, Matija