Skip to main content

Example: route alerts to Slack

This example shows how to route alert notifications to a Slack workspace using Notification Center.
The workflow uses a connector, a preset, and a router to send alerts to specific Slack channels based on alert priority.

Workflow overview

  1. :coralogix-actions-connect-medium: Create a Slack connector: defines where notifications are sent
  2. :coralogix-actions-edit-medium: Create a preset: defines how messages appear in Slack
  3. :coralogix-actions-filter-medium: Create a router and routing rules: defines which alerts go to Slack
  4. :coralogix-general-alerts-medium-stroke: Label alerts: ensures alerts match the correct router

Create a Slack connector

  1. Go to Integrations, then Notification Center, then Connectors.

  2. Select + New connector.

  3. Select Slack as the destination type.

  4. In Details, enter a connector name and optional description.

  5. In Configuration:

    • Integration: Select the Slack integration. Create one if none exists.
    • Channel: Enter a default Slack channel (for example, #infra-alerts).
  6. (Optional) Select Advanced, then Dynamic fields, define a dynamic channel.

    Example:

    {% if alert.highestPriority == "P1" %}
    critical-alerts
    {% else %}
    general-alerts
    {% endif %}
  7. Select Send test notification to confirm delivery.

  8. Select Create connector.

Create a preset (optional)

If you do not need message customization, use the system preset and skip this section.

To create a custom preset:

  1. Go to Integrations, then Notification Center, then Presets.

  2. Open the Alerts tab and select Slack.

  3. Select + New alert preset.

  4. Customize message fields:

    FieldExample
    Title[{{ alert.highestPriority }}] {{ alertDef.name }}
    Description{{ alertDef.description }}
    FooterTriggered at {{ alert.timestamp }}
  5. Use the Preview panel to review output.

  6. (Optional) Use Send test notification to validate with your Slack connector.

  7. Select Create preset.

Create a router and routing rule

  1. Go to Integrations, then Notification Center, then Routers.

  2. Select + New router.

  3. In Details, enter a name such as Production Alerts.

  4. In Routing labels, add labels that this router matches:

    group:sre
    environment:prod
  5. Matching alerts appear in the Matching entities panel.

  6. After creating the router, add a routing rule:

    • Condition

      alert.highestPriority == "P1"
    • Destination

      • Connector: Slack – Prod
      • Preset: Slack Critical Alerts
  7. (Optional) In Fallback, select a connector for unmatched alerts.

  8. Select Create router.

Add labels to alerts

  1. Go to Alerts, then Create alert.

  2. In Labels, add routing labels that match your router:

    routing.team:sre
    routing.environment:prod
  3. In Notifications, select Notification Center.

  4. Save the alert.

Example result

A triggered alert produces a Slack message similar to:

Title:
[P1] CPU Usage High – Production

Body:
CPU usage for host server-1 exceeded 95%.

Footer:
Triggered at 2025-11-11 10:04 UTC

Next steps

Route critical alerts to PagerDuty using connectors, presets, and routing rules in Route p1 alerts to PagerDuty.

Was this page helpful?