Slack
CLI based Ingestion
Install the Plugin
The slack source works out of the box with acryl-datahub.
Config Details
- Options
 - Schema
 
Note that a . is used to denote nested fields in the YAML recipe.
| Field | Description | 
|---|---|
bot_token ✅  string(password)  | Bot token for the Slack workspace. Needs users:read, users:read.email and users.profile:read scopes. | 
api_requests_per_min  integer  | Number of API requests per minute. Low-level config. Do not tweak unless you are facing any issues.  Default: 10  | 
channel_min_members  integer  | Ingest channels with at least this many members.  Default: 2  | 
channels_iteration_limit  integer  | Limit the number of channels to be ingested in a iteration. Low-level config. Do not tweak unless you are facing any issues.  Default: 200  | 
enrich_user_metadata  boolean  | Whether to enrich user metadata.  Default: True  | 
ingest_public_channels  boolean  | Whether to ingest public channels. If set to true needs channels:read scope. Default: False  | 
should_ingest_archived_channels  boolean  | Whether to ingest archived channels.  Default: False  | 
The JSONSchema for this configuration is inlined below.
{
  "title": "SlackSourceConfig",
  "type": "object",
  "properties": {
    "bot_token": {
      "title": "Bot Token",
      "description": "Bot token for the Slack workspace. Needs `users:read`, `users:read.email` and `users.profile:read` scopes.",
      "type": "string",
      "writeOnly": true,
      "format": "password"
    },
    "enrich_user_metadata": {
      "title": "Enrich User Metadata",
      "description": "Whether to enrich user metadata.",
      "default": true,
      "type": "boolean"
    },
    "api_requests_per_min": {
      "title": "Api Requests Per Min",
      "description": "Number of API requests per minute. Low-level config. Do not tweak unless you are facing any issues.",
      "default": 10,
      "type": "integer"
    },
    "ingest_public_channels": {
      "title": "Ingest Public Channels",
      "description": "Whether to ingest public channels. If set to true needs `channels:read` scope.",
      "default": false,
      "type": "boolean"
    },
    "channels_iteration_limit": {
      "title": "Channels Iteration Limit",
      "description": "Limit the number of channels to be ingested in a iteration. Low-level config. Do not tweak unless you are facing any issues.",
      "default": 200,
      "type": "integer"
    },
    "channel_min_members": {
      "title": "Channel Min Members",
      "description": "Ingest channels with at least this many members.",
      "default": 2,
      "type": "integer"
    },
    "should_ingest_archived_channels": {
      "title": "Should Ingest Archived Channels",
      "description": "Whether to ingest archived channels.",
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "bot_token"
  ],
  "additionalProperties": false
}
Code Coordinates
- Class Name: 
datahub.ingestion.source.slack.slack.SlackSource - Browse on GitHub
 
Questions
If you've got any questions on configuring ingestion for Slack, feel free to ping us on our Slack.
Is this page helpful?