Slack

Last updated on Mar 05, 2024

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


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.

Note: You must log in as a Workspace Owner to perform these steps.

To create the HEVO app and obtain the OAuth token:

  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. Use this OAuth token while configuring your Hevo Pipeline.

    OAuth token


Configuring Slack as a Source

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

  1. Click PIPELINES in the Navigation Bar.

  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

For Teams Created Default Ingestion Frequency Minimum Ingestion Frequency Maximum Ingestion Frequency Custom Frequency Range (in Hrs)
Before Release 2.21 1 Hr 1 Hr 24 Hrs 1-24
After Release 2.21 6 Hrs 30 Mins 24 Hrs 1-24

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

Hevo ingests 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 20 API calls per minute. If the limit is exceeded, Hevo defers the ingestion till the limits reset. 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
Mar-05-2024 2.21 Updated the ingestion frequency table in the Data Replication section.
Dec-07-2022 2.03 New document.

Tell us what went wrong