Creating a Notification in Monte Carlo

This tutorial will teach you how to set up a notification in Monte Carlo to get quick, instant alerts about anomalies detected on your data in the tool of your choosing.


Last Updated: April 25, 2022


Hello, and welcome to today's episode of Monte Carlo University! What we'll be going through today is how to set up a notification. To start, we support notifications to:

  • Slack
  • Email
  • PagerDuty
  • Webhooks
  • Mattermost
  • Opsgenie
  • MS Teams
  • Alation

When setting this up, the first thing to note here is you have the option to choose to filter for specific incidents or include all incident types within this notification. If I choose to select specific incidents, I have a number of different options ranging from schema changes up to volume human anomalies. You can pick and choose different groupings of incident types depending on the notification:


Incident Types

You also have the ability to either include all affected data or filter for domains that you may have set up, which you can access here in the top, or alternatively, filter this specific notification by table, by project or dataset, as well as by tags. There's some nuance here in the ability to include these projects, datasets, and tables, and it is worth noting that these are combined using an OR statement so we will check, and if it matches any of the filters that you've included, we will include it in the notification. We also have the ability here to explicitly exclude specific projects, datasets, tables, and tags if you would prefer to do that. What's worth noting here is when setting up tags, if you set these tags up within the catalog, that is what we're referring to here with this tag section:


Domain Filtering


Include/Exclude Logic

Once you've set up which tables or datasets that you want to include within the notification, you then have the ability also to alternatively filter based on the table importance. Table importance is the important score that we are assigning to your tables based on the number of downstream nodes, the number of active users, querying that data, as well as the updates to the table. We will assign a score between zero and one, and you're able to actually filter this data based on that score if you would prefer to set things up that way:


Table Importance Filtering

You also then have the ability to include a custom message. For slack in this example, if you include a member ID, you can actually ping that specific user with this message so that they're aware that this could apply to them. You also then have the ability we're explicitly looking at slack here to choose a specific slack channel. It is worth noting that we do not support within the UI setting this up for private channels, although via API, we can do that using the actual channel ID of the private channel:


Custom Messages and Slack Tagging

The last thing worth noting here is that we also have the ability to actually change the delivery cadence. Currently it's set up to real time, and this is going to apply to all different incident types. As they occur, we will send that message as you've determined here. Alternatively, we do have the ability to set up a daily digest, but it is worth noting for daily digest, currently this will only work for schema changes. In many cases, schema changes can be seen as more noisy than anything, and so we have the ability to actually separate this out from normal messaging and send this on a regular daily occurrence:


Alert Cadences

I hope this was helpful and please feel free to reach out to [email protected] or the chat bot in the lower right hand corner if you have any more questions!

What’s Next