App Setup From Zero
Create a Slack app, install it to one workspace, and collect the credentials your Worker needs
Create The App From A Manifest
Start at api.
Note
Manifests have two schema versions. Version 1 is the default when version_metadata is omitted; version 2 is required for apps built on the Deno Slack SDK. This site's examples target version 1.
Enable The Bot User
A manifest can declare the bot user directly (features.bot_user); building from scratch instead, add one under App Home. The bot user is what gives the app a stable identity in the workspace -- it's who posts messages, and it's who the bot token (below) authenticates as.
Install To One Workspace
For an app that only ever needs to run in your own workspace, installation is a single click, not a redirect flow -- see Installing Without An OAuth Redirect for why. On the app's OAuth & Permissions page, click Install to Workspace, review the requested scopes, and approve. Slack issues the token immediately and displays it on that same page.
Collect Your Credentials
Two secrets come out of setup, and both are Worker secrets -- never client-side values. See Worker Backend: Secrets & Config for how to store them as Wrangler secrets.
| Credential | Format | Where to find it |
|---|---|---|
| Bot token | xoxb-... | OAuth & Permissions page, after installing |
| Signing secret | hex string | Basic Information page, under App Credentials |
Danger
Treat both as production secrets. Never commit them, never log them, and never send them to a browser -- request verification and every Slack API call happen inside the Worker.
If you also enabled Socket Mode, a third credential -- the app-level token (xapp-...) -- appears under Basic Information > App-Level Tokens once you generate one with the connections:write scope. This site's Worker-backend patterns use HTTP-based Events API delivery rather than Socket Mode, so most setups won't need it; see Tokens, Scopes & OAuth for the full token taxonomy.
App Settings That Matter Early
OAuth & Permissions > Scopes -- add every bot scope the app needs before installing; adding one later means reinstalling, which rotates the bot token (see Reinstalling After A Scope Change)
Event Subscriptions -- where you point Slack at the Worker's HTTP endpoint for the Events API; covered in the Events section, not here
App Home -- controls whether the bot user shows a Messages tab and can be DMed directly
Sources verified against: docs.