Send alerts to external systems

When monitors fire or resolve, alerts can be sent to subscribed users within Foundry as well as to services external to Foundry. Monitoring views currently support sending alerts to PagerDuty, Slack, and webhooks.

Note that all integrations are configured against a given severity level. Only alerts matching that severity will trigger integration. For example, a PagerDuty integration configured for the MEDIUM severity level will not be triggered when monitors fire at LOW or HIGH severities.

PagerDuty

This integration uses the PagerDuty V2 Events API ↗ and usually does not require a service user, emails, or custom allowlisting or egress configuration. A single integration maps all alerts of a given severity within a monitoring view to an Events V2 API integration defined within a PagerDuty service. Note that multiple integrations defined within a monitoring view can map to the same PagerDuty integration key.

Create an Events V2 API integration for your PagerDuty service

Configure a PagerDuty service with your desired escalation policy, urgency settings, and support hours. On the Integrations tab for the service, add a new integration. Select Events API V2 as the integration type and add the integration; Events API V2 can usually be found in the Most popular integrations section. Once the integration is added, selecting the gear symbol will show its details, including the Integration Key needed to create a new PagerDuty integration for your monitoring view.

Create a new PagerDuty integration for your monitoring view

Navigate to the Manage subscriptions tab for your monitoring view; in the Pagerduty Notifications section, select the plus sign (+) to create a new PagerDuty integration. You will need to specify a name for the integration, the integration key from when you created the Events V2 API integration, and the severity level. Repeat as needed for each desired severity level.

Enable PagerDuty for health checks

By default, the monitoring view will produce PagerDuty alerts for monitoring rule alerts and for legacy health checks belonging to the check group that was upgraded/linked to the monitoring view. However, monitoring views created prior to the v1.860.0 release (February 2024) will not produce PagerDuty alerts by default and need to be manually enabled. To enable this feature, select the Enable PagerDuty for health checks checkbox. Note that moderate severity health checks will use the MEDIUM severity integrations, and critical severity health checks will use the HIGH severity integrations.

Slack

This integration can trigger Slack messages in a set of configured channels.

Create a Slack source

This integration requires a Slack source to be created in Data Connection. This source requires a bearer token to be configured. This bearer token should have the following scopes:

  • channels:join: Foundry will have the app join the requested channels automatically.
  • channels:read: This is used to list the available channels.
  • chat:write: This is used to send messages to the configured channels.
  • (optional) groups:read: Required for sending messages to private channels.

An example way to generate such a token in Slack is:

  1. Create a new Slack App in your workspace.
  2. Go to OAuth & Permissions.
  3. Add the above scopes as Bot Token Scopes.
  4. Install the Slack App in your workspace.
  5. Copy the Bot User OAuth Token.

See Slack API documentation ↗ for more details.

Create a Slack integration for your monitoring view

Navigate to the Manage subscriptions tab for your monitoring view; in the Slack section, use the plus sign (+) to create a new Slack integration. Select a configured Slack source. The Slack Channels field will then populate a list of available channels to which you can send alerts.

To configure the integration with private channels, invite the Slack App to the private channel and ensure the groups:read scope has been granted.

Configure the severity level, and repeat as necessary for each additional desired severity level.

Webhooks

This integration can trigger Webhooks configured in Data Connection. Refer to the webhooks documentation for how to setup a webhook. To use a webhook integration, the webhook must have a string input parameter known as the Message parameter. This will be filled in with the contents of the notification. The contents are not currently customizable.

Create a new Webhook integration for your monitoring view

Navigate to the Manage subscriptions tab for your monitoring view; in the Webhooks section, use the plus sign (+) to create a new webhook integration. You will need to first select a webhook before selecting the Message parameter on that webhook and the severity level. Repeat as needed for each desired severity level.