Authorization Flow

Our Slack connector uses OAuth 2.0 for authentication.

Configuration

Custom OAuth Credentials

Custom OAuth credentials is only required for customers who enable white labeling.
  1. Go to the Slack API website (https://api.slack.com/) and click on the “Create an app” button.
  2. Choose “From scratch” as the creation method.
  3. Enter a name for your app and select the workspace where you want to install it. Click “Create App”.
  4. Add https://api.carbon.ai/integrations/slack as the Redirect URLs. You can also opt to use a custom CNAME record pointing to https://api.carbon.ai. The domain path must still be /integrations/slack.
  5. Add the following “User Token Scopes”:
  • channels:history
  • channels:read
  • groups:history
  • groups:read
  • im:history
  • im:read
  • mpim:history
  • mpim:read
  • users:read
  • users:read.email
  1. Under “OAuth and Permissions” > “Advanced token security via token rotation”, click “Opt In”.
  2. Under “Basic Information”, add details for your app.
  3. Under “Basic Information” > “App Credentials”, share the Client ID and Client Secret securely with the Carbon team.

Synchronization

There is no automatic or global file sync functionality. Instead, users can rely on the /integrations/slack/conversations and /integrations/slack/sync endpoints to list and sync Slack conversations.

Conversation Listing

  • Users can list their Slack conversations using the /integrations/slack/conversations endpoint
  • The endpoint supports filtering conversations by type:
    • Public channels
    • Private channels
    • Private messages
    • Group conversations

Conversation Syncing

  • A dedicated sync endpoint /integrations/slack/sync is available which requires the following parameters:
    • conversation_id (required): The ID of the Slack conversation to sync
    • after (optional): A date filter to sync messages after a specific date

Conversation Format

Messages are synced in 15-minute blocks.

For example, all messages between 2:15 PM and 2:30 PM will be synced together. If there are replies to messages outside the 15-minute block, they will still be included in the same sync block.

Currently, only message content is synced. Attachments and reactions are not yet supported.