Per-severity routing
When a rule is set with channel_routes, the dispatcher picks channels by severity:
{
"critical": ["pagerduty-prod", "slack-incidents"],
"warning": ["slack-monitoring"],
"info": [],
"default": ["slack-monitoring"]
}Fallback chain
routes[severity]if setroutes["default"]if the previous is empty- Legacy
channel_idsifchannel_routesis absent
Intentional silence
An empty array "info": [] is an explicit "don't notify on info". Don't confuse it with a missing key (then default kicks in).