@OpenHands in Slack to start
or continue OpenHands conversations.
This page is for self-hosted OpenHands Enterprise. If you use OpenHands Cloud,
see Slack Integration.
Prerequisites
- An OpenHands Enterprise installation reachable at
https://app.<your-base-domain>. - Public inbound HTTPS access to
https://app.<your-base-domain>/slack/*. Slack must be able to reach these routes to deliver events and interactive form submissions. - A trusted TLS certificate for
app.<your-base-domain>. - Slack workspace administrator access to create and install a Slack app.
- Access to the OpenHands Enterprise Admin Console, or Helm values for a standalone Kubernetes installation.
Create a Slack App
OpenHands Enterprise needs its own Slack app so Slack events are sent to your OpenHands domain.Option A: Create the App from a Manifest
In Slack, open https://api.slack.com/apps.- Click Create New App.
- Select From an app manifest.
- Choose the Slack workspace where users will invoke OpenHands.
- Paste the manifest below.
- Replace every instance of
<your-base-domain>with your OpenHands Enterprise base domain. For example, if users sign in athttps://app.openhands.example.com, useopenhands.example.com. - Create the app.
- Client ID
- Client Secret
- Signing Secret
Option B: Create the App with the Helper Script
The OpenHands-Cloud repository includes a helper script that creates the same Slack app through Slack’s manifest API. Use this option if you prefer to create the app from the command line. First, generate a Slack app configuration token:- Open https://api.slack.com/apps.
- In Your App Configuration Tokens, click Generate Token.
- Select your workspace.
- Copy the access token. It starts with
xoxe.xoxp-.
The helper currently uses
uv. If you do not want to install uv, use the
manifest option above.Configure OpenHands Enterprise
Pick the deployment type that matches your installation.- Replicated
- Standalone Helm
Open the Replicated Admin Console for your OpenHands Enterprise
installation.
- Go to the application configuration page.
- Open Enable Slack.
- Enable Slack Integration.
- Enter the Slack Client ID.
- Enter the Slack Client Secret.
- Enter the Slack Signing Secret.
- Save and deploy the updated configuration.
Secret named slack-auth, enables the
Slack integration routes, and restarts the OpenHands integrations service
with the Slack credentials.SLACK_CLIENT_ID, SLACK_CLIENT_SECRET,
SLACK_SIGNING_SECRET, and SLACK_WEBHOOKS_ENABLED=true.
Install the Slack App
After OpenHands Enterprise is configured and redeployed, install the Slack app into your workspace. Open this URL in a browser:If Slack could not verify the Event Subscriptions URL while you created the
app, return to the Slack app’s Event Subscriptions page and click
Retry after OpenHands is deployed.
Link Users
Each Slack user who wants to invoke OpenHands must link their Slack account to their OpenHands account once. Users can link from either place:- In OpenHands, go to Settings > Integrations and click Install OpenHands Slack App.
- In Slack, mention
@OpenHands. If the user is not linked yet, the bot replies with a sign-in link.
Add the Bot to Channels
Slack only delivers channel mentions to apps that are present in the channel. For each channel where users should invoke OpenHands, add the app using one of these Slack flows:- Type
/invite @OpenHandsin the channel. - Open the channel details, go to Integrations, and add the OpenHands app.
Test the Integration
Mention the bot in a channel where it has been added:How Slack Context Works
When a user mentions@OpenHands, OpenHands starts from the text in that Slack
message. It also includes nearby Slack message text as context:
- A top-level channel mention includes recent top-level channel messages.
- A thread mention includes recent replies from that thread.
- Attachments, images, files, reactions, and Slack canvases are not included.

