본문으로 건너뛰기
이 페이지는 아직 사용자의 언어로 번역되지 않았거나 번역이 기술 검토를 기다리고 있습니다. 아래에는 영어 원문이 표시됩니다. 영어 페이지 열기

Notification Channels

Available in: Free (Telegram) Solo Teams (all channels)

Control Zero can notify you when governance events occur: policy denials, audit anomalies, and security alerts. Configure one or more notification channels per project.

Available Channels​

ChannelAvailabilityDescription
TelegramFree, Solo, TeamsBot messages to a Telegram chat or group
SlackSolo, TeamsMessages to a Slack channel via webhook
EmailSolo, TeamsEmails to one or more addresses
DiscordSolo, TeamsMessages to a Discord channel via webhook
WebhookSolo, TeamsHTTP POST to any endpoint

Setup Instructions​

Telegram (All Plans)​

Telegram is available on all plans, including Free.

  1. In the Control Zero dashboard, navigate to your project and click Settings > Notifications.
  2. Click Add Channel > Telegram.
  3. Start a conversation with the @ControlZeroBot on Telegram.
  4. Send /start to the bot. It will reply with your chat ID.
  5. Paste the chat ID into the dashboard and click Save.

You can also add the bot to a Telegram group. Send /start@ControlZeroBot in the group to get the group chat ID.

Events delivered: Policy denials, security alerts, daily audit summaries.

Slack (Solo, Teams)​

  1. Navigate to Settings > Notifications > Add Channel > Slack.
  2. Click Create Webhook to be redirected to Slack's OAuth flow.
  3. Select the workspace and channel where notifications should appear.
  4. Authorize the integration. The webhook URL is saved automatically.

Alternatively, provide a Slack Incoming Webhook URL manually:

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Events delivered: Policy denials, security alerts, audit anomalies, daily summaries.

Email (Solo, Teams)​

  1. Navigate to Settings > Notifications > Add Channel > Email.
  2. Enter one or more email addresses (comma-separated).
  3. Click Save. A verification email is sent to each address.
  4. Click the verification link in each email to activate notifications.

Events delivered: Daily audit digest, security alerts, weekly governance reports.

Discord (Solo, Teams)​

  1. In your Discord server, go to Server Settings > Integrations > Webhooks.
  2. Click New Webhook. Name it (e.g., "Control Zero") and select the target channel.
  3. Copy the webhook URL.
  4. In the Control Zero dashboard, navigate to Settings > Notifications > Add Channel > Discord.
  5. Paste the webhook URL and click Save.

Events delivered: Policy denials, security alerts, audit anomalies.

Webhook (Solo, Teams)​

Send governance events to any HTTP endpoint.

  1. Navigate to Settings > Notifications > Add Channel > Webhook.
  2. Enter your endpoint URL (must be HTTPS).
  3. Optionally configure a signing secret for payload verification.
  4. Click Save.

Control Zero sends a POST request with a JSON payload:

{
"event": "policy.denied",
"project_id": "proj_abc123",
"timestamp": "2026-04-03T12:00:00Z",
"data": {
"agent_id": "agent-analyst",
"action": "database:execute",
"resource": "*",
"policy_id": "db-read-only",
"reason": "Matched deny rule for database:execute"
}
}

Payload verification: If you configured a signing secret, each request includes an X-CZ-Signature header containing an HMAC-SHA256 signature of the request body.

import hmac
import hashlib

def verify_webhook(body: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)

Event Types​

These are the high-risk security events Control Zero fires to your channels:

EventDescription
policy.deniedA burst of policy denials crossed the spike threshold
security.hook_tamperAn enforcement hook's integrity check failed on a host
security.credential_leakThe credential scanner detected a secret in agent I/O
usage.limit_reachedThe organization reached its monthly action quota

Human-in-the-loop approval lifecycle events are also delivered: hitl.approval.requested, hitl.approval.approved, hitl.approval.denied, and hitl.approval.expired.

Managing Notifications​

You can configure multiple channels per project. Each channel can be individually enabled, disabled, or deleted from the Settings > Alerts page.

To control which events reach a channel, use the Events selector on that channel's card -- pick specific event types to route only those, or leave it empty to receive every event. See Notification channels for the full event list and the per-organization policy-denial spike threshold.

  • Pricing: Channel availability by plan.
  • Policies: Define the rules that trigger notifications.
  • API Reference: Programmatic notification management.