Uptime Monitoring for Agencies: How to Monitor All Your Clients
Managing 10 or 50 client sites with per-site monitoring, per-client status pages, and proactive alerts is exactly what PingBase Business was built for. Here's how agencies set it up.
The agency monitoring problem is different from the single-product monitoring problem. You're not watching one service — you're watching a portfolio. Each client has their own domain, their own stack, their own stakeholders who expect to be kept informed. And when something breaks, you want to know before the client calls you.
PingBase Business at $29/month gives agencies unlimited monitors, multiple status pages, team invites, and a REST API for programmatic setup. Here's how to structure it.
Step 1: Organize with monitor groups
With dozens of client sites, a flat list of monitors becomes unmanageable fast. Monitor groups let you organize by client, by service tier, or by team — whatever makes sense for your workflow.
The most common agency structure is one group per client:
Monitor groups
📁 Acme Corp
→ Homepage
→ Admin panel
→ SSL cert
📁 Globex Industries
→ Marketing site
→ E-commerce store
→ Checkout
→ SSL cert
📁 Initech
→ Website
→ Contact form endpoint
Each group shows an aggregate status — green if all monitors in the group are up, amber or red if any are degraded or down. Scanning your dashboard gives you a quick health check across your entire client portfolio.
Step 2: Create per-client status pages
Each client gets their own status page. When their site goes down, their customers have somewhere to check — and your team has a place to post incident updates without calling the client to ask what to say.
PingBase supports multiple status pages per account on Business. For each client:
- Create a new status page and name it after the client
- Add the monitors from that client's group to their status page
- Configure a custom domain:
status.clientdomain.comvia CNAME - Invite the client's project manager or IT contact as a team member with read-only access
The client can now see their own status page, check their monitors, and see incident history — without having access to your other clients' data or your account settings.
Step 3: Set up alert routing
Agencies typically want two kinds of alerts:
- Internal alerts — your team gets notified immediately when anything goes down. Slack or Discord for general channels, email or webhook into your ticketing system (Jira, Linear, Notion) for creating an incident ticket automatically.
- Client-specific alerts — some clients want to be notified directly. You can invite them as team members with alert access on their account.
The webhook alert channel is the most powerful for agencies. Configure it to POST to your project management or support system, and incidents auto-create tickets. Your team sees the ticket before the client notices the site is down — that's the proactive service clients pay retainers for.
# Example webhook payload PingBase sends
{
"event": "monitor.down",
"monitor": {
"id": "mon_abc123",
"name": "Acme Corp — Homepage",
"url": "https://acme.com",
"group": "Acme Corp"
},
"timestamp": "2026-04-06T14:32:00Z",
"response_time": null,
"status_code": null
}
Step 4: Bulk setup via API for new client onboarding
Creating 5–10 monitors per client manually for each new onboarding doesn't scale. PingBase's REST API lets you automate this. A simple script run at client onboarding creates all monitors, adds them to a group, creates their status page, and configures alert channels.
# Onboarding script skeleton (Node.js)
const client = {
name: 'Acme Corp',
urls: [
{ name: 'Homepage', url: 'https://acme.com', contentCheck: 'Acme' },
{ name: 'Admin', url: 'https://acme.com/admin', expectedStatus: 302 },
{ name: 'Checkout', url: 'https://acme.com/checkout', slowThreshold: 2000 },
]
};
// 1. Create monitor group
const group = await pb.groups.create({ name: client.name });
// 2. Create monitors
for (const m of client.urls) {
await pb.monitors.create({ ...m, groupId: group.id });
}
// 3. Create status page
const page = await pb.statusPages.create({
name: client.name,
slug: slugify(client.name),
monitorIds: group.monitorIds,
});
console.log(`Status page: https://pingba.se/status/${page.slug}`);
See the PingBase API docs for full endpoint reference. The CLI also supports bulk operations if you prefer shell scripts to Node.js.
Step 5: Team invites and access control
PingBase Business supports team member invites. For agencies this has two uses:
Internal team access. Invite all your account managers, developers, and support staff. Everyone who might need to post an incident update or check a monitor during an incident has access without sharing credentials.
Client stakeholder access. Invite key client contacts as read-only members. They can see their monitors, their status page, and incident history — without seeing any other client's data and without being able to change settings. This is the "self-service client reporting" that saves hours of monthly reporting calls.
What to monitor for each client
A baseline setup per client site:
| Monitor | Type | Notes |
|---|---|---|
| Homepage | HTTP GET | Content check for brand name |
| SSL certificate | SSL | Alert 30d + 7d before expiry |
| DNS (apex) | DNS A | Alert if IP changes unexpectedly |
| Contact/checkout | HTTP GET | Critical pages specific to client |
For e-commerce clients: add checkout and cart pages. For SaaS clients: add the app login page and API health. For simple marketing sites: homepage, SSL, and DNS is usually sufficient.
The value proposition to clients
Agencies that include uptime monitoring as part of a retainer or maintenance package have a concrete, measurable service to point to:
- "We monitor your site 24/7 and alert you before problems affect customers"
- "You have a public status page at status.yourclient.com"
- "We proactively address SSL certificate expiry before it causes browser warnings"
- "Monthly uptime report included" — pull from PingBase's uptime data
PingBase Business at $29/month covers unlimited client sites. For most agencies, that's less than the cost of one hour of developer time per month, for a service clients genuinely value.
Monitor all your clients with PingBase Business
Unlimited monitors, multiple status pages, team invites, API access. $29/month flat — no per-site fees.
Start free →