PullNotifier Logo

PullNotifier

GitLab + Slack Setup Guide

Connect a GitLab group and start getting smart merge request notifications in Slack in five minutes.

Skip the doc and start now

The setup wizard walks you through every step below. Come back here if you get stuck.

Before you start

  • A gitlab.com account (self-managed GitLab is not supported yet)
  • The Maintainer role on the projects you want to connect, which GitLab requires to create webhooks. Only the person running the connect step needs it. Teammates need no special role.
  • Permission to add an app to your Slack workspace
  • About five minutes

Setup steps

Six steps, start to finish. Every screenshot below shows the real screen with placeholder data.

1

Log in with your GitLab account

Open the GitLab login page and click "Continue with GitLab". This is a standard OAuth sign-in against gitlab.com. There is nothing to install and no token to paste.

One clickAlready signed in with GitHub? Log out first. A session belongs to one provider, and your GitLab groups only appear in a GitLab session.

PullNotifier GitLab login screen with a Continue with GitLab button

Step 1: sign in at pullnotifier.com/gitlab-login

2

Authorize API access

PullNotifier asks for API access to your GitLab account. It uses this to list the groups you belong to and to register merge request webhooks on the projects you choose.

ScopesThe token reads merge request metadata and writes webhooks. Creating a webhook is a write, so the read-only read_api scope is not enough for this step. It never reads your source code, and you can revoke it at any time from GitLab under Settings, Applications.

Connect a GitLab group screen asking the user to authorize API access

Step 2: grant API access so webhooks can be registered for you

3

Choose the group to connect

Pick the GitLab group you want notifications for. Subgroups are supported, so connecting a parent group lets you pick projects from any subgroup underneath it.

Maintainer roleOnly groups where you hold the Maintainer role appear here. GitLab requires that role to create project webhooks, so a Developer or Reporter cannot complete this step.

Group picker listing the GitLab groups where the user is a Maintainer

Step 3: groups you can connect, filtered by your role

4

Pick the projects to notify on

Tick the projects that should send merge request notifications. Start with one or two noisy repositories, then add more later. Nothing is all-or-nothing.

Per projectWebhooks are registered per project, which is available on every GitLab tier including Free. Group webhooks, a Premium feature, are not required.

Project picker with several GitLab projects selected

Step 4: select projects, then click Connect

5

Confirm the webhooks were registered

PullNotifier registers the merge request webhooks for you and takes you to your dashboard. There is no YAML to write and no webhook URL to copy.

AutomaticYou can verify the result in GitLab under each project, Settings, Webhooks. Reconnecting later is safe: hooks are repaired rather than duplicated, and your settings survive.

Success message confirming the GitLab group is connected

Step 5: webhooks registered, heading to the dashboard

6

Connect your Slack channel

On the dashboard, click "Select Slack Channel" next to your group. Slack asks you to approve the app and pick the channel that should receive merge request notifications.

Slack OAuthFor a private channel, invite the app after connecting with /invite @PullNotifier. Public channels need no extra step.

Dashboard showing a connected GitLab group with a Select Slack Channel button

Step 6: pick the default channel for the group, or one per project

That is it, you are live

Your dashboard now shows the group, its connected projects, and the Slack channel each one posts to. The next merge request opened in any of them lands in Slack as a single message that keeps updating itself as the MR moves.

PullNotifier dashboard with a GitLab group connected to a Slack channel

A connected group, its projects, and the channel each one posts to

Fine-tune it (optional)

The defaults work out of the box. These three settings are the ones teams reach for first.

Set per-project rules

Open the gear icon on any project to set the approvals it needs, mute comment notifications, route by label, or send a specific author or reviewer to a different channel.

Project settings modal with notification toggles and channel mapping options

Per-project settings, including label and reviewer routing

Add a daily digest

Team Daily Reminders posts a summary of open and stale merge requests at a time you choose, in the timezone you choose. It is the fastest way to unblock reviews without nagging.

Team Daily Reminders panel showing a configured weekday digest

A weekday digest of stale merge requests

Map GitLab users to Slack users

Mapping turns notifications into real @mentions, so a review request actually pings the reviewer instead of printing their username as plain text.

GitLab to Slack user mapping screen pairing GitLab usernames with Slack users

Map once, then every mention resolves correctly

What you get

One live message per merge request, updated in place instead of a new post per event

Approvals, comments, and commits collected in the message thread

Notifications for opened, reopened, merged, closed, draft and ready transitions

Routing by label, author, or reviewer, per project or across the whole group

A daily digest of stale merge requests, in your timezone

Personal DMs for review requests and mentions

Real @mentions once GitLab users are mapped to Slack users

Works on GitLab Free, because it uses per-project webhooks

Troubleshooting

  • Your group is not in the list: you need the Maintainer role on it. Ask an owner to raise your role, or have them run the connect step instead.
  • Nothing arrives in a private channel: invite the app to it with /invite @PullNotifier. Public channels do not need this.
  • You logged in with GitHub by mistake: log out and sign back in with GitLab. Each session shows one provider's connections.
  • A project is missing after connecting: open "Configure Projects / Add New Project" on the dashboard and tick it there.
  • Mentions show as plain text: map the GitLab user to a Slack user on the mapping screen shown above.

Setup FAQ

How long does GitLab and Slack setup take?

About five minutes. Log in with GitLab, authorize API access, pick a group and its projects, then connect a Slack channel. PullNotifier registers the webhooks for you.

Do I need a paid GitLab plan?

No. PullNotifier registers per-project webhooks, which every GitLab tier includes, Free among them. Group webhooks, a Premium feature, are not required.

What GitLab role do I need?

Maintainer (or Owner) on each project you connect, and only for the person who runs the connect step. GitLab requires that role to create project webhooks, so a Developer or Reporter cannot finish the step. Teammates who use the notifications afterwards need no special role: any membership in the group, Guest included, is enough to see the dashboard.

Can I connect with a read-only scope or a lower role?

Not today. Webhook registration is the one write PullNotifier makes, and GitLab gates it behind both the api scope and the Maintainer role. Everything else (open merge requests, approvals, comments, members) is read-only. If you are not a Maintainer, ask one to run the five-minute connect step once; you can manage channels and rules afterwards with any role.

Does it work with self-managed GitLab?

Not yet. gitlab.com is supported today and self-managed support is on the roadmap. Contact us if your team needs it and we will keep you posted.

Can different projects post to different Slack channels?

Yes. Set a default channel for the group, then override it per project, or route by label, author, or reviewer from the project settings screen.

Are subgroups supported?

Yes. Connect a parent group and pick projects from any subgroup underneath it.

Why do I not see "changes requested" notifications?

GitLab fires no webhook and exposes no API state when a reviewer uses "Request changes", so no integration can detect it (tracked upstream as GitLab issue 592358). Approvals, comments, and every other review signal come through normally.

Can I add more projects later?

Yes. Click "Configure Projects / Add New Project" on the dashboard and tick the new ones. Projects that are already connected stay connected and cannot be unticked by accident.

PullNotifier logo

PullNotifier

Smart GitHub pull request notifications for Slack and Microsoft Teams. Built for teams that ship code review faster.

GitHub + Slack


ยฉ 2026 PullNotifier. All rights reserved.

PrivacyTermsPermissions