Overview
Use the Slack integration after the shared GCP setup to ingest the Slack channels you care about. The current Slack integration covers both real-time channel ingestion and an initial historical backfill.Before you start
- Run the shared GCP setup first with
./cloud-providers/gcp/scripts/init.sh. - Install Terraform
>= 1.9,gcloud,jq,curl,openssl, andpython3. - Make sure you have access to the Slack workspace and channels you want to ingest.
- If you have more than one generated GCP install under
generated/gcp/, decide whichinstall-state.jsonyou want to use and pass it with--install-state PATH. - Use a GCP identity that can create Slack integration resources and deploy the Slack workloads.
Fill install.yaml
The Slack installer reads cloud-providers/gcp/scripts/integrations/slack/install.yaml by default.
Slack inherits the hosting mode, project ID, and other shared values from the base install-state.json. You do not set those again here.
Fill in these fields:
slack.channels: required. Use Slack channel IDs or#channel-namereferences.- In
self-hosting, leaveslack.app.*andslack.installation.*blank. The installer captures those values while it creates and installs the app. - In
cloud-hosting, fill in:slack.app.app_idslack.app.client_idslack.app.client_secretslack.app.signing_secretslack.installation.team_idslack.installation.team_nameslack.installation.bot_token
slack.app.state_secretis optional if you want to set it yourself.- The remaining
slack.*fields are optional naming overrides for Slack-specific resources.
Hosting modes
Self-hosting mode
Use basemode: self-hosting.
- The installer helps you create a customer-owned Slack app in your workspace.
- It then walks you through installing that app in the workspace you want to ingest.
- Leave
slack.app.*andslack.installation.*blank in the YAML and provide the selected channels inslack.channels.
Cloud-hosting mode
Use basemode: cloud-hosting.
- Install the Asymptote-managed Slack app in your workspace from the marketplace instead of creating your own app.
- After that install is complete, copy the app and installation details into
install.yaml. - Make sure the installed bot has access to every channel listed in
slack.channels.
Run the installer
Update `cloud-providers/gcp/scripts/integrations/slack/install.yaml`
Fill in the channels you want to ingest and any Slack-specific settings you need.
What happens at a high level
After the Slack setup completes successfully:- The selected channels are connected to the integration.
- The Slack app is created and installed in
self-hosting, or the Asymptote-managed app is used incloud-hosting. - Real-time Slack event ingestion is enabled for the selected channels.
- An initial historical backfill is triggered.
Add channels later
If Slack is already connected and you want to add more channels, update the existing Slack integration instead of rerunning the base GCP setup.Update `slack.channels`
Edit
cloud-providers/gcp/scripts/integrations/slack/install.yaml and keep the full set of channels you want connected. Add the new channels to slack.channels rather than replacing the existing list unless you want to remove channels from the integration.Confirm app access
Make sure the installed Slack app can access the same channels listed in
slack.channels.In self-hosting, confirm the customer-owned Slack app is installed in the workspace and has access to the added channels.In cloud-hosting, confirm the Asymptote-managed Slack app is installed in the workspace and has access to the added channels.Troubleshooting
- If the installer cannot find the base setup you want, pass
--install-state /path/to/install-state.json. - If you are using
cloud-hosting, make sure the app and installation fields match the workspace where the Asymptote-managed Slack app is installed. - Make sure the app has access to each channel listed in
slack.channels.

