Before you start
APP_ORIGINandAPI_HOSTare set to the URLs people use to reach your instance. GrowthBook builds the manifest from them. See Domains and Ports.- You can create apps in your Slack workspace.
- For the AI assistant, Slack must be able to reach
API_HOSTover HTTPS from the public internet, and you need an Enterprise license. Notifications don’t need either, because GrowthBook only sends messages to Slack.
1. Copy the manifest from GrowthBook
- In GrowthBook, go to Settings → Slack.
- Under Finish Self-Hosted Slack Setup, click Set up Slack app.
- Copy the manifest shown in the dialog. It already contains your instance’s URLs.
2. Create the Slack app
- Open Slack’s Your Apps page and click Create New App.
- Choose From a manifest and pick your workspace.
- Paste the manifest and create the app.
3. Add the credentials to GrowthBook
- In your new Slack app, go to Basic Information → App Credentials.
-
Copy the three values into these environment variables on your GrowthBook API server:
With Docker Compose, for example:
- Restart GrowthBook and reload the Slack integration page.
SLACK_CLIENT_ID and SLACK_CLIENT_SECRET are required to connect a workspace and send notifications. SLACK_SIGNING_SECRET lets GrowthBook verify requests that Slack sends to it, which the AI assistant and its Confirm buttons need.
4. Verify the events URL
If you plan to use the AI assistant, open your Slack app’s Event Subscriptions page and make sure Slack shows the request URL as verified. If it doesn’t, Slack can’t reach your API server. Check thatAPI_HOST is public and served over HTTPS.
5. Connect your workspace
Click Connect to Slack and follow the steps in Connect your Slack workspace.Updating an existing Slack app
If you created your Slack app by hand or from an older manifest, update it in Slack to match the settings below. You can change them on each settings page, or edit them all at once on your app’s App Manifest page. The Set up Slack app button only appears whileSLACK_CLIENT_ID and SLACK_CLIENT_SECRET are unset, so it isn’t available once your instance is configured.
-
OAuth redirect URL:
https://YOUR_APP_ORIGIN/integrations/slack -
Event Subscriptions request URL:
https://YOUR_API_HOST/integrations/slack/events -
Interactivity request URL:
https://YOUR_API_HOST/integrations/slack/interactions -
Messages tab: turned on, with users allowed to send messages (
app_home.messages_tab_enabled: trueandmessages_tab_read_only_enabled: falsein the manifest). This is where the assistant’s starter prompts appear. -
Agent view:
features.agent_viewwith anagent_description, such asAsk questions about experiments and Feature Flags in GrowthBook.Set this on the App Manifest page. -
Bot events:
app_mention,message.im,app_home_opened,link_shared. If the app still has the oldassistant_thread_startedevent, remove it. -
Bot scopes:
channels:history, groups:history, or mpim:history, so don’t add them.
After you add scopes, open Settings → Slack in GrowthBook and choose Manage workspace → Reconnect so Slack grants the new permissions. A Reconnect needed badge means scopes are still missing.
