Trunk Merge Queue integrates with Slack to send real-time notifications about queue activity and pull request state changes. You can route notifications to multiple Slack channels per repository, each with its own set of enabled topics, and receive personal DMs about your own PRs directly in Slack.Documentation Index
Fetch the complete documentation index at: https://trunk-4cab4936-mintlify-sync-trunk-docs-since-march-14-11540.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
For details on how Trunk collects, manages, and stores your data, see our Security and Privacy page.
Installing the Trunk Slack App
Before you can set up channel notifications or personal DMs, a Slack workspace admin must install the Trunk Slack app for your organization. This is a one-time setup that enables all Slack integration features.Steps to Install
- In the Trunk web app, navigate to Settings > Organization > Slack.
- Click Add to Slack.
- Review and approve the requested permissions on the Slack OAuth screen.
- You’ll be redirected back to Trunk. The page will show your workspace as Connected along with the workspace name.
Managing the Connection
Once connected, you can Reconnect (to reauthorize) or Disconnect the workspace from the same settings page.Channel Notifications
Send merge queue updates to one or more shared Slack channels to keep your team informed about queue activity. Each channel can have its own set of enabled notification topics.Connecting Slack Channels
Prerequisite: The Trunk Slack app must be installed for your organization before you can connect channels.
- Navigate to Settings > Repositories > [your repository] > Merge Queue.
- Under Slack Notifications, click Add Channel.
- In the Add Slack Channel modal, select a channel from the dropdown.
- Toggle the notification topics you want enabled for that channel.
- Click Connect.
#merge-notifications channel while only sending failure alerts to a #merge-queue-failures channel.
The channel list displays each connected channel along with a summary of how many notification topics are enabled (e.g., “6/9 enabled”). To remove an individual channel, click the trash icon next to it. To remove all channel connections for the repository, click Disconnect.
Managing Channel Notification Preferences
Each connected channel has its own independent set of notification topics. You can expand any channel in the list to view and toggle its topics on or off. Changes take effect immediately. See Available Notification Topics below for descriptions of each notification type.Tip: Want to receive these notifications as personal DMs instead of in a shared channel? Check out our Personal Slack Notifications setup guide.
Personal Slack Notifications
Get direct messages in Slack about your PRs as they move through the merge queue — queued, testing, merged, failed, and more — without adding noise to team channels.Setting up Personal Notifications
Prerequisite: The Trunk Slack app must be installed for your organization before personal notifications can be configured. If the app hasn’t been installed yet, the Home tab will display a warning directing a Slack admin to complete the installation.
- Open the Trunk app in Slack. If you don’t see it in your sidebar, add it via Apps > Manage > Browse Apps and search for “Trunk.”
- Go to the Home tab.
- Click Link Account to connect your Trunk account to Slack.
- Connect your GitHub account from the Home tab. This is required for PR tracking and most notifications.
- Configure your notification preferences using the toggles on the Home tab.
Using the Trunk Web UI
You can also start setup from the Trunk web app, which will redirect you to Slack to complete the process:- Navigate to Settings > Account > Notifications in Trunk.
- Under Connect your Slack workspace, verify your workspace is connected. If not, click Go to Slack settings to install the app first.
- Click Open in Slack to jump to the Trunk app’s Home tab, where you’ll link your account and configure notifications.
Tip: Want to send notifications to a shared team channel instead? Check out the Channel Notifications setup guide.
Slack App Home Dashboard
The Trunk Slack app’s Home tab provides a personal merge queue dashboard directly in Slack. Open the Trunk app in Slack and click the Home tab to see an overview of your merge queue activity across all repositories.What You’ll See
The Home tab displays the following sections:- Refresh — A button at the top of the Home tab to update the view with the latest queue data, along with a “Last refreshed” timestamp.
- Account connection status — Shows your connected identity (e.g., “Connected as Your Name”), an Unlink Account button, and your GitHub account connection status. You can connect your GitHub account directly from the Home tab if it isn’t linked yet.
- Not Ready — PRs you’ve submitted that are waiting for prerequisites (e.g., GitHub mergeability) before entering the queue.
- PRs in Queue — Your PRs that are currently in the queue, with real-time status indicators (e.g., “Testing”).
- Recently Merged PRs — Your most recently merged PRs, with merge dates.
- Failed PRs — Your PRs that failed in the queue.
- Notification Preferences — Toggle buttons for all notification topics. You can enable or disable individual notifications directly from Slack without visiting the web UI.
Linking Your Account
To use the Home tab, you need to link your Trunk and GitHub accounts. Follow the steps in Setting up Personal Notifications — the same account linking process powers both the dashboard and personal DMs.Managing Notification Preferences
You can toggle notification topics on or off directly from the Home tab — no need to visit the Trunk web UI. Changes take effect immediately. The available topics are the same as those listed in Available Notification Topics.Frequently Asked Questions
Available Notification Topics
Both channel and personal Slack notifications use the same notification topics. You can customize which events trigger notifications based on your preferences.| Notification | Description |
|---|---|
| Merge is updated | The merge queue’s configuration was changed. This covers anything that changes how the queue acts, including: pausing or draining the queue, changing its mode, changing testing concurrency, and so on. |
| Pull request is submitted for merging | A pull request has been submitted to the queue |
| Pull request is admitted to the queue and is waiting to be tested | A pull request has been admitted to the queue and will begin testing as soon as it can |
| Pull request is testing | Trunk merge has begun testing a pull request |
| Pull request has passed tests | Testing has passed on a pull request. The PR will be merged when it reached the top of the queue |
| Pull request is merged | A pull request submitted to the queue has successfully been merged into its target branch |
| Pull request fails | Testing failed on a pull request and it was removed from the queue or Trunk failed to merge the PR into its target branch |
| Pull request is canceled | A pull request has been canceled, either manually or due to it reaching a configured testing timeout |
| Pull request failed and is waiting for PRs in front of it to finish testing | A pull request failed testing, but the pull request is currently waiting before being kicked. This can happen for one of two reasons: |