Slack
Communication Installation + User OAuth

Slack

Install Slack bots and authorize users with granular bot and user scopes.

Auth Model

Installation + User OAuth

Dual-credential model. An App is first installed into an organization or workspace (yielding an installation credential), then individual users authorize within that installation context (yielding user credentials). Authpipe manages both lifecycles.

Connection Flow

1
Admin installs App
2
Installation credential stored
3
Users authorize
4
User credentials stored
@authpipe/node
// Get the bot/app token (installation-level)
const { credential: botToken } = await authpipe.getCredential({
  provider: 'slack',
  tenantId: 'org_acme',
  credentialFor: 'installation',
});

// Get a user-level token
const { credential } = await authpipe.getCredential({
  provider: 'slack',
  tenantId: 'org_acme',
  userId: 'user_123',
  credentialFor: 'user',
});
// Both credentials are always valid — Authpipe handles refresh
@authpipe/react
// Install the App into a workspace
<InstallButton
  provider="slack"
  onInstall={(inst) => console.log('Installed!', inst)}
/>

Available Scopes

Permissions you can request when connecting to Slack.

channels:read

View basic information about public channels in a workspace

channels:history

View messages and other content in public channels

channels:join

Join public channels in a workspace

channels:manage

Manage public channels and their settings

chat:write

Send messages as the bot

chat:write.public

Send messages to channels the bot is not a member of

commands

Add shortcuts and slash commands

files:read

View files shared in channels and conversations

files:write

Upload, edit, and delete files

groups:read

View basic information about private channels

groups:history

View messages and other content in private channels

im:read

View basic information about direct messages

im:history

View messages and other content in direct messages

im:write

Start direct messages with people

reactions:read

View emoji reactions and their associated content

reactions:write

Add and remove emoji reactions

team:read

View the name, email domain, and icon for the workspace

users:read

View people in a workspace

users:read.email

View email addresses of people in a workspace

pins:read

View pinned content in channels

pins:write

Add and remove pinned messages and files

bookmarks:read

View bookmarks in channels

bookmarks:write

Add, edit, and remove bookmarks

identity.basic

View information about the user's identity

identity.email

View the user's email address

identity.avatar

View the user's profile picture

identity.team

View the user's workspace name

openid

OpenID Connect authentication

profile

View the user's Slack profile fields

email

View the user's email via OpenID Connect

What Authpipe handles for Slack

OAuth Orchestration

PKCE, state validation, callback handling, and provider-specific quirks — all automatic.

Encrypted Vault

AES-256-GCM encryption with per-tenant key isolation. OAuth tokens, API keys, and webhook secrets — never exposed to the frontend.

Silent Refresh

Proactive token refresh before expiry. SDK returns from local cache with zero latency.

Health Monitoring

Scheduled checks detect revoked tokens and expired credentials before users notice.

More Communication providers

Ready to connect Slack?

Get your first 100 connections free. Set up in minutes with our SDK.