Skip to main content
Slack can be both a Roomote sign-in provider and a communications provider. You may use one Slack app for both jobs.

What you need

  • a Slack workspace where you can create and install apps
  • a stable public Roomote URL
  • access to Roomote setup or deployment environment variables
Use <public-url> below for the exact public URL printed by local development or configured for your self-hosted deployment.

Fast path

In /setup or Settings → Communications, paste a Slack app configuration token and Roomote creates the Slack app for you through Slack’s apps.manifest.create API:
  1. open api.slack.com/apps and click Generate Token under Your App Configuration Tokens (at the bottom of the page), picking the workspace where Roomote should live
  2. paste the access token into Roomote and click Create Slack app
Roomote creates the app with redirect URLs, webhook URLs, interactivity, scopes, and events preconfigured for the current public URL, then saves the Client ID, Client Secret, and Signing Secret automatically. The configuration token is used once to create the app and never stored. Finish the Slack install step so Roomote can receive events and post replies. If Slack is already configured, Settings → Communications shows the saved credentials and still offers Create a new Slack app with a configuration token when you need to replace them.

Update an existing Slack app

After connecting a workspace, use Settings → Communications → Slack → Update app to bring the existing app manifest up to date with the current Roomote configuration. Generate and paste a fresh app configuration token when prompted. Roomote exports the app’s current manifest, preserves custom fields, adds or updates Roomote’s required capabilities, scopes, events, redirect URLs, and callback URLs, validates the result, and then applies it. The token is not stored. If the update changes permissions, Roomote shows Reinstall in Slack. Finish that approval step before testing the new capabilities because Slack does not add scopes to existing installations automatically.

Alternative: env vars or an existing app

If you already have a Slack app, or production secret management should own the credentials, create the app in Slack (optionally from a prefilled manifest) and set these deployment env vars instead of using the config-token flow:
After the values are available to Roomote, finish the Slack install step so Roomote can receive events and post replies. SLACK_APP_ID is optional for manual preconfiguration. Roomote saves Slack’s app_id from the OAuth installation response after workspace install. During OAuth install, Roomote also records the installed bot display name when Slack exposes it, so setup and automation guidance can show the actual Slack app users should mention instead of assuming @Roomote.

Redirect URLs

Slack sign-in uses Slack OpenID Connect. Add the sign-in redirect URL:
If the same app handles the Slack communications integration, add the integration redirect URL too:
The current deployment configuration uses one Slack client credential pair for both sign-in and communications:

Bot scopes

Add these bot token scopes under OAuth & Permissions > Scopes > Bot Token Scopes:
After adding or changing scopes, reinstall the app from OAuth & Permissions > Install to Workspace. Slack does not apply new scopes to an existing installation until you reinstall.

Events and interactivity

Turn on Event Subscriptions and set Request URL to:
Subscribe to these bot events:
Turn on Interactivity & Shortcuts and use the same request URL:
Roomote uses this endpoint for button clicks and other interactive Slack payloads.

Agent messaging experience

Roomote-created apps enable Slack’s current Agent messaging experience (features.agent_view). This keeps conversations in the app’s Messages tab, opens Fast-mode responses in threads, and allows Slack to render native loading states and streamed task cards. Tasks delegated by Fast appear as native cards that stream coding progress and settle to their final result in the same thread. For an existing app, use Update app in Settings → Communications to apply these settings. You can also configure them manually by enabling the Agents feature, selecting the Agent messaging experience, adding the assistant:write scope and the app_home_opened and app_context_changed events, and then reinstalling the app. Hard-refresh Slack afterward. Keep message.im enabled so direct messages continue reaching Roomote.

Fast answers

Mention the app and use !fast <request> to ask the fast orchestrator a question or delegate work into a task. For example: @Roomote !fast summarize this thread or @Roomote !fast fix the failing CI job. When your deployment exposes Default messages to fast mode, enable it under Settings > Personal to send ordinary Slack and Discord messages through the fast orchestrator without an explicit command.

Local URL changes

Keep the public URL stable. When it changes, update the Slack app’s redirect URLs, Event Subscriptions request URL, and Interactivity request URL, then restart Roomote with the matching URL.

Verify setup

  1. sign in with Slack, if Slack sign-in is enabled
  2. install the Slack app to the workspace
  3. mention the app in a channel or send it a direct message
  4. confirm Roomote starts a task and replies with a task link
  5. reply in the same thread and confirm the message continues the same task