Slack
This page contains the setup guide and reference information for Slack.
Prerequisites
- Slack instance Administrator access
- Slack Bot User OAuth Access Token
Features
Feature | Supported? |
---|---|
Full Refresh Sync | Yes |
Incremental Sync | Yes |
Namespaces | No |
Setup guide
Step 1: Create a Slack app
Go to the Slack apps page.
Click Create New App.
Enter a name and the select the Slack workspace you want to create the app for. Make sure you select the workspace form which you want to pull data.
Completing that form will take you to the Basic Information page for your app.
Inside your add, go to OAuth & Permissions.
Under Bot Token Scopes click on Add an OAuth Scope.
We will now need to add the following scopes:
- channels:history
- channels:join
- channels:read
- files:read
- groups:read
- links:read
- reactions:read
- remote_files:read
- team:read
- usergroups:read
- users.profile:read
- users:read
On the left sidebar, click Install to Workspace.
This will generate a Bot User OAuth Access Token. Write it down.
Go to your slack workspace. For any public channel, click the channel name dropdown, then go to the Integrations tab. Click Add an App.
In the search bar search for the name of the app you created earlier. And add the app.
Daspire will only replicate messages from channels that the Slack app has been added to.
You can read more on how to create a Slack app on its official document.
Step 2: Set up Slack in Daspire
Select Slack from the Source list.
Enter a Source Name.
Enter the start_date you want to start replicating data.
Enter lookback_window - the amount of days in the past from which you want to sync data.
Toggle join_channels, if you want to join all channels or to sync data only from channels the app is already added to. If not set, you'll need to manually add the bot to all the channels from which you'd like to sync messages.
Enter your channel_filter, this should be list of channel names (without leading
#
char) that limits the channels from which you'd like to sync. If no channels are specified, Daspire will replicate all data.Enter your Slack Bot User OAuth Access Token.
Click Save & Test.
Supported streams
This source is capable of syncing the following streams:
- Channels (Conversations)
- Channel Members (Conversation Members)
- Messages (Conversation History) - It will only replicate messages from non-archive, public channels that the Slack App is a member of.
- Users
- Threads (Conversation Replies)
- User Groups
- Files
- Remote Files
Troubleshooting
The integration is restricted by Slack requests limitation.
It is recommended to sync required channels only, this can be done by specifying config variable channel_filter in settings.
Max number of tables that can be synced at a time is 6,000. We advise you to adjust your settings if it fails to fetch schema due to max number of tables reached.