One site is easy: check it, alert yourself. Fifty sites with different hosting, different clients and a small team is a different problem. The monitoring part barely changes. The alerting part is everything.
Route by site, not by person
A hosting client and a retainer client should not produce the same alert. Per-site alert settings let the e-commerce client's checkout page SMS the on-call phone, while the brochure site of a dormant client only e-mails the shared inbox. One default for all sites, exceptions where they earn it.
Escalate, but only if nobody reacts
The second half of the rule: if nobody presses On it within 15 minutes, alert the next person – and remind every 30 minutes until someone does. Staged alerts mean the first responder gets a chance before the whole team is woken, and the team is woken before the client calls.
Silence on purpose
Maintenance windows per site or for all of them – Tuesday 02:00–03:00 for the weekly deploy – keep the history complete and the phones quiet. Quiet hours are personal: the developer who is not on call tonight does not get paged, the shared Slack channel still does.
Answer "why didn't we get an alert?" in ten seconds
Every alert sent, and every alert deliberately not sent, is a row in the history with the reason: maintenance, quiet hours, channel failed. When a client asks, you do not guess.
Agency plans are exactly this – Pro monitoring for 10, 25, 50 or 100 sites – with a single view across all of them, and assignment and client-facing features to follow.