For WordPress agencies
When a client’s site breaks at 9pm, does the client call you — or do you call them? FlowAlert puts your whole portfolio behind one alert feed, pushed to the right person’s phone with the client’s name on the alert, acknowledged, and escalated if nobody responds.
1,000 free events/month · No card required · 500 sites per workspace
Sites
22 clientsAcme Bakery
acme-bakery.com
31 this week
Harbor Dental
harbordental.com
12 this week
Nordic Outfitters
nordicoutfitters.com
208 this week
Bloom Florists
bloomflorists.co.uk
44 this week
Summit Legal
summitlegal.com
6 this week
[Acme Bakery] Fatal error
Site entered recovery mode — checkout template
Acknowledged by Maya · 41s
Every client site reports into one workspace — named, health-checked, and filterable.
Sites register themselves the moment their first event arrives — rename acme-bakery.com to “Acme Bakery” once and every alert, filter and page speaks client. Heartbeat state, open alerts and activity roll up per site, so the one that needs you is the one on top.
Sites · portfolio
Acme Bakery
acme-bakery.com · heartbeat down
needs attention
Harbor Dental
harbordental.com
12 this week
Nordic Outfitters
nordicoutfitters.com
208 this week
Bloom Florists
bloomflorists.co.uk
44 this week
Summit Legal
summitlegal.com
6 this week
The moment a second site appears, pushes gain a client prefix — [Acme Bakery] Fatal error — on the primary page and on every escalation. Your team knows which client is on fire before the phone is unlocked.
[Acme Bakery] Fatal error
Site entered recovery mode — checkout template
[Harbor Dental] New booking
Root canal consult — Thu 14:30, Dr. Osei
Acknowledged by Maya · 41s
$0
What your 23rd client site adds to the bill. Pricing is per workspace, never per site.
500
Sites per workspace, on every plan — including Free.

One line per site — by hand, by config management, or across the whole fleet at once.
Every toggle is a plain WordPress option, so the whole setup scripts cleanly. Define the key in wp-config.php, loop it with WP-CLI, or bulk-install from MainWP — each install registers itself, under its own name, with no per-site wizard.
$99/mo
The Agency plan, flat per workspace: 50 client sites with uptime checks, your whole team, one bill.
1
Line of wp-config.php per site. A defined constant always wins — settings screens show it as managed by code.
Watched from both directions — your sites check in, and FlowAlert knocks from the outside.
Each site checks in every 10 minutes; when the check-ins stop — host outage, fatal crash, suspended account — the silence pages whoever is on call. And before it does, FlowAlert knocks on the site from the outside, so a brochure site's quiet night never wakes anyone at 3am. Flip on uptime checks and the knocking runs around the clock: no plugin, no traffic needed, three failed visits and the on-call is paged. Tick one box and the plugin wires the check-in itself; non-WordPress sites work too.
Enable heartbeat
wp-adminAcme Bakery
Upchecks in every 30 min · tuned for WP-Cron
[Acme Bakery] Heartbeat missed
No check-in within the expected window.
Every Monday, 9:00 — a test alert through your real routing rules that must be acknowledged on a phone.
You don’t hope the pager works. You test it, weekly.
90
Days of public, self-reported uptime history on our status page — gaps count against us, not for us.
The right person per client — and a backup, automatically, when they don't answer.
Every event carries its site, so rules can match on it: Acme's alerts to Acme's account manager, all fatal errors to the on-call dev, everything urgent to you. Urgent alerts demand acknowledgement on the phone — and if nobody acknowledges in time, the next person in the chain is paged automatically.
Routing rule · Acme escalations
When
Notify
Maya · account manager
ack requiredIf unacknowledged in 5 min
Jonas · on-call dev
escalation50
Teammates on Agency, with no per-seat pricing. The account manager, the on-call dev and you can all carry the pager.


Recipes, maintained
The fleet playbook lives in the docs and moves with the product: wp-config constants, WP-CLI loops, MainWP bulk installs, and the heartbeat that provisions itself.

Test it before you trust it
A weekly drill through your real routing rules, acknowledged on a real phone, and a public status page with 90 days of self-reported history.

A human answers
Running more than ten heartbeat monitors, or a fleet with unusual needs? Email us — you'll get an answer from the people who built it.
Fatal error, caught first
A plugin update takes down a client's checkout. WordPress enters recovery mode, FlowAlert pages your on-call dev as URGENT with the client's name — acknowledged before the client notices.
The silent dead site
A host suspends a client's account at 2am. The check-in goes quiet, FlowAlert confirms the site is unreachable from the outside, and the silence pages whoever is on call.
Care plans with proof
Every alert logs who was paged, when it was acknowledged, how it escalated. When a client asks what they pay for, the answer is a record.
Per-client routing
Acme's alerts go to Acme's account manager; fatal errors to the on-call dev; everything urgent to you. Rules match on site, event and severity.
Store emergencies first
A failed-payment surge on a WooCommerce client outranks a form submission on a brochure site. Priorities make the 3am page worth waking for.
The whole fleet in an afternoon
wp-config constant, WP-CLI loop, or MainWP bulk install — 22 sites onboarded before the coffee goes cold.
Per workspace, not per site. All your client sites report into one workspace: Pro is a flat $29/month for a single business, and the Agency plan is $99/month (or $849/year) sized for fleets — 50 client sites with uptime checks, 100 heartbeat monitors, 250,000 events and 50 team members. Adding your next client site adds nothing to the bill.
An afternoon, mostly waiting for coffee. Add define('FLOWALERT_API_KEY', …) to each site's wp-config.php (or push it with MainWP's code snippets), or run a short WP-CLI loop — the docs include a copy-paste recipe. Each site registers itself in your dashboard when its first event arrives.
No. FlowAlert is your team's pager, not something clients log into. Alerts go to your staff's phones; the portfolio dashboard is yours. What you pass on to clients — response times, incident history from the alert log — is your call and your branding.
Yes. Every event carries its site, so routing rules can match on it: Acme's alerts to Acme's account manager, all fatal errors to the on-call dev, everything urgent to you. Escalation chains catch whatever nobody acknowledges.
Tick "Enable heartbeat" in the plugin (or set the option via WP-CLI) and the plugin creates that site's monitor in FlowAlert automatically — tuned for WP-Cron so quiet sites don't false-alarm. The Agency plan includes 100 heartbeat monitors and uptime checks on 50 sites — enough for the whole fleet; need more, email hello@flowalert.io and we'll sort you out.
The REST API works from anything that can make an HTTP request, and heartbeat monitors accept a plain GET from any cron job or scheduler. WordPress gets the one-click plugin; everything else gets one POST.
Turn on the weekly test alert: every Monday morning FlowAlert sends a drill through your real routing rules that must be acknowledged on a phone. You're not trusting the pager — you're testing it, weekly, and there's a public status page at flowalert.io/status.
A workspace holds up to 500 sites on every plan, including Free — the limit that matters is monthly event volume, and the Agency plan's 250,000 events a month is comfortable headroom for a typical agency portfolio.
One client site in five minutes. The whole fleet with one constant. The next fatal error pages your team — not your client.