Slack Application in Collate
Overview
The Slack application connects your Slack workspace with Collate, enabling seamless communication and metadata access:- Real-Time Notifications: Receive instant alerts, mentions, and updates directly in Slack.
- Metadata Search: Quickly search for glossaries, terms, tags, and tables within Slack.
- Asset Sharing: Share Collate assets effortlessly with your team from Slack.
- Enhanced Productivity: Stay informed and connected without leaving your workspace.
Key Capabilities
- Search Entities: Use Slack to search glossaries, terms, tags, and tables.
- Share Assets: Share metadata assets from Collate to your team directly in Slack.
- Notifications: Get notified when someone mentions
@<Bot-Name>, or when updates occur in your data workspace.
Using Collate in Slack
Once the app is installed, users need to invite it to their channel before they can interact with it.
Step 1: Invite the App to a Channel
There are two ways to invite the Collate app to a channel: Option A — From channel settings:- Open the channel in Slack.
- Click the channel name at the top to open Channel Settings.
- Go to the Integrations tab → Add an App.
- Search for your Collate app and click Add.
@CollateApp with the name you gave your Slack app during setup.
Step 2: Start Asking Questions
Once the app is in your channel, mention it with a natural language query:Authorizations
When connected, Collate will have the following permissions in Slack:- View and respond to messages that mention
@<Bot-Name>. - Access content in public channels where Collate is added.
- Join public channels and view their basic information.
- Access content in direct messages and group direct messages.
- View user profiles in the workspace.
- Send messages as
@<Bot-Name>, including to channels it’s not a member of. - Post messages to designated Slack channels.
Slack App Configuration
To enable Slack integration in Collate:- Navigate to Settings → Applications → Add Apps.
- Search for Slack and install the application.
Configuration Fields
- Client ID: Identifies your Slack app. Required to initiate OAuth flows.
- Client Secret: Authenticates OAuth requests made by your app.
- Signing Secret: Verifies that incoming requests originate from Slack.
- User Token: Authenticates Slack API requests on behalf of a user (starts with
xoxp-). - Bot Token: Authenticates Slack API requests on behalf of the bot (starts with
xoxb-).
How to Obtain Slack Credentials
To integrate Slack with Collate, you need to generate a Bot Token, User Token, Client ID, Client Secret, and Signing Secret from your Slack workspace.Create a Slack App
- Go to the Slack API: Your Apps page.
- Click Create New App.
- Select From scratch.
- Enter the App Name (e.g.,
Collate Integration) and choose your Slack workspace. - Click Create App.
- After your app is created, you’ll be redirected to the Basic Information page under Settings. Here, you’ll find the following important credentials:
- Client ID – Used to identify your app.
- Client Secret – Used for authenticating requests made from your app.
- Signing Secret – Used to verify that incoming requests (e.g., from Slack) are genuinely from Slack. Click Show next to each secret to view the values. You can regenerate them using the Regenerate button if needed. Once you have all credentials, enter them in Collate via Settings → Applications.
Configure OAuth & Permissions
- In your app’s dashboard, navigate to OAuth & Permissions.
- Under Scopes, configure the following:
For Bot Token Scopes:
Add these scopes:app_mentions:readchannels:readchat:writecommandsgroups:readim:historyim:readmpim:historympim:readusers:readusers:read.email
For User Token Scopes:
Add these scopes:channels:historygroups:historyim:historympim:history
Configure Redirect URLs
Before installing the app to your workspace, configure the redirect URLs to ensure successful OAuth authentication:- In the left-hand menu, go to OAuth & Permissions.
- Scroll down to the Redirect URLs section.
- Click Add New Redirect URL and enter the redirect URL (e.g., https://sandbox.open-metadata.org/api/slack/callback).
- Click Save URLs to apply the changes.
Configure Event Subscriptions
After setting the necessary OAuth scopes, follow the steps below to configure Event Subscriptions:- In the left-hand menu under Features, click on Event Subscriptions.
- Toggle the Enable Events switch to On.
-
In the Request URL field, enter your app’s endpoint (e.g., https://sandbox.open-metadata.org/api/slack/events).
- Slack will send a verification request containing a challenge parameter.
- Ensure your endpoint responds with the challenge value to confirm validation.
- Scroll down to the Subscribe to bot events section and click Add Bot User Event.
-
Add the following events (ensure corresponding scopes are already granted under OAuth permissions):
- app_home_opened – Triggered when a user clicks into your App Home (no additional scope needed).
- app_mention – Subscribes to messages that mention your app or bot (app_mentions:read scope required).
- message.im – Subscribes to messages in direct message channels (im:history scope required).
- message.mpim – Subscribes to messages in multi-party direct message channels (mpim:history scope required).
-
(Optional) Under Subscribe to events on behalf of users, click Add Workspace Event and select:
- message.im – Subscribes to messages posted in a direct message channel on behalf of users (im:history scope required).
Install the App to Workspace
- Still in OAuth & Permissions, click Install to install App to your Workspace.
- Authorize the permissions requested by the app.
Copy the Tokens
- Bot User OAuth Token: Starts with
xoxb-... - User OAuth Token: Starts with
xoxp-...