Slack Integration Guide 💬
Transform the agent into a visible collaborator by bridging it to your Slack workspace.
1. Webhook Setup (Step-by-Step)
Step 1: Access Slack API
- Open your browser and navigate to api.slack.com/apps
- Sign in with your Slack workspace credentials if prompted
Step 2: Create a New App
- Click the green "Create New App" button
- Select "From scratch" (not from a manifest)
- Fill in the form:
- App Name:
CommitVigil(or any name you prefer) - Pick a workspace: Select your Slack workspace from the dropdown
- Click "Create App"
Step 3: Enable Incoming Webhooks
- After creating the app, you'll land on the Basic Information page
- In the left sidebar under "Features", click "Incoming Webhooks"
- Toggle the switch ON at the top of the page
- You'll see a confirmation: "Incoming Webhooks are On"
Step 4: Add Webhook to Channel
- Scroll down to "Webhook URLs for Your Workspace"
- Click "Add New Webhook to Workspace"
- A popup will ask: "Where should CommitVigil post?"
- Select your target channel (e.g.,
#engineering,#accountability) - Click "Allow"
- Copy the generated webhook URL:
2. Configuration
Add the webhook URL to your .env file:
Restart the service to apply changes:
3. Test the Webhook
Verify connectivity with a simple curl command:
curl -X POST \
-H 'Content-Type: application/json' \
-d '{"text": "🛡️ CommitVigil is connected!"}' \
'YOUR_WEBHOOK_URL'
You should see ok in the terminal and the message in your Slack channel.
4. User @Mentions (Identity Mapping)
CommitVigil can ping users directly using their Slack Member ID.
How to Find a Slack Member ID
- Open Slack and go to the user's profile
- Click "More" (three dots)
- Select "Copy Member ID"
How to Map a User
Call the configuration endpoint:
curl -X POST \
-H 'X-API-Key: YOUR_API_KEY' \
'http://localhost:8000/api/v1/users/config/slack?user_id=john_dev&slack_id=U12345678'
The Result
When an alert is triggered, Slack turns the ID into a real mention:
🔔 CommitVigil Alert for @John: Checking in on commitment: fix the CSS bugs
[!TIP] You can create multiple webhooks for different channels (e.g.,
#urgent-alertsfor critical issues,#commitment-logfor routine tracking).