π Quickstart
Connect to Slack with Nango and see data flow in 2 minutes.1
Create the integration
In Nango (free signup), go to Integrations -> Configure New Integration -> Slack.
2
Authorize Slack
Go to Connections -> Add Test Connection -> Authorize, then log in to Slack. Later, youβll let your users do the same directly from your app.
3
Call the Slack API
Letβs make your first request to the Slack API (fetch a list of channels in a Slack team). Replace the placeholders below with your secret key, integration ID, and connection ID:Or fetch credentials with the Node SDK or API.β
Youβre connected! Check the Logs tab in Nango to inspect requests.
- cURL
- Node
4
Implement Nango in your app
Follow our quickstart to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.
π Slack Integration Guides
Nango maintained guides for common use cases.- How to register your own Slack OAuth app
Register an OAuth app with Slack and obtain credentials to connect it to Nango
π§© Pre-built syncs & actions for Slack
Enable them in your dashboard. Extend and customize to fit your needs.Actions
| Function name | Description | Type | Source code |
|---|---|---|---|
get-dnd-info | Gets Do Not Disturb settings for a user. | Action | π Github |
get-file-info | Retrieves details about a specific file. | Action | π Github |
get-reactions | Gets all reactions for a single message or file. | Action | π Github |
get-team-info | Retrieves information about the workspace. | Action | π Github |
get-upload-url | Gets a URL for uploading files to Slack. | Action | π Github |
list-custom-emoji | Lists all custom emoji for the workspace. | Action | π Github |
list-pins | Lists all items pinned to a channel. | Action | π Github |
list-user-groups | Lists all user groups in the workspace. | Action | π Github |
list-user-reactions | Lists all items with reactions made by the user. | Action | π Github |
pin-message | Pins a message to a channel. | Action | π Github |
unpin-message | Removes a pinned item from a channel. | Action | π Github |
Channels
| Function name | Description | Type | Source code |
|---|---|---|---|
archive-channel | Archives a conversation making it read-only. | Action | π Github |
create-channel | Creates a new public or private channel. | Action | π Github |
get-channel-info | Retrieves detailed information about a conversation. | Action | π Github |
get-channel-members | Lists members of a conversation with pagination. | Action | π Github |
get-conversation-history | Fetches message history from a channel or conversation. | Action | π Github |
get-thread-replies | Retrieves a thread of messages posted as replies to a message. | Action | π Github |
invite-to-channel | Invites 1-1000 users to a public or private channel. | Action | π Github |
join-channel | Joins a public or private channel. | Action | π Github |
leave-channel | Leaves a public or private channel. | Action | π Github |
list-channels | Lists all channel-like conversations in a workspace. | Action | π Github |
mark-as-read | Moves the read cursor in a conversation. | Action | π Github |
remove-from-channel | Removes a user from a channel. | Action | π Github |
rename-channel | Renames a conversation with proper permissions. | Action | π Github |
set-channel-purpose | Updates a channelβs description or purpose. | Action | π Github |
set-channel-topic | Updates a channelβs topic. | Action | π Github |
unarchive-channel | Restores an archived conversation. | Action | π Github |
Conversations
| Function name | Description | Type | Source code |
|---|---|---|---|
open-dm | Opens a direct message or multi-person direct message. | Action | π Github |
Files
| Function name | Description | Type | Source code |
|---|---|---|---|
list-files | Lists files in a workspace with optional filtering. | Action | π Github |
Messages
| Function name | Description | Type | Source code |
|---|---|---|---|
delete-message | Removes a message from a conversation. | Action | π Github |
list-scheduled-messages | Retrieves pending scheduled messages from workspace. | Action | π Github |
post-message | Posts a message to a public channel, private channel, or direct message. | Action | π Github |
schedule-message | Schedules a message for future delivery up to 120 days ahead. | Action | π Github |
send-message | An action that sends a message to a slack channel. | Action | π Github |
update-message | Modifies an existing message in a channel. | Action | π Github |
messages | Syncs Slack messages, thread replies and reactions from messages & thread replies for all channels, group dms and dms the bot is a part of. For every channel it will do an initial full sync on first detection of the channel. For subsequent runs it will sync messages, threads & reactions from the last 10 days. Scopes required: channels:read, and at least one of channels:history, groups:history, mpim:history, im:history | Sync | π Github |
Reactions
| Function name | Description | Type | Source code |
|---|---|---|---|
add-reaction | Adds an emoji reaction to a message. | Action | π Github |
remove-reaction | Removes an emoji reaction from a message. | Action | π Github |
Search
| Function name | Description | Type | Source code |
|---|---|---|---|
search-files | Searches for files matching a query in Slack workspace (requires user token). | Action | π Github |
search-messages | Searches for messages matching a query in Slack workspace (requires user token). | Action | π Github |
User Groups
| Function name | Description | Type | Source code |
|---|---|---|---|
list-user-group-members | Lists users within a specific user group. | Action | π Github |
Users
| Function name | Description | Type | Source code |
|---|---|---|---|
get-user-info | Retrieves information about a specific user. | Action | π Github |
get-user-presence | Gets a userβs current presence status and activity. | Action | π Github |
get-user-profile | Retrieves detailed user profile including custom fields. | Action | π Github |
list-users | Lists all users in a workspace including active and deactivated. | Action | π Github |
lookup-user-by-email | Finds a user by their registered email address. | Action | π Github |
set-user-presence | Sets the calling userβs manual presence status. | Action | π Github |
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
channels | Syncs information about all Slack channels. Which channels get synced (public, private, IMs, group DMs) depends on the scopes. If joinPublicChannels is set to true, the bot will automatically join all public channels as well. Scopes: At least one of channels:read, groups:read, mpim:read, im:read. To also join public channels: channels:join | Sync | π Github |
messages | Syncs Slack messages, thread replies and reactions from messages & thread replies for all channels, group dms and dms the bot is a part of. For every channel it will do an initial full sync on first detection of the channel. For subsequent runs it will sync messages, threads & reactions from the last 10 days. Scopes required: channels:read, and at least one of channels:history, groups:history, mpim:history, im:history | Sync | π Github |
messages | Syncs Slack messages, thread replies and reactions from messages & thread replies for all channels, group dms and dms the bot is a part of. For every channel it will do an initial full sync on first detection of the channel. For subsequent runs it will sync messages, threads & reactions from the last 10 days. Scopes required: channels:read, and at least one of channels:history, groups:history, mpim:history, im:history | Sync | π Github |
users | Syncs information about all Users on the Slack workspace | Sync | π Github |