Slack Integration
Receive approval notifications in Slack.
Overview
When an AI agent action requires human approval, Aira can post a notification to your Slack channel with action details and a link to review it in the dashboard.
Beta feature. Enable it in Dashboard → Configuration → Feature Flags → slack_integration.
Cloud Setup
- Go to Dashboard → Integrations → Slack
- Click Connect to Slack
- Authorize the Aira app in your Slack workspace
- Choose a channel for approval notifications
- In Slack, go to the channel and type
/invite @Aira— the bot must be in the channel to post messages - Back in the dashboard, click Send test notification to verify
The Aira bot must be invited to the channel before it can post. If the test notification fails with "not in channel", type /invite @Aira in the Slack channel.
Self-Hosted Setup
Self-hosted customers need to create their own Slack app because the OAuth callback URL must match your domain.
Step 1: Create a Slack App
Go to api.slack.com/apps → Create New App → From a manifest.
Paste this manifest, replacing YOUR_DOMAIN with your Aira domain:
display_information:
name: Aira
description: AI governance approval notifications
features:
bot_user:
display_name: Aira
always_online: true
oauth_config:
redirect_urls:
- https://YOUR_DOMAIN/api/v1/integrations/slack/callback
scopes:
bot:
- chat:write
- incoming-webhook
settings:
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: falseStep 2: Configure Environment Variables
From your Slack app's Basic Information page, copy the three credentials and add them to your .env:
# Add to /opt/aira/.env
SLACK_CLIENT_ID=your_client_id
SLACK_CLIENT_SECRET=your_client_secret
SLACK_SIGNING_SECRET=your_signing_secretStep 3: Enable the Feature Flag
echo "ENABLE_SLACK_INTEGRATION=true" >> /opt/aira/.envStep 4: Restart (zero downtime)
cd /opt/aira
docker rollout api # zero-downtime API restart
docker compose restart worker # worker is non-HTTP, safe to restartStep 5: Connect in Dashboard
Go to Dashboard → Integrations → Slack → Connect to Slack. Follow the OAuth flow to authorize and select a channel.
Step 6: Invite the Bot
In Slack, go to the channel you selected and type:
/invite @AiraThen click Send test notification in the dashboard to verify.
How It Works
When an action requires approval:
- Aira posts a notification to your configured Slack channel
- The message includes action type, agent, details, and a Review in dashboard link
- The approver clicks the link to review and approve or deny in the Aira dashboard
- A cryptographic receipt is generated as usual
Notification Channels
You can configure which channels receive approval notifications:
- Email — enabled by default
- Slack — available after connecting
- Teams — available after connecting (see Teams Integration)
Configure at Dashboard → Decisions → Approval Channels. You can use any combination.
All channels are notification-only. Approval and denial always happen in the Aira dashboard — this ensures a single, auditable approval surface.
Disconnecting
Go to Dashboard → Configuration → Slack → Disconnect. Approval notifications will stop going to Slack immediately. Email notifications continue if configured.
Troubleshooting
"Connect to Slack" button doesn't work:
- Verify
SLACK_CLIENT_IDis set (self-hosted) - Check that the
slack_integrationfeature flag is enabled
Messages not appearing in Slack:
- Verify the bot was added to the channel
- Click Send test notification to check connectivity
- Check API logs:
docker compose logs api | grep slack