Alert channels

Alert channels are the destinations Flagon posts to when something needs attention. A channel is configured once at the organization level, then referenced by any number of checks. Configure the destination in one place; point many monitors at it.

Alert channels are distinct from personal notification channels. A personal channel pages a human through on-call. An alert channel posts to a place: a Slack channel, a webhook, or a shared mailbox.

Channel types

  • Slack (incoming webhook): paste a Slack incoming webhook URL. Flagon posts a formatted message to that channel. No app install or OAuth required.
  • Webhook: Flagon sends a JSON payload to a URL you control (POST by default), so you can route alerts anywhere.
  • Email: one or more addresses that receive the alert.

Adding a channel

Go to Settings, then Alert channels (owner or admin) and choose Add channel. For Slack and webhook you provide a URL; for email you provide addresses. Use Test to send a sample message and confirm delivery end to end.

Security

Slack and webhook URLs are bearer secrets: anyone holding one can post to your channel. Flagon encrypts them at rest and never returns them to a client. A channel shows only whether it is configured, along with its recent delivery health.

Reliability

Alerts are delivered asynchronously with retries and exponential backoff, so a slow or broken destination never blocks the check that fired. A channel that keeps failing is marked failing in the UI rather than retried forever, and its last error is shown so you can fix it.

Using a channel from a check

On a check's failure action, select the channels to notify. In the API, reference the channel by its key:

JSON
"action": {
  "mode": "notify",
  "channelKeys": ["ops-slack", "oncall-email"]
}

Over the API

Shell
# Create a Slack channel (URL stored encrypted)
curl -X POST https://api.flagon.io/v1/orgs/{org}/alert-channels \
  -H "Authorization: Bearer $FLAGON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "ops-slack",
    "name": "#ops",
    "type": "slack_webhook",
    "url": "https://hooks.slack.com/services/…",
    "channelLabel": "#ops"
  }'

# Send a test message
curl -X POST https://api.flagon.io/v1/orgs/{org}/alert-channels/ops-slack/test \
  -H "Authorization: Bearer $FLAGON_TOKEN"

See the full schema in the API reference.