Create Slack Feed

Create Slack feed to ingest Slack messages and attached files.

Graphlit supports ingesting messages and attached files from Slack channels.

The createFeed mutation enables the creation of a feed by accepting the feed name, type and slack feed parameters and it returns essential details, including the ID, name, state, and type of the newly generated feed.

You will need to opt-in to extracting attachments from Slack messages, which will be ingested as new content objects, by assigning includeAttachments to true.

Depending on the specified type parameter, Graphlit requires the specific feed parameters including the Slack channel and bottoken.

Slack support requires the creation of an Slack application, which can be found on the Slack API "My Apps" page. Your bot token can be found on the OAuth & Permissions page, with your Slack application selected. Look at OAuth Tokens for Your Workspace.

You will need to add your bot to any channel you want Graphlit to read.

Here is a suggested set of Bot Token Scopes you need to assign to your bot, so Graphlit can read the available information from the channel:

  • app_mentions:read

  • channels:history

  • channels:read

  • files:read

  • groups:history

  • groups:read

  • im:history

  • im:read

  • links:read

  • mpim:history

  • mpim:read

  • users.profile:read

  • users:read

  • users:read.email

By default, the Slack feed will ingest the markdown text from Slack messages, including the author of the message, and any embedded links or attachments. You will be able to search on the extracted text to locate relevant Slack messages.

You can assign a workflow object when creating the feed, and enable link crawling in order to ingest any referenced web pages or files linked to the Slack messages.

Mutation:

mutation CreateFeed($feed: FeedInput!) {
  createFeed(feed: $feed) {
    id
    name
    state
    type
  }
}

Variables:

{
  "feed": {
    "type": "SLACK",
    "slack": {
      "token": "redacted",
      "channel": "redacted",
      "includeAttachments": true,
    },
    "schedulePolicy": {
      "recurrenceType": "REPEAT",
      "repeatInterval": "PT5M"
    },
    "name": "Slack Feed"
  }
}

Response:

{
  "type": "SLACK",
  "id": "1f2ccc29-6e4d-4aec-afe0-f21eedd56132",
  "name": "Slack Feed",
  "state": "ENABLED"
}

Last updated