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
// 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 // 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
Aircall
Manage calls, contacts, and phone system settings through Aircall's OAuth integration.
ClickSend
Send SMS, email, voice, fax, and postal mail through the ClickSend platform.
Dialpad
Integrate Dialpad phone, messaging, and contact center capabilities via OAuth.
Discord
Add Discord bots and authorize users with OAuth2 for guilds and identity access.
Ready to connect Slack?
Get your first 100 connections free. Set up in minutes with our SDK.