Slack
This page contains the setup guide and reference information for the Slack source connector.
Before you begin, have the following ready:
- Administrator access to an active Slack Workspace
- Slack App OAuth (preferred) or API Key
The following instructions guide you through creating a Slack app. Airbyte can only replicate messages from channels that the app has been added to.
If you are using a legacy Slack API Key, you can skip this section.
To create a Slack App, read this tutorial on how to create an app, or follow these instructions.
- Go to your Apps
- Click Create New App. Select From Scratch.
- Choose a name for your app and select the name of your Slack workspace. Click Create App.
- In the navigation menu, select OAuth & Permissions.
- Navigate to Scopes. In Bot Token Scopes, select 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:read
users.profile:read
- At the top of the "OAuth & Permissions" page, click Install to Workspace. This will generate a Bot User OAuth Token. Copy this for later if you are using the API token for authentication.
- Go to your Slack instance. For any public channel, go to Info, More, and select Add Apps.
- Search for your newly created app. (If you are using the desktop version of Slack, you may need to restart Slack for it to pick up the new App). Add the App to all channels you want to sync data from.
If you are using an API key to authenticate to Slack, a refresh token is not required, as acccess tokens never expire. You can learn more about refresh tokens here.
For Airbyte Cloud:
- In the navigation bar, click Sources.
- Click New source.
- Find and click Slack.
- Click Authenticate your Slack account. Log in and authorize Airbyte to access your Slack account.
- Toggle
join_channels
, if you want to join all public channels or to sync data only from channels the bot is already in. If not set, you'll need to manually add the bot to all the channels from which you'd like to sync messages.
- Start Date: Any data before this date will not be extracted.
- Threads Lookback window (Days). This corresponds to the number of days in the past from which you want to sync data.
- (Optional) Channel filter the list of channel names (without leading '#' char) that limits the channels from which you'd like to sync. If no channels are specified, Airbyte will replicate data from all channels.
- (Optional) Include_private_channels Toggle on to sync data from private channels. You will need to manually add the bot to private channels even if
join_channels
is toggled on.
- Click Set up source. You must add the App created in Step 1 to the channels with the data that you want to sync.
For Airbyte Open Source:
- In the navigation bar, click Sources.
- Click New source.
- Find and click Slack.
- Click Sign in via Slack (OAuth). Enter the Access Token, Client ID, and Client Secret. Alternatively, enter the API Token from Step 1.
- Toggle
join_channels
, if you want to join all public channels or to sync data only from channels the bot is already in. If not set, you'll need to manually add the bot to all the channels from which you'd like to sync messages. - Start Date: Any data before this date will not be extracted.
- Threads Lookback window (Days). This corresponds to the number of days in the past from which you want to sync data.
- (Optional) Channel filter the list of channel names (without leading '#' char) that limits the channels from which you'd like to sync. If no channels are specified, Airbyte will replicate data from all channels.
- (Optional) Include_private_channels Toggle on to sync data from private channels. You will need to manually add the bot to private channels even if
join_channels
is toggled on. - Click Set up source. You must add the App created in Step 1 to the channels with the data that you want to sync.
The Slack source connector supports the following sync modes:
Feature | Supported? |
---|---|
Full Refresh Sync | Yes |
Incremental Sync | Yes |
Namespaces | No |
For most of the streams, the Slack source connector uses the Conversations API under the hood.
- Channels (Conversations)
- Channel Members (Conversation Members)
- Messages (Conversation History) It will only replicate messages from non-archive, public and private channels that the Slack App is a member of.
- Users
- Threads (Conversation Replies)
The connector is restricted by Slack rate limits.
We highly recommend only syncing required channels. This can be done by specifying the channel_filter
in the Slack configuration setings.
Integration Type | Airbyte Type |
---|---|
string | string |
number | number |
array | array |
object | object |
Expand to see details about Slack connector limitations and troubleshooting.
Slack has rate limit restrictions.
- Check out common troubleshooting issues for the Slack source connector on our Airbyte Forum here.
Config fields reference
Expand to review
Version | Date | Pull Request | Subject |
---|---|---|---|
1.3.1 | 2024-07-24 | 42485 | Fix MRO error for IncrementalMessageStream |
1.3.0 | 2024-07-17 | 41994 | Migrate to CDK v3.5.1 |
1.2.0 | 2024-07-16 | 41970 | Migrate to CDK v2.4.0 |
1.1.13 | 2024-07-13 | 41863 | Update dependencies |
1.1.12 | 2024-07-10 | 41485 | Update dependencies |
1.1.11 | 2024-07-09 | 41231 | Update dependencies |
1.1.10 | 2024-07-06 | 40839 | Update dependencies |
1.1.9 | 2024-06-25 | 40347 | Update dependencies |
1.1.8 | 2024-06-22 | 40166 | Update dependencies |
1.1.7 | 2025-06-14 | 39343 | Update state handling for threads Python stream |
1.1.6 | 2024-06-12 | 39132 | Respect include_private_channels option in threads stream |
1.1.5 | 2024-06-10 | 39132 | Convert string state to float for threads stream |
1.1.4 | 2024-06-06 | 39271 | [autopull] Upgrade base image to v1.2.2 |
1.1.3 | 2024-06-05 | 39121 | Change cursor format for channel_messages stream to %s_as_float |
1.1.2 | 2024-05-23 | 38619 | Fix cursor granularity for the channel_messages stream |
1.1.1 | 2024-05-02 | 36661 | Schema descriptions |
1.1.0 | 2024-04-18 | 37332 | Add the capability to sync from private channels |
1.0.0 | 2024-04-02 | 35477 | Migration to low-code CDK |
0.4.1 | 2024-03-27 | 36579 | Upgrade airbyte-cdk version to emit record counts as floats |
0.4.0 | 2024-03-19 | 36267 | Pin airbyte-cdk version to ^0 |
0.3.9 | 2024-02-12 | 35157 | Manage dependencies with Poetry |
0.3.8 | 2024-02-09 | 35131 | Fixed the issue when schema discovery fails with 502 due to the platform timeout |
0.3.7 | 2024-01-10 | 1234 | Prepare for airbyte-lib |
0.3.6 | 2023-11-21 | 32707 | Threads: do not use client-side record filtering |
0.3.5 | 2023-10-19 | 31599 | Base image migration: remove Dockerfile and use the python-connector-base image |
0.3.4 | 2023-10-06 | 31134 | Update CDK and remove non iterable return from records |
0.3.3 | 2023-09-28 | 30580 | Add bot_id field to threads schema |
0.3.2 | 2023-09-20 | 30613 | Set default value for channel_filters during discover |
0.3.1 | 2023-09-19 | 30570 | Use default availability strategy |
0.3.0 | 2023-09-18 | 30521 | Add unexpected fields to streams channel_messages , channels , threads , users |
0.2.0 | 2023-05-24 | 26497 | Fixed lookback window value limitations |
0.1.26 | 2023-05-17 | 26186 | Limited the lookback window range for input configuration |
0.1.25 | 2023-03-20 | 22889 | Specified date formatting in specification |
0.1.24 | 2023-03-20 | 24126 | Increase page size to 1000 |
0.1.23 | 2023-02-21 | 21907 | Do not join channels that not gonna be synced |
0.1.22 | 2023-01-27 | 22022 | Set AvailabilityStrategy for streams explicitly to None |
0.1.21 | 2023-01-12 | 21321 | Retry Timeout error |
0.1.20 | 2022-12-21 | 20767 | Update schema |
0.1.19 | 2022-12-01 | 19970 | Remove OAuth2.0 broken refresh_token support |
0.1.18 | 2022-09-28 | 17315 | Always install latest version of Airbyte CDK |
0.1.17 | 2022-08-28 | 16085 | Increase unit test coverage |
0.1.16 | 2022-08-28 | 16050 | Fix SATs |
0.1.15 | 2022-03-31 | 11613 | Add 'channel_filter' config and improve performance |
0.1.14 | 2022-01-26 | 9575 | Correct schema |
0.1.13 | 2021-11-08 | 7499 | Remove base-python dependencies |
0.1.12 | 2021-10-07 | 6570 | Implement OAuth support with OAuth authenticator |
0.1.11 | 2021-08-27 | 5830 | Fix sync operations hang forever issue |
0.1.10 | 2021-08-27 | 5697 | Fix max retries issue |
0.1.9 | 2021-07-20 | 4860 | Fix reading threads issue |
0.1.8 | 2021-07-14 | 4683 | Add float_ts primary key |
0.1.7 | 2021-06-25 | 3978 | Release Slack CDK Connector |