π Quickstart
Connect to Slack with Nango and see data flow in 2 minutes.Create the integration
In Nango (free signup), go to Integrations -> Configure New Integration -> Slack.
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.
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
Implement Nango in your app
Follow our Auth implementation guide 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 - Slack user access tokens in Nango
How to get, and use, Slack user access tokens with Nango
π§© Pre-built syncs & actions for Slack
Enable them in your dashboard. Extend and customize to fit your needs.Channels
| Function name | Description | Type | Source code |
|---|---|---|---|
archive-channel | Archive a Slack channel | Action | π Github |
get-channel-info | Retrieve conversation details including topic, purpose, and membership state | Action | π Github |
invite-users-to-conversation | Invite users to a Slack channel | Action | π Github |
set-channel-purpose | Update a channelβs purpose text for a conversation | Action | π Github |
set-channel-topic | Set the topic of a channel | Action | π Github |
unarchive-channel | Restore an archived conversation so members can use it again | Action | π Github |
sync-channels | Sync conversations allowed by granted scopes - public/private channels, DMs, and group DMs | Sync | π Github |
Conversations
| Function name | Description | Type | Source code |
|---|---|---|---|
create-conversation | Create a new public or private Slack channel by name; does not create DMs or other conversation types. | Action | π Github |
get-conversation-history | Fetch paginated message history for a conversation within optional time bounds | Action | π Github |
join-channel | Join a public or private channel and return its conversation details | Action | π Github |
leave-conversation | Leave a channel | Action | π Github |
list-conversation-members | List members in a Slack channel | Action | π Github |
list-conversations | List Slack conversations with optional type filters and cursor pagination. | Action | π Github |
mark-as-read | Move a conversationβs read cursor to a specific message timestamp | Action | π Github |
open-dm | Open a direct or multi-person DM for specified users | Action | π Github |
remove-user-from-conversation | Remove a user from a channel | Action | π Github |
rename-conversation | Rename a Slack channel | Action | π Github |
DND
| Function name | Description | Type | Source code |
|---|---|---|---|
get-dnd-info | Get a userβs Do Not Disturb status and next scheduled DND window | Action | π Github |
Emoji
| Function name | Description | Type | Source code |
|---|---|---|---|
list-custom-emoji | List workspace custom emoji mappings, including alias-based emoji entries | Action | π Github |
Files
| Function name | Description | Type | Source code |
|---|---|---|---|
get-upload-url | Generate an external upload URL and file ID for Slack uploads | Action | π Github |
list-files | List files shared in the workspace | Action | π Github |
search-files | Search workspace files with pagination | Action | π Github |
Messages
| Function name | Description | Type | Source code |
|---|---|---|---|
delete-message | Delete a message from a channel | Action | π Github |
delete-scheduled-message | Cancel a scheduled message | Action | π Github |
find-message | Search for messages matching a query | Action | π Github |
get-message-permalink | Get a permanent URL for a message | Action | π Github |
get-thread-replies | Fetch paginated thread replies and parent message for a conversation thread | Action | π Github |
list-scheduled-messages | List pending scheduled messages | Action | π Github |
schedule-message | Schedule a Slack message to a channel or thread, subject to Slackβs 120-day scheduling limit. | Action | π Github |
send-message | Send a message to a channel | Action | π Github |
update-message | Edit an existing message in a Slack channel | Action | π Github |
sync-messages-received | Sync messages, thread replies, and reactions for conversations the bot can access; fully backfill new channels, then resync the last 10 days using channelsLastSyncDate metadata. | Sync | π Github |
Messaging
| Function name | Description | Type | Source code |
|---|---|---|---|
post-message | Post a message to a channel, DM, or thread | Action | π Github |
send-ephemeral-message | Send a message visible only to one user in a channel | Action | π Github |
Pins
| Function name | Description | Type | Source code |
|---|---|---|---|
list-pins | List all items pinned in a specific channel | Action | π Github |
pin-message | Pin a specific message in a channel | Action | π Github |
unpin-message | Remove a pinned message from a channel | Action | π Github |
Reactions
| Function name | Description | Type | Source code |
|---|---|---|---|
add-reaction | Add an emoji reaction to a specific Slack message | Action | π Github |
get-reactions | Retrieve all reactions attached to a specific message | Action | π Github |
list-user-reactions | List items the user reacted to with cursor-based pagination | Action | π Github |
remove-reaction | Remove an emoji reaction from a specific message | Action | π Github |
Reminders
| Function name | Description | Type | Source code |
|---|---|---|---|
create-reminder | Create a reminder for a user | Action | π Github |
Team
| Function name | Description | Type | Source code |
|---|---|---|---|
get-team-info | Retrieve workspace details such as name, domain, and icon | Action | π Github |
User Groups
| Function name | Description | Type | Source code |
|---|---|---|---|
list-user-group-members | List member user IDs for a specific Slack user group | Action | π Github |
list-user-groups | List workspace user groups with optional disabled and membership counts | Action | π Github |
Users
| Function name | Description | Type | Source code |
|---|---|---|---|
find-user-by-email | Look up a user by email address | Action | π Github |
get-user-info | Retrieve a userβs account details, including profile and avatar fields | Action | π Github |
get-user-presence | Check if a user is online or away | Action | π Github |
get-user-profile | Retrieve a userβs detailed profile, status, and custom fields | Action | π Github |
list-users | List all users in the workspace | Action | π Github |
set-status | Set a userβs status | Action | π Github |
set-user-presence | Set a userβs presence to online or away | Action | π Github |
sync-users | Sync all workspace users including deactivated accounts with email and profile fields | Sync | π Github |
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
sync-conversations | Sync Slack conversations including channel members | Sync | π Github |