Tenant Plans and the Sign-up Sweep
Three screens let whoever runs the installation see what self-serve customers are doing: Tenant Plans shows each tenant's subscription, Usage Limit Notices shows every usage warning sent, and API Calls per Day shows each tenant's API use. A daily task, the sign-up sweep, reminds and then removes apps that were built and never paid for. This article is for operators, not account owners.
Where to find it
Architect Panel → Subscriptions:
- Tenant Plans — one row per tenant; changes are audited, so it doubles as subscription history
Architect Panel → Activity:
- Usage Limit Notices — 80% and 100% warnings, who they went to and whether they were sent
- API Calls per Day — calls counted per tenant per UK day
Architect Panel → Automation:
- Tasks — Self-serve - Abandoned Sign-up Sweep, with its Preview, Task Log and Force Run row actions
Reading Tenant Plans
- Plan: starter, pro or enterprise. A code the platform does not recognise is treated as Starter, so a typo here quietly downgrades a customer.
- Status: Stripe's subscription status. For self-serve tenants only trialing, active, and past_due within any grace period give access.
- Self-serve: on for tenants created by sign-up. Bespoke tenants are off and are never locked by these rules.
- Sign-up state: building, built, failed, done or discarded, and purged once the sweep has removed it. Sign-up started is when the build began.
- Trial ends, Period starts, Period Ends, Cancels at period end, Past due since and Last synced: the dates behind the lock and the plan card.
- Trial used, Trial ended early because and Trial ended early on: the trial rules.
- Records (last count), Storage at last count (bytes) and Usage counted: the latest usage figures.
- AI credit per period (pence) and AI weekly cap (pence): per-tenant overrides of the plan's AI allowance.
- Reminder sent, Deleted and Sweep note: what the sweep has done.
Stripe identifiers and the billing owner's identity are kept on the row but hidden. Change plans through Stripe, not by editing the row; the next message from Stripe would overwrite a hand edit.
The abandoned sign-up sweep
The sweep only touches sign-ups that were never paid: no subscription, no trial used, and no paid history. Ages count from Sign-up started.
- Day 7: one reminder e-mail to the person who signed up, from the Self-serve: your app is waiting template, recorded in Reminder sent. Discarded sign-ups get no reminder.
- Day 30, and never sooner than 7 days after the reminder: the tenant and its own datastores and files are deleted. Any open Stripe Checkout is closed first; one that turns out to have been paid is applied instead. The Tenant Plans row and the audit trail are kept, with Sign-up state purged. The person's account is not touched.
- Anything that fails a safety check is held for a person rather than deleted, and noted in Sweep note and the Error Log.
At most 5 deletions and 50 reminders happen in one run. The day counts and these caps are set by your hosting administrator; deletion can never be set sooner than 14 days.
Switching the sweep on
- Open Tasks and find Self-serve - Abandoned Sign-up Sweep. It ships disabled and in preview mode, and runs daily once enabled.
- Use Preview. The summary lists how many reminders are due, how many tenants would be deleted, how many are waiting and how many are held for a person.
- Check the reminder template in E-mail Templates.
- Enable the task. While preview mode is still on, each run's Task Log entry begins "PREVIEW MODE - nothing was changed", so you can watch a few runs safely.
- Switch preview mode off to let it act.
Usage Limit Notices and API Calls per Day
Each row on Usage Limit Notices records when a warning was sent, which limit and threshold, the usage and limit at the time, the plan, who it went to and whether it was sent. Use it to answer "did we warn them?" before a customer hits a limit. API Calls per Day shows each tenant's count for each UK day and when its last call arrived, which explains a customer's report that their integration stopped working mid-afternoon.
What goes wrong
- Unpaid sign-ups are piling up. The sweep is still disabled or in preview mode.
- A tenant is "held for a person". Read Sweep note and the Error Log, then decide by hand.
- A customer was not warned. Check Usage Limit Notices; editors, datastores and API calls have no warning e-mail.
Worked example
An operator notices 40 tenants on Tenant Plans with Sign-up state built and Status incomplete, some months old. A Preview of the sweep shows 12 reminders due and 28 to delete. After checking the reminder template, the operator enables the task in preview mode for a week, reads the Task Log, then switches preview off. Within six runs the backlog is cleared, five at a time, with each removal recorded as purged.
Recommendations
- Read the Preview before enabling the sweep.
- Change plans in Stripe, not on Tenant Plans.
- Check Usage Limit Notices before answering a limit complaint.
- Look at held tenants promptly; the sweep will not decide them for you.