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

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

Using the Command Line Interface

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

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

Using Meltano UI

  1. Start Meltano UI using meltano ui:

    meltano ui
  2. Open the Extractors interface at http://localhost:5000/extractors.
  3. Click the “Add to project” button for “Slack”.
  4. Choose "Add variant 'mashey'".
  5. Configure the settings below in the “Configuration” interface that opens automatically.

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.

Settings

These and other supported settings 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)

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

How to use

Manage this setting using Meltano UI, 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 UI, 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)

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 UI, 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 UI, 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 UI, 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 UI, 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 UI, 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!