A channel is "Slack #ops". A route is "everything from prod, severity ≥ page, business hours UTC". Together they get the right person paged at the right time, without the “noisy-channel-bankruptcy” spiral.
Separating the destination from the rule is what lets prod criticals page and staging warnings sit in a digest.
Slack wants blocks, Discord wants embeds, Teams wants a MessageCard and PagerDuty wants its events API. A generic JSON body helps none of them.
Slack + email + webhook on every plan; mobile push + PagerDuty from Starter.