Possibility to send Slack notifications about approvals actions

Description

Add the ability to send approval workflow notifications via Slack as an alternative to email/native Jira notifications.
Supports both Jira and Confluence products with product-specific rendering contexts. Includes interactive approval buttons directly in Slack messages, real-time message updates reflecting decision outcomes, and automatic email fallback when Slack delivery fails.

Features

Workspace connections

  • Connect up to 10 Slack workspaces per instance via OAuth

  • Settings page to manage connections: rename, set default, delete, test

  • Per-definition workspace and channel overrides

  • Token revoked/app uninstalled detection with automatic invalidation and admin-visible instance errors

Notification delivery

  • Three delivery modes: Direct Message, Channel with mentions, or Both (configurable globally)

  • All approval notification types supported

  • Async dispatch with automatic email fallback on any Slack failure

  • Dedicated Slack message templates (mrkdwn format) for each notification type, customizable per template

Interactive actions in Slack

  • Approve, Reject, Abstain buttons with optional comment modal (respects comment-required settings)

  • Vote button opening a modal with the step's configured voting options (single and multi-choice)

  • Identity resolution maps Slack users back to Atlassian accounts via email matching

  • Feedback messages confirming whether the decision was applied

Message lifecycle

  • When a step completes, all original Slack messages for that step are updated in-place to show the outcome (decisions,
    vote tallies, links)

  • Thread replies on channel messages after each individual decision, with progress counters for group steps

  • Expired and reassigned approvals update their Slack messages to reflect the new state and remove action buttons

Notification history

  • Admin-only activity log with pagination, sorting, and filtering by status, recipient, and date range

  • Tracks SENT, UPDATED, and FAILED statuses per message

  • Automatic cleanup of old records (30 days for updated/failed, 90 days for sent)

Settings UI

  • Slack settings page under app settings (General tab + Notification History tab)

  • Delivery mode and default channel configuration with validation

  • Notification mechanism selector shows Slack option, auto-switches on first connection

  • Per-definition Slack workspace and channel override in the definition settings form