Skip to main content

Slack

Tasks

Route policy denial alerts, budget warnings, and human-in-the-loop approval requests to Slack channels. Approvers can act on HITL requests directly from Slack.

Prerequisites

  • A Slack workspace where you have permission to add an app or create an incoming webhook
  • AIControls admin access

Configure the integration

  1. In Slack, go to api.slack.com/apps, create a new app, and enable Incoming Webhooks. Copy the webhook URL for the target channel.
  2. In AIControls, go to Settings → Integrations → Slack and click Add integration.
  3. Paste the webhook URL and give the integration a name (e.g. #security-alerts).
  4. Select which event types should be delivered to this channel.
  5. Click Save. AIControls sends a test message immediately — confirm it appears in the channel.
note

You can configure multiple Slack integrations pointing to different channels — for example, routing budget alerts to #finops and policy denials to #security.

Which events fire

EventDefault channel behaviour
Policy denialSent to all configured Slack integrations with the tool_denied event enabled
Budget alert (80%)Sent when org or team spend crosses the alert threshold
Budget exceededSent when the cap is hit and requests start being blocked
HITL pendingSent to the approver channel with Approve / Deny action buttons

Event routing is configurable per integration in Settings → Notifications → Routing.

HITL approvals in Slack

When a HITL approval request fires, AIControls posts an interactive message with Approve and Deny buttons. Clicking either responds immediately — no browser login required. The outcome is recorded in the Audit Log with the approver's Slack identity.

note

HITL interactive buttons require the Slack app to have Interactivity enabled and a valid Request URL pointing to your AIControls workspace. See Settings → Integrations → Slack → Advanced for the URL to paste into your Slack app config.

Troubleshooting

Test message not appearing

Confirm the incoming webhook URL is for the correct workspace and channel. Slack disables webhooks for deleted channels — create a new webhook if the channel was removed and recreated.

HITL buttons not working

Verify the Interactivity Request URL in your Slack app config matches https://YOUR_ORG.aicontrols.dev/api/v1/integrations/slack/actions. The endpoint must be reachable from Slack's servers.