When using dynamic routing, you need to define the routing table with the dimensions and tags which are used to direct the alert to specific channels or users. These routing tables are CSV based files which contain three columns:
- The dimension or tag value by which the routing is done.
- The email or channel name to which the alert will be sent.
- The channel type (see the list below)
Dimension or tag value |
Channel name |
Channel type |
USA | Anodot_alerts; USA_alerts | Slack |
Canada | NoC | |
UK | John | TamTam |
UK | john@anodot.com | Email address |
Note the following when defining your routing table:
- The dynamic routing table must be in CSV format, and consist of three columns with a maximum of 10,000 rows.
- The Anodot API can also be used to upload and edit dynamic routing tables.
- Header line is mandatory (as opposed to previous versions of dynamic routing tables).
- Existing data from legacy routing table files without headers that are already uploaded to the system will support email only; this data will be automatically converted by Anodot to the new format
- The channel has to exist before uploading the file. If you attempt to upload a file referring to a channel name which hasn't been created yet - the upload will fail. Possible channel types can be viewed below and in Anodot's API documentation.
- The channel name is case-sensitive and should be identically matched to avoid upload failures.
- The channel type for direct emails is ‘Email address’. Note the difference between email and email address. email is an email channel (as defined in the Channels management page) and email address is a specific email address. You may use several emails separated by a semi-colon (;).
- To ensure you can still route the alert to someone even if the dimension value in the metric is not found, you can define a NOT_FOUND value in the dynamic routing table. As a result, when a dimension value is not found in the routing table file AND the NOT_FOUND entry exists, the alert is sent to the recipient in the {NOT_FOUND} line, as shown below.
Dimension or tag value
Channel name
Channel type
{NOT_FOUND} someone@anodot.com email address
Channel types
Use the exact string in the type column according to your needs.
Type | Description |
Send alerts to an email distribution list | |
Email address | Send to a specific email address specified in the file |
webhook | Send the alert as a JSON object to a webhook server |
slackapp | Use Anodot's Slack app to handle the alerts (new) |
slack | Post the alert as a Slack message (Legacy) |
pagerduty | Create an event in a PagerDuty service |
jira | Open the alert as ticket in a JIRA project |
opsgenie | Create an OpsGenie alert |
msteams | Post the alert as an MS Teams message |
tamtam | Send the alert as a TamTam message |
mattermost | Create a Mattermost message |
sns | Send alerts as AWS SNS messages |
telegram | Send alerts as Telegram messages |
servicenow | Send alerts to ServiceNow |
salesforce | Create a Salesforce case from an alert |
Attached to this article are sample CSV files where the dimension is country and according to the country, the alert is routed to a channel. The first one (multiple channels.csv) uses multiple channels types and the second uses (histbycountrymultiple.csv) multiple mails per dimension value.