Custom · reads custom
Custom page
Owner-composed layout (paid + validated).
A view composed for one purpose.
- Roast profile calculatorInteractive maths, no renderer fits
- Subscription builderMulti-step with live pricing
- Trade applicationForm plus document upload plus terms
- Anniversary pageOne-off, editorial layout
What it does
Behaviours, not fields. Choosing between two modules is choosing between these.
The last resort, and the honest one — ninety-nine modules will not cover every business.
Naming why it is custom keeps the decision visible, and often reveals it did not need to be.
Better than bending an unsuitable module until it almost fits.
How it works
- 1
A custom page is recorded with the reason it could not be a module.
- 2
Naming the reason keeps the decision visible, and often reveals it did not need to be custom.
- 3
Built-from records what it actually is, which is sometimes two existing modules stacked.
- 4
The last resort, and the honest one — ninety-nine modules will not cover every business.
Best for
The view your work needs that no standard one covers.
Not the right choice for
Something a built-in page already does — those come with no wait.
What a row holds
Every field, and what the agent listens for to fill it — which is the difference between a page you type into and one that fills itself.
| Field | Type | Filled from |
|---|---|---|
| Pagerequired | text | What it is, named for what it does for a visitor. |
| Why customrequired | text | The reason nothing else fits. Required, and often reveals that something does. |
| Built fromrequired | text | Hand-written, or the modules it really is underneath. |
What it does not do
A module chosen for something it cannot do costs more than one that was never offered.
- CANNOT BE BUILT AS A DATA MODULE, by definition. A custom page is hand-written markup.
- No reuse. Each one is its own maintenance.
- The agent cannot read it unless the content is also in a module.
- It will not follow theme or layout changes automatically.
Before it works
What you have to provide, if anything.
- Write the reason first. If it is hard to write, a module probably fits.
- Revisit them quarterly. A custom page often becomes a module once the pattern is clear.
In practice
A roaster wanting a brew-ratio calculator on the site.
“A little calculator for grams to water, nothing else does this.”
What the agent built
A custom page with the reason recorded: interactive maths, no renderer fits.
What changed
Of four custom pages, one turned out to be a form plus a documents module stacked. Naming the reason is what surfaced it.
Better with
These do a different job on the same data. An agent can have all of them.
A third-party tool is already doing the job and rebuilding it would be worse than accepting a black box.
New enquiries need the same information every time and chasing it afterwards costs days.
Documents have versions and expiry dates, and using the wrong one has consequences.
This module cannot be built yet
A custom page is hand-written markup by definition, so a dataset view can never be one — this is the only module in the catalogue whose gap is permanent rather than a decision waiting to be made. It is specified anyway so the reason is written down and so the Why custom field keeps the choice visible.
Questions
What data does the Custom page page use?
It reads custom records the agent has collected. Owner-composed layout (paid + validated). Nothing has to be imported first — the page appears once there is something to show.
Do I have to build or configure it?
No. You describe what you need in a sentence and the agent chooses the view and fills it. Custom pages exist for the cases no built-in view covers, and those are reviewed before they go live.
When is a custom the wrong choice?
Something a built-in page already does — those come with no wait. It is best for: the view your work needs that no standard one covers.
Does it stay up to date?
Yes. The page is a view over the data rather than a copy of it, so anything the agent learns afterwards shows up without a rebuild or a re-import.
More in Dev & automation

Stripe
Payments and invoices
Connected

Resend
Outbound email
Connected

Google Places
Address lookup
Key expired

Slack
Internal alerts
Not configured
API connectors
Connected live APIs.
Webhooks
Outgoing event hooks.
Datasets
Elastic uploaded data.

Stripe
Payments
Take payment in chat, reconcile invoices

Google Calendar
Scheduling
Two-way sync of bookings

Shopify
Commerce
Read products and stock

Xero
Accounting
Push invoices
Integrations
Third-party links.
Ask for it in a sentence
You do not configure this page. You tell your agent what you need and it builds it from what it has already collected.
Build your agent free