This article will explain how to:

  • Create a Slack App to access your Slack messages & attachments
  • Connect Slack to your Curiosity instance.
  • How your users can authorize your Curiosity app to access their Slack history and make it searchable

Requirements:

  • Curiosity instance with internet access
  • Slack account (no admin rights necessary).

The Slack connector will automatically:

  • Import messages and channels that the user has access to
  • Import files that have been shared on Slack

Create a Slack App

Step 1: Navigate to your Slack app dashboard.

Step 2: Create a new App.

Step 3: Give the Slack App a descriptive name (e.g. "Curiosity Ingestion") and select your teams Slack Workspace.

Step 4: Navigate to the OAuth & Permissions settings

Step 5: Add the correct redirect URLs for your Curiosity instance. The URL needs to follow this exact pattern: <SERVER_URL>/api/slackimportauth/completed-login-attempt

  • Local development instance: http://localhost:8081/api/slackimportauth/completed-login-attempt
  • Production instance: https://acme.com/api/slackimportauth/completed-login-attempt

Step 6: Save the URL by pressing Save URLs

Step 7: Find the Slack App credentials by navigating to to the settings page for Basic Information

Step 7: Copy the Client ID and the Client Secret. This will be used to authenticate Curiosity

Add the Slack App to your Curiosity instance

Step 1: Navigate to the Sources Hub and select the configuration interface for Slack

Step 2: Select Slack on the list and click on Configure new source

Step 3: Provide the Client ID and the Client Secret to your Slack App to allow users to authorize making their data searchable themselves:

  • Client ID: The Client ID of your Slack OAuth credential
  • Client Secret: The Client Secret of your Slack OAuth credential

Step 4: Modify the configuration on how the connector behaves.

  • Name: Provide the specific Slack data connector with a descriptive name. This allows admins to quickly find a specific Slack data connector configuration. This is mainly applicable when multiple Slack instances are connected.
  • Cron: Schedule to run the connector on. After the initial run, the connector will run periodically to import new messages into Curiosity. Any valid cron schedule can be defined.
  • Source: Provide a descriptive name of the connected Slack instance. If only a singe Slack Workspace is imported, keep "Slack". If multiple Slack workspaces are imported "Team 1 Slack" and "Team 2 Slack" would let users filter by Slack source.
Note: If you change the Source name, all data already imported from this connector will have to be deleted and re-indexed.

  • Import As Fully Public If this setting is enabled, all messages and files are imported without applying a permissions model. That also applies to private conversations. This should only be used when importing an archived slack instance or if Channel Import is set to Public Channels Only.
  • Channel Import This setting defines how access to the teams shared files and folders is handled.
    - Channels And Personal Messages Import all the messages and files the user has access to.
    - Channels And Group Messages Import all the messages and files the user has access to, except one-to-one conversations.
    - Public Channels Only Import only public channels, that are not marked as private.
    - Channels Only Import only channels, both public and private.

Step 5: Press Save to save the configuration.

Step 6: Start an initial ingestion process by clicking the Run Once.

Step 7: Check the connector logs, to see the connector progress.

Note: Importing messages and files from Slack that are not public to the Slack Workspace requires each user to authorize Curiosity to access to their personal chat individually. You can share the following article with your users on how to set this up:

Note: Curiosity users and Slack users are required to have the same email.

Did this answer your question?