Slack

Last updated on Dec 07, 2022

Slack is a messaging platform that allows you to collaborate, communicate, and connect with other team members within your organization. This can be done using the channels, DMs, and groups that you can create within your Slack workspace. Slack also allows you to integrate various apps, such as Google Drive, Google Calendar, and Twitter to receive any alerts related to these apps.

Slack uses an OAuth token to identify Hevo and authorize the request for accessing account data.

You can replicate the data from your Slack workspace to a Destination database or data warehouse using Hevo Pipelines. Hevo ingests the data objects in Full Load mode. Refer to section, Data Model for the list of supported objects.


Prerequisites

  • An active Slack account from which data is to be ingested.

  • You are logged in as a Workspace Owner, to obtain the OAuth token.

  • The Hevo app is created in your Slack workspace and the OAuth token is available to authenticate Hevo on your Slack workspace. Refer to section, Creating the HEVO App and Obtaining the OAuth Token for the steps to do this.


Creating the HEVO App and Obtaining the OAuth Token

You must create the HEVO app in your Slack workspace and generate the OAuth token for configuring Slack as a Source in Hevo. To do so:

  1. Navigate to the Your Apps page, and click Create an App.

    Your Apps

  2. In the Create an app dialog, click From scratch.

    Create App

  3. In the Name app & choose workspace pop-up window, do the following:

    App Name

    1. Specify the App Name.

    2. Select the Slack workspace in which you want to create your app.

    3. Click Create App.

  4. In the Basic Information page, under Add features and functionality section, click Permissions.

    Basic information

  5. In the OAuth & Permissions page that appears, scroll down to the Scopes section, and click Add an OAuth Scope.

    Add scope

  6. From the drop-down list, search and add the following scopes:

    • channels:read

    • groups:read

    • im:read

    • mpim:read

    • usergroups:read

    • users:read

    • users:read.email

    Scopes

  7. Scroll to the top of the page, under OAuth Tokens for Your Workspace, click Install to Workspace.

    Install app

  8. In the page that appears, click Allow.

    Allow app

  9. From the OAuth Tokens for Your Workspace section, copy the Bot User OAuth Token and save it securely like any other password.

    OAuth token

You have successfully created the OAuth token. Refer to section, Configuring Slack as Source for steps to create a Pipeline.


Configuring Slack as a Source

Perform the following steps to configure Slack as the Source in your Pipeline:

  1. Click PIPELINES in the Asset Palette.

  2. Click + CREATE in the Pipelines List View.

  3. In the Select Source Type page, select Slack.

  4. In the Configure your Slack Source page, specify the following:

    Slack config

    • Pipeline Name: A unique name for the Pipeline, not exceeding 255 characters.

    • OAuth Token: The OAuth token that you generated for your Slack workspace.

  5. Click TEST & CONTINUE.

  6. Proceed to configuring the data ingestion and setting up the Destination.


Data Replication

Default Pipeline Frequency Minimum Pipeline Frequency Maximum Pipeline Frequency Custom Frequency Range (Hrs)
1 Hr 1 Hr 24 Hrs 1-24

Note: You must set the custom frequency in hours as an integer value. For example, 1, 2, 3 but not 1.5 or 1.75.

Hevo fetches all the objects in Full Load mode in each run of the Pipeline.


Schema and Primary Keys

Hevo uses the following schema to upload the records in the Destination database:


Data Model

The following is the list of tables (objects) that are created at the Destination when you run the Pipeline:

Object Description
Channels Contains a list of all channels in your Slack workspace. You can create these channels to organize conversations about specific projects or topics within or across teams.
User Groups Contains the details of the various groups of users in your Slack workspace, whom you can notify at once. For example, @managers, @directors, and @developers.
Users Contains the list of users who can access your Slack workspace.

Source Considerations

  • Pagination: An API response for each Slack object fetches one page with up to 200 records.

  • Rate Limit: Slack imposes a limit of a maximum of 20 API calls per minute to ensure that their system remains stable for usage by all users. Read Rate Limits to know more about rate limits in Slack, and configure a suitable ingestion frequency for your Pipeline.


Limitations

  • Hevo currently does not support deletes. Therefore, any data deleted in the Source may continue to exist in the Destination.

  • Hevo does not provide you with the option to select the historical sync duration for loading historical data. All the historical data in your Slack account is loaded.

  • User Groups object is available only for paid subscription plans.


Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Dec-07-2022 2.03 New document.

Tell us what went wrong