Skip to main content

πŸš€ 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:
curl "https://api.nango.dev/proxy/conversations.list?limit=10" \
  -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
  -H "Provider-Config-Key: <INTEGRATION-ID>" \
  -H "Connection-Id: <CONNECTION-ID>"
Or fetch credentials with the Node SDK or API.βœ… You’re connected! Check the Logs tab in Nango to inspect requests.
4

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. Official docs: Slack API docs

🧩 Pre-built syncs & actions for Slack

Enable them in your dashboard. Extend and customize to fit your needs.

Channels

Function nameDescriptionTypeSource code
archive-channelArchive a Slack channelActionπŸ”— Github
get-channel-infoRetrieve conversation details including topic, purpose, and membership stateActionπŸ”— Github
invite-users-to-conversationInvite users to a Slack channelActionπŸ”— Github
set-channel-purposeUpdate a channel’s purpose text for a conversationActionπŸ”— Github
set-channel-topicSet the topic of a channelActionπŸ”— Github
unarchive-channelRestore an archived conversation so members can use it againActionπŸ”— Github
sync-channelsSync conversations allowed by granted scopes - public/private channels, DMs, and group DMsSyncπŸ”— Github

Conversations

Function nameDescriptionTypeSource code
create-conversationCreate a new public or private Slack channel by name; does not create DMs or other conversation types.ActionπŸ”— Github
get-conversation-historyFetch paginated message history for a conversation within optional time boundsActionπŸ”— Github
join-channelJoin a public or private channel and return its conversation detailsActionπŸ”— Github
leave-conversationLeave a channelActionπŸ”— Github
list-conversation-membersList members in a Slack channelActionπŸ”— Github
list-conversationsList Slack conversations with optional type filters and cursor pagination.ActionπŸ”— Github
mark-as-readMove a conversation’s read cursor to a specific message timestampActionπŸ”— Github
open-dmOpen a direct or multi-person DM for specified usersActionπŸ”— Github
remove-user-from-conversationRemove a user from a channelActionπŸ”— Github
rename-conversationRename a Slack channelActionπŸ”— Github

DND

Function nameDescriptionTypeSource code
get-dnd-infoGet a user’s Do Not Disturb status and next scheduled DND windowActionπŸ”— Github

Emoji

Function nameDescriptionTypeSource code
list-custom-emojiList workspace custom emoji mappings, including alias-based emoji entriesActionπŸ”— Github

Files

Function nameDescriptionTypeSource code
get-upload-urlGenerate an external upload URL and file ID for Slack uploadsActionπŸ”— Github
list-filesList files shared in the workspaceActionπŸ”— Github
search-filesSearch workspace files with paginationActionπŸ”— Github

Messages

Function nameDescriptionTypeSource code
delete-messageDelete a message from a channelActionπŸ”— Github
delete-scheduled-messageCancel a scheduled messageActionπŸ”— Github
find-messageSearch for messages matching a queryActionπŸ”— Github
get-message-permalinkGet a permanent URL for a messageActionπŸ”— Github
get-thread-repliesFetch paginated thread replies and parent message for a conversation threadActionπŸ”— Github
list-scheduled-messagesList pending scheduled messagesActionπŸ”— Github
schedule-messageSchedule a Slack message to a channel or thread, subject to Slack’s 120-day scheduling limit.ActionπŸ”— Github
send-messageSend a message to a channelActionπŸ”— Github
update-messageEdit an existing message in a Slack channelActionπŸ”— Github
sync-messages-receivedSync 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 nameDescriptionTypeSource code
post-messagePost a message to a channel, DM, or threadActionπŸ”— Github
send-ephemeral-messageSend a message visible only to one user in a channelActionπŸ”— Github

Pins

Function nameDescriptionTypeSource code
list-pinsList all items pinned in a specific channelActionπŸ”— Github
pin-messagePin a specific message in a channelActionπŸ”— Github
unpin-messageRemove a pinned message from a channelActionπŸ”— Github

Reactions

Function nameDescriptionTypeSource code
add-reactionAdd an emoji reaction to a specific Slack messageActionπŸ”— Github
get-reactionsRetrieve all reactions attached to a specific messageActionπŸ”— Github
list-user-reactionsList items the user reacted to with cursor-based paginationActionπŸ”— Github
remove-reactionRemove an emoji reaction from a specific messageActionπŸ”— Github

Reminders

Function nameDescriptionTypeSource code
create-reminderCreate a reminder for a userActionπŸ”— Github

Team

Function nameDescriptionTypeSource code
get-team-infoRetrieve workspace details such as name, domain, and iconActionπŸ”— Github

User Groups

Function nameDescriptionTypeSource code
list-user-group-membersList member user IDs for a specific Slack user groupActionπŸ”— Github
list-user-groupsList workspace user groups with optional disabled and membership countsActionπŸ”— Github

Users

Function nameDescriptionTypeSource code
find-user-by-emailLook up a user by email addressActionπŸ”— Github
get-user-infoRetrieve a user’s account details, including profile and avatar fieldsActionπŸ”— Github
get-user-presenceCheck if a user is online or awayActionπŸ”— Github
get-user-profileRetrieve a user’s detailed profile, status, and custom fieldsActionπŸ”— Github
list-usersList all users in the workspaceActionπŸ”— Github
set-statusSet a user’s statusActionπŸ”— Github
set-user-presenceSet a user’s presence to online or awayActionπŸ”— Github
sync-usersSync all workspace users including deactivated accounts with email and profile fieldsSyncπŸ”— Github

Others

Function nameDescriptionTypeSource code
sync-conversationsSync Slack conversations including channel membersSyncπŸ”— Github