The tap-slack Meltano extractor pulls data from Slack that can then be sent to a destination using a loader.

Alternative variants #

Multiple variants of tap-slack are available. This document describes the default mashey variant, which is recommended for new users.

Alternative variants are:

Getting Started #

Prerequisites #

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration #

  1. Add the tap-slack extractor to your project using meltano add :

    meltano add extractor tap-slack
  2. Configure the settings below using meltano config .

Next steps #

Follow the remaining steps of the Getting Started guide:

  1. Select entities and attributes to extract
  2. Add a loader to send data to a destination
  3. Run a data integration (EL) pipeline
If you run into any issues, learn how to get help.

Capabilities #

Settings #

The settings for extractor tap-slack that are known to Meltano are documented below. To quickly find the setting you're looking for, use the Table of Contents at the top of the page.

API Token (token) #

Your Slack API Token. To obtain a token for a single workspace you will need to create a Slack App in your workspace and assigning it the relevant scopes. The minimum required scopes for the tap are:

  • channels:history
  • channels:join
  • channels:read
  • files:read
  • groups:read
  • links:read
  • reactions:read
  • remote_files:read
  • remote_files:write
  • team:read
  • usergroups:read
  • users.profile:read
  • users:read

See https://slack.com/help/articles/215770388-Create-and-regenerate-API-tokens.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set token <token>

export TAP_SLACK_TOKEN=<token>

Sync Start Date (start_date) #

Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set start_date YYYY-MM-DDTHH:MM:SSZ

export TAP_SLACK_START_DATE=YYYY-MM-DDTHH:MM:SSZ

Channels to Sync (channels) #

Optionally specify specific channels to sync. By default the tap will sync all channels it has been invited to, but this can be overriden to limit it ot specific channels. Note this needs to be channel ID, not the name, as recommended by the Slack API. To get the ID for a channel, either use the Slack API or find it in the URL.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set channels '[...]'

export TAP_SLACK_CHANNELS='[...]'

Join Private Channels (private_channels) #

Specifies whether to sync private channels or not. Default is true.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set private_channels false

export TAP_SLACK_PRIVATE_CHANNELS=false

Join Public Channels (join_public_channels) #

Specifies whether to have the tap auto-join all public channels in your ogranziation. Default is false.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set join_public_channels true

export TAP_SLACK_JOIN_PUBLIC_CHANNELS=true

Sync Archived Channels (archived_channels) #

Specifies whether the tap will sync archived channels or not. Note that a bot cannot join an archived channel, so unless the bot was added to the channel prior to it being archived it will not be able to sync the data from that channel. Default is false.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set archived_channels true

export TAP_SLACK_ARCHIVED_CHANNELS=true

Date Window Size (date_window_size) #

Specifies the window size for syncing certain streams (messages, files, threads). The default is 7 days.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-slack set date_window_size 7

export TAP_SLACK_DATE_WINDOW_SIZE=7

Looking for help? #

If you're having trouble getting the tap-slack extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page? #

This page is generated from a YAML file that you can contribute changes to. Edit it on GitHub!