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

🧩 Pre-built syncs & actions for Slack

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

Messages

Function nameDescriptionTypeSource code
send-messageAn action that sends a message to a slack channel.Action🔗 Github
messagesSyncs 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:historySync🔗 Github

Others

Function nameDescriptionTypeSource code
usersSyncs information about all Users on the Slack workspaceSync🔗 Github
channelsSyncs 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:joinSync🔗 Github
messagesSyncs 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:historySync🔗 Github
messagesSyncs 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:historySync🔗 Github