mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-04 15:18:17 +00:00

Co-authored-by: “Rounak <“rounakpreet.d@deuexsolutions.com”> Co-authored-by: Prajwal214 <167504578+Prajwal214@users.noreply.github.com>
183 lines
5.2 KiB
Markdown
183 lines
5.2 KiB
Markdown
---
|
||
title: Slack Integration with Collate for Data Collaboration
|
||
description: Integrate Collate with Slack to enable real-time data collaboration, search assets, receive notifications, and share metadata insights directly in Slack.
|
||
slug: /applications/slack
|
||
collate: true
|
||
---
|
||
|
||
# Slack Application in Collate
|
||
|
||
Integrate Collate with Slack to enhance data collaboration and streamline team workflows. This integration enables real-time notifications, in-Slack search and sharing of metadata assets, and message interactions—all within your existing Slack workspace.
|
||
|
||
## 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 `@collate2`, or when updates occur in your data workspace.
|
||
|
||
## Authorizations
|
||
|
||
When connected, Collate will have the following permissions in Slack:
|
||
|
||
- View and respond to messages that mention `@collate2`.
|
||
- Access content in public channels where Collate is added.
|
||
- Join public channels and view their basic information.
|
||
- Add and respond to shortcuts and slash commands.
|
||
- Access content in direct messages and group direct messages.
|
||
- View user profiles in the workspace.
|
||
- Send messages as `@collate2`, including to channels it's not a member of.
|
||
- Post messages to designated Slack channels.
|
||
|
||
## Slack App Configuration
|
||
|
||
To enable Slack integration in Collate:
|
||
|
||
1. Navigate to **Settings** → **Applications** → **Add Apps**.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack1.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
2. Search for **Slack** and install the application.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack2.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
### Configuration Fields
|
||
|
||
- **User Token**: Token used to authenticate Slack API requests on behalf of a user.
|
||
- **Bot Token**: Token used to authenticate Slack API requests on behalf of the bot.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack3.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
{% note %}
|
||
|
||
Ensure that both tokens are securely stored and have the required scopes for interaction with your Slack workspace.
|
||
|
||
{% /note %}
|
||
|
||
## How to Obtain Slack Bot Token and User Token
|
||
|
||
To integrate Slack with Collate, you need to generate both a **Bot Token** and a **User Token** from your Slack workspace. These tokens allow Collate to interact with Slack APIs on behalf of your application and users.
|
||
|
||
## Step-by-Step Instructions
|
||
|
||
### 1. Create a Slack App
|
||
|
||
1. Go to the [Slack API: Your Apps](https://api.slack.com/apps) page.
|
||
2. Click **Create New App**.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack4.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
3. Select **From scratch**.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack5.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
4. Enter the **App Name** (e.g., `Collate Integration`) and choose your **Slack workspace**.
|
||
5. Click **Create App**.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack6.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
### 2. Configure OAuth & Permissions
|
||
|
||
1. In your app’s dashboard, navigate to **OAuth & Permissions**.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack7.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
2. Under **Scopes**, configure the following:
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack8.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
#### For **Bot Token Scopes**:
|
||
Add these scopes:
|
||
- `chat:write`
|
||
- `channels:read`
|
||
- `groups:read`
|
||
- `im:read`
|
||
- `mpim:read`
|
||
- `users:read`
|
||
- `commands`
|
||
- `app_mentions:read`
|
||
|
||
#### For **User Token Scopes**:
|
||
Add these scopes:
|
||
- `channels:history`
|
||
- `groups:history`
|
||
- `im:history`
|
||
- `mpim:history`
|
||
|
||
{% note %}
|
||
|
||
Only add the scopes you need. Ensure your Slack workspace allows user token generation (may require admin privileges).
|
||
|
||
{% /note %}
|
||
|
||
### 3. Install the App to Workspace
|
||
|
||
1. Still in **OAuth & Permissions**, click **Install** to install App to your Workspace.
|
||
|
||
{% image
|
||
src="/images/v1.9/applications/slack9.png"
|
||
alt="Configuration"
|
||
caption="Configuration"
|
||
/%}
|
||
|
||
2. Authorize the permissions requested by the app.
|
||
|
||
After installation, you'll be redirected to the OAuth screen where your tokens will be displayed.
|
||
|
||
### 4. Copy the Tokens
|
||
|
||
- **Bot User OAuth Token**: Starts with `xoxb-...`
|
||
- **User OAuth Token**: Starts with `xoxp-...`
|
||
|
||
Store these tokens securely and provide them in the Slack app configuration within Collate.
|
||
|
||
{% note %}
|
||
|
||
- Never expose your tokens publicly.
|
||
- Rotate tokens periodically.
|
||
- Use Slack's [token rotation policy](https://api.slack.com/authentication/token-types#rotating) for better security.
|
||
|
||
{% /note %}
|
||
|
||
For more information, refer to the [Slack API documentation](https://api.slack.com/).
|