Slack Integration Planning
This epic contains issues that are being actively validated and planned, so they may be organized for development.
## Why Slack?
- Slack is one of our most heavily used integrations and is a natural tool in the developer toolkit, however, we've not fully achieved a lovable state. As we discuss in our [Direction](https://about.gitlab.com/direction/ecosystem/integrations/), we're focused on deliverable lovable integrations before building outwards to support further integrations at scale.
- Slack and similar communication tools are typically the top most utilized tools aside GitLab during the development process, alongside tools like IDEs/Code Editors.
- Slack's newer OAuth 2.0 APIs and Granular Bot Permissions app functionality supersedes the legacy Classic app capabilities that are being deprecated, requiring action from GitLab, as well as opportunity for improvements.
- Handling notifications in GitLab is far from a solved problem. Use of Slack's capabilities and the fact that many orgs leverage Slack or similar chat tools to action alerts and encourage discussion makes it a logical fit for increasing the value of GitLab with more Slack features.
## Problems to Solve
1. Rather than trying to understand the multiple Slack integrations that are being offered and which one is the right fit for them, customers would prefer a simplified onboarding experience to GitLab's Slack integration that contains all functionality, supports future updates/iterations, and allows for granular configuration.
2. For customers that leverage private repos, the lack of Link Preview capabilities in Slack makes it more challenging for users to share links and carry discussion forward (requiring extra clicks).
3. Whether in GitLab, Email, or Slack, without finer controls to manage notifications, it can be very noisy and difficult to identify what is urgent or what is the highest priority. Finer grained configuration of notifications, via direct messages and channels would give teams the controls they need to choose what is important for them.
## Product Prioritization
Based on our [ongoing customer feedback](https://dovetailapp.com/projects/2oTgRfLJertEIYiBSbW1S0/insights/present/3gjnTLqwsZQe8ZeO4jFQxr), we'll be introducing a relaunch of our GitLab Slack Application. The new GitLab Slack Application will leverage the latest and greatest Slack has to offer for integrators, and will allow us to deliver more of the features customers are asking for. We anticipate the following steps over the course of the next 6-12 milestones:
| Status | Release Target | Feature |
|--------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :white_check_mark: | %"15.1" | https://gitlab.com/groups/gitlab-org/-/epics/7729 Migrate our existing Slack App from Classic to Granular Bot Permissions (GBP), maintaining existing Slack Slash Commands functionality; starting with an internal release and dogfooding of the new app prior to broader release |
| :white_check_mark: | %"15.4" | https://gitlab.com/groups/gitlab-org/-/epics/8171 Slack App Communication Channels: We'll enable the Basic App Home and updated Landing Page. This update allows us to open a communication channel for upcoming releases within the Slack App (via App Home, About Page, and Landing Page).
| :white_check_mark: | %"15.7" | https://gitlab.com/gitlab-org/gitlab/-/issues/373321 Support Granular Channel-based Notifications, allowing Project Maintainers to customize events they want to publish to one or many channels, starting with MRs and Pipeline Events. |
| :white_check_mark: | %"15.9" | https://gitlab.com/groups/gitlab-org/-/epics/8670 Bring Slack Notifications functionality as it exists today into the Slack App, establishing a single Slack integration for Slash Commands and Notifications (starting support for SaaS users)
| :white_check_mark: | %"16.2" | https://gitlab.com/groups/gitlab-org/-/epics/1211 Add support for Self-Managed users to utilize the Slack App for Slash Commands, Slack Notifications, and any future iterations. |
| :white_check_mark: | %"16.11" | https://gitlab.com/gitlab-org/gitlab/-/issues/391526+ | |
| :calendar_spiral: | 17+ | https://gitlab.com/gitlab-org/gitlab/-/issues/372412 Enable migration from Slack Notifications integration to Slack App and set deprecation for Slack Notifications integration |
| :calendar_spiral: | 17+ | https://gitlab.com/groups/gitlab-org/-/epics/6389 Enable rich Link Unfurling, which will support previews for links to private issues and merge requests |
| :calendar_spiral: | 17+ | https://gitlab.com/gitlab-org/gitlab/-/issues/17958 Enable DM-based Notifications |
| :calendar_spiral: | 17+ | We’ll then evaluate Slack Actions starting with Retry Failed Pipeline events and MR Reminders. |
:white_check_mark: = Done
:hourglass_flowing_sand: = In Progress
:calendar_spiral: = Planned
### Reference Docs
- https://api.slack.com/partners (available for our test instance with Pro plan)
epic