Prerequisites
Before setting up the Slack integration, ensure you have:- A self-hosted Chartbrew instance running
- Your Chartbrew API and client URLs accessible from the internet (Slack needs to reach your endpoints)
- Admin access to your Slack workspace
Step 1: Create a Slack App
- Go to api.slack.com/apps and sign in with your Slack workspace
- Click “Create New App”
- Select “From manifest”
- Choose your workspace
- Copy the manifest JSON from the Chartbrew repository and paste it into the editor
https://github.com/chartbrew/chartbrew/blob/master/server/apps/slack/manifest.json
Step 2: Update the Manifest URLs
Replace the placeholder URLs in the manifest with your own Chartbrew URLs:Required URL Replacements
In the manifest, replace these placeholders:https://api.your-chartbrew-url.com→ Your Chartbrew API URL (e.g.,https://api.chartbrew.example.com)https://client.your-chartbrew-url.com→ Your Chartbrew client URL (e.g.,https://chartbrew.example.com)
Manifest Sections to Update
1. Slash Command URL:Step 3: Get Your Slack App Credentials
After creating the app, you’ll need to collect three values:-
Client ID (
VITE_APP_SLACK_CLIENT_ID)- Go to “Basic Information” → “App Credentials”
- Copy the “Client ID”
-
Client Secret (
CB_SLACK_CLIENT_SECRET)- In the same section, click “Show” next to “Client Secret”
- Copy the “Client Secret”
-
Signing Secret (
CB_SLACK_SIGNING_SECRET)- Go to “Basic Information” → “App Credentials”
- Copy the “Signing Secret”
Step 4: Configure Environment Variables
Add the following environment variables to your Chartbrew.env file:
VITE_APP_SLACK_CLIENT_IDis used by both the server and client appsCB_SLACK_CLIENT_SECRETandCB_SLACK_SIGNING_SECRETare only used by the server app- After adding these variables, you’ll need to restart your Chartbrew server and rebuild your client for the changes to take effect
Step 5: Install the App to Your Workspace
- In your Slack app settings, go to “Install App” (or “OAuth & Permissions”)
- Click “Install to Workspace”
- Review the permissions and click “Allow”
- You’ll be redirected back to your Chartbrew instance
Step 6: Verify the Integration
- In Slack, open any channel or direct message
- Type
/chartbrew helpto see available commands - You should see a response from the Chartbrew bot
Available Commands
/chartbrew help- Show available commands/chartbrew connect- Connect your Chartbrew account to Slack/chartbrew status- Check connection status/chartbrew disconnect- Disconnect your Chartbrew account from Slack
Troubleshooting
Slack Can’t Reach Your Endpoints
If Slack can’t reach your Chartbrew endpoints, ensure:- Your Chartbrew API and client URLs are publicly accessible
- Your firewall allows incoming connections from Slack’s IP ranges
- Your reverse proxy (if using one) is configured correctly
- SSL certificates are valid and trusted
Event Subscriptions Not Working
If events aren’t being received:- Check that the “Request URL” in Event Subscriptions matches your API URL exactly
- Verify that
/apps/slack/eventsendpoint is accessible - Check your server logs for any errors
- In Slack app settings, check the “Event Subscriptions” section for any error messages
OAuth Callback Issues
If the OAuth callback fails:- Verify the redirect URL in your Slack app matches:
https://your-client-url.com/integrations/auth/slack/callback - Ensure the URL uses HTTPS (required by Slack)
- Check that your client app is running and accessible
- Review server logs for OAuth-related errors