Notifications

The "notifications" object contains named configuration objects, in which there are rules which decide who will get notified about which insights.

There are currently 5 ways to receive notifications, which are easily configured using at least one of the following fields:

  1. "emails" - for receiving emails
  2. "slack_webhooks" - for receiving Slack notifications
  3. "teams_webhooks" - for receiving Microsoft Teams notifications
  4. "google_chat" - for receiving Google Chat notifications
  5. "pagerduty_emails" - for receiving Pagerduty notifications
  6. "webhook" - for receiving notification via any generic webhook

In case no additional fields are provided (i.e., "0 rules configuration"), then every detected insight will be sent to relevant emails/webhooks.

If additional fields are provided, then the rules in each one of them should be upheld in order for the notification to be sent to the emails provided. There are a few types of rules that are supported. Each rule type can be included only once in the config object.

The following rule types are supported:

  1. "stanza_names" - Every insight with a stanza name that is equal to one of the stanza names in the rule will be included.

  2. "verse_name" - This rule will cause Mona to alert you only on insights in a specific verse, defined by the verse name. If no name was added as a param to a verse, the verse has a default {stanza-name_verse-type} name.

  3. "verse_types" - Every insight with a verse type that is equal to a verse type that appears in the rule will be included.

  4. "min_segment_size" - The insight will be included if the segment size for the main signal of the insight is greater or equal to the one provided in the rule if the value of the rule is greater than or equal to 1. For rule values greater or equal to 0 and smaller than 1, the rule will apply to the value of the segment’s size as a fraction of the baseline segment.

  5. "min_score" - The insights will be included if the combined score of the insight is greater or equal to the one provided in the rule.

  6. "min_anomaly_level" - the insights will be included if the anomaly level will be greater or equal to the one provided here.

  7. "contains" - This rule will include every insight that contains any one of the strings from the rule in any of the insights’ data fields. This rule is case-insensitive. This is helpful, for example, to direct insights about different customers to different team members in charge of these customers.

  8. "included segment" - This rule will include every insight for the specific segments stated.

  9. "trend_direction" - this rule allows you to choose if you wish to get alerted on insights of only a descending or ascending trend.

  10. "urgent_only" - this rule will cause Mona to send only notifications about urgent insights. See more on Insights Urgency Classes here

For example:

"notifications": {
    "my_notification_config ": {
        "emails": [
            "[email protected]"
        ],
        "stanza_names": [
            "hello",
            "world"
        ],
        "contains": [
            "boomerang"
        ]
    }
}

This configuration will send an email to “[email protected]” only for insights with a stanza name of either “hello” or “world”. The insight also must have the word “boomerang” in one of its data fields.