Connecting multiple Spacelift accounts to the same Slack workspace
Last updated: October 16, 2025
Currently, a Slack workspace can only be connected to one Spacelift account at a time. If you try to connect a second Spacelift account to the same Slack workspace, you'll receive an error message stating "Slack workspace already in use by a Spacelift account."
Workaround: Using Slack Webhooks
While direct Slack integration is limited to one Spacelift account per workspace, you can use Slack webhooks as a workaround to send notifications from multiple Spacelift accounts to the same Slack workspace.
Step 1: Create an Incoming Webhook in Slack
Go to your Slack workspace and navigate to https://api.slack.com/apps
Click Create New App → From scratch
Give it a name (e.g.,
Spacelift Notifications) and select your workspaceUnder Features, select Incoming Webhooks
Toggle Activate Incoming Webhooks to On
Click Add New Webhook to Workspace and choose the channel where messages should post
Copy the Webhook URL (it will look like:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX)
Step 2: Add the Slack Webhook to Spacelift
In Spacelift, go to Integrations → Observability → Webhooks
Click Add Webhook and name it (e.g.,
slack-notifications)For URL, paste the Slack Incoming Webhook URL you copied
Save the webhook
This creates a named webhook endpoint that can be referenced from your webhook policy using its endpoint.id.
Step 3: Create a Notification Policy
In Spacelift, go to Policies
Create a new Notification Policy
Use a policy similar to this example:
package spacelift
webhook[{"endpoint_id": endpoint.id, "payload": payload}] {
endpoint := input.webhook_endpoints[_]
endpoint.id == "slack-notifications"
run := input.run_updated.run
stack := input.run_updated.stack
# only send when tracked runs finish
run.type == "TRACKED"
run.state == "FINISHED"
payload := {
"text": sprintf(
":rocket: *Spacelift run finished!*\n• *Stack:* %s\n• *State:* %s\n• *Branch:* %s\n• *Commit:* <%s|%s>\n• *Run URL:* <%s|View in Spacelift>",
[
stack.name,
run.state,
run.branch,
run.commit.url,
run.commit.message,
input.run_updated.urls.run
]
)
}
}This will send formatted notifications to your chosen Slack channel when runs finish.
You can repeat this process for each Spacelift account that needs to send notifications to the same Slack workspace, creating separate webhooks and policies for each account.