PRFlow

GitLab merge requests in Slack. Always know what's blocking merge.

Pipelines, approvals, and what's left before merge — live in the channel each team already watches. Reviews get picked up sooner, and nobody opens GitLab just to find out why something stalled.

Connect GitLab to Slack

Only reads merge requests, pipelines, and project metadata. Never your code.

Free for up to 3 users. Works with gitlab.com and self-managed GitLab.

# platform-team
PRFlow 9:52 AM
CI passed
Approvals 1/2 — 1 more needed
1 unresolved thread
acme/platform-web · Dana Gregory (@dgregory) · perf/org-lookup-cachemain
SR3 repliesView thread
PRFlow 11:47 AM
Merged into main
acme/platform-web · Sam Rivera (@samr) · fix/flaky-retrymain

More merge requests. The same reviewers.

Coding agents raised how many merge requests a team opens. Nobody's review capacity moved. So the queue grows, and every merge request waits longer for its first review.

The expensive part is the wait: the merge request nobody has noticed, and the reviewer who would have looked an hour ago had they seen it go up. PRFlow puts the ask in the channel the team already reads, with its state attached.

One card per merge request. Always the current state.

The channel shows what's open and what each one is waiting on, instead of a scroll of state changes nobody reads.

Waiting on a second approval
PRFlow 9:14 AM
CI passed
Approvals 1/2 — 1 more needed
acme/platform-web
Ready to merge
PRFlow 9:14 AM (edited)
CI passed
Approvals 2/2
acme/platform-web
Merged
PRFlow 9:14 AM (edited)
Merged into main
acme/platform-web

How it works

01

Connect GitLab

OAuth for gitlab.com, or a read-only personal access token for gitlab.com and self-managed instances. PRFlow finds your top-level group and binds the workspace to it.

02

Add the webhook

Copy your workspace's unique webhook URL from PRFlow into GitLab — one group webhook covers every project, or add it per project on GitLab Free. Set the optional secret token and PRFlow verifies each delivery.

03

Write a routing rule

Connect Slack, then add a rule: match one project or a pattern like acme/platform-*, and pick the channel. From then on every merge request posts itself and stays current, and comments sync to its thread — the discussion is one click away.

Simple pricing

Every feature included on every plan, even the free one.

Free
$0/month
  • Up to 3 users
  • All features included
  • Unlimited projects and channels
Pro
$4/user/month
  • Unlimited users
  • All features included
  • 14-day free trial

A user is any merge request author whose MR triggers a notification in a given billing period. Reviewers and commenters who never open one don't count.

See full pricing details →

PRFlow never sees your code

One read-only scope — read_api — whether you connect with OAuth or a personal access token. No write access anywhere: PRFlow cannot change anything in GitLab, on gitlab.com or on your own instance.

What it reads: merge requests, approvals and discussions, pipelines, and project metadata. It never requests repository files, diffs, or commit contents.

Merge request comments come through that same read-only scope, which is how comment sync works. PRFlow reads them and relays them to Slack. It never reads the code they are attached to.

Each workspace gets its own unguessable webhook URL, and you can set a secret token that PRFlow verifies on every delivery.

Frequently asked questions

Permissions, self-managed instances, and setup

I already get merge requests in Slack. What's different?

Most integrations, including GitLab's built-in Slack notifications, post an event — opened, approved, merged — so a busy channel becomes a scroll of state changes and people mute it. PRFlow posts one card per merge request and updates that card in place, so the channel shows what is open and what each one is waiting on, rather than a history of what happened.

What access does PRFlow need to GitLab?

One read-only scope: read_api, for OAuth connections and personal access tokens alike. It covers merge request, approval, discussion, and pipeline metadata. PRFlow never requests write access, and it never reads repository files, diffs, or commit contents.

Does PRFlow support self-managed GitLab?

Yes. Connect any self-managed instance reachable over HTTPS with a read-only personal access token — the same features as gitlab.com, including pipeline status, approvals, and comment sync. OAuth sign-in is available on gitlab.com.

What do I need to set up?

Connect GitLab with OAuth or a personal access token, add PRFlow's webhook URL in GitLab — one group webhook covers every project, or add it per project on GitLab Free — then connect Slack and add a routing rule. A few minutes end to end, all from PRFlow's settings.

Ready to make the channel legible again?

Connect GitLab, point one webhook at PRFlow, and the next merge request your team opens shows up in the channel. Free for up to 3 users.

Connect GitLab to Slack

Full setup details in the GitLab integration docs.