One signup, one account going quiet, one question about MRR.
The four moments from the software-product use case, walked through the actual product — the proposal frame, the record detail, the briefing, a chat answer. Nothing here is a mock-up of a screen Frontless does not have.
A new user signs up. The signup pings Frontless, which kicks off the activation track and watches what happens next — every milestone hit, every day idle.
Feed every completed signup into Accounts and start an Activation for each one.
One-way. Frontless reads what your handler posts and never writes back to your app. The mapping below is saved and applied to every future signup.
Kestrel signup webhook → Account 6 fields mapped · on every signup
🔌Kestrel signup webhook→Accountone-way
companyAccount · name
98%
work_emailUser · email
99%
full_nameUser · full name
99%
planSubscription · plan
95%
trial_ends_atSubscription · ends on
97%
utm_sourceAccount · source
86%
Connecting Kestrel signup webhook lets you watch Winning new business, Keeping clients close. The mapping is saved and applied to every future sync.
What this touches
Creates1 Account + 1 User per signup· matched to an existing Account when the domain already exists
Starts1 Activation per new Account· six steps, from your own onboarding checklist
ReadsOnly what your handler posts· no crawl, no back-fill of your database
Does not touchYour app — the connection is one-way
Leaves for youutm_source — 86%· your payload sends it blank on 1 signup in 7
I am mapping utm_source onto the Account rather than the User because you asked "where did this account come from", and a company can sign up twice from two campaigns. If you want it per user instead, correct it after approving — the mapping is editable and only applies forward.
Proposed · nothing changed yet
↺ reversible · logged to audit
on Connect the signup hook›ask a question, run a command, or pin a daily watch…↵ run ⌘K open
This is the shared proposal frame — the same frame every guarded write in Frontless renders through. The action bar, the blast radius and the reversibility note are owned by the frame, so no proposal can quietly drop them.
Fixed data, real surfaces. The proposal, answer and confirmation frames are the
product’s own components; the briefing, grid and record detail are read-only twins of
theirs, built from the same markup. space plays and pauses, ←→ step.
Four moments, one spine.
The signup, the four churn signals, the feature requests and the MRR question all landed on the same records. That is why one card could hold four tools’ worth of signal, why the request rollup knew each account’s revenue, and why the MRR answer could say which cancellation it could not explain.
Nothing was written without you approving it first.
Every value carries where it came from — a webhook, a sync, a rule, or your own hand.
Where the record does not connect, Frontless names the gap instead of filling it.