A GitLab merge request review desk your team opens daily

See every open merge request across your GitLab projects in one board, spot who is buried in reviews, and reassign, comment, nudge or merge right from the row.

App
GitLabSlack BotEngineeringResearch & MonitoringAI Reports
PromptCreate

Build me an app my engineering team opens every morning: a review desk showing every open merge request across all of our GitLab projects in one table, with actions on every row so we can clear the queue from the board instead of clicking through GitLab project by project.

The main view is a single table of open merge requests. Handlers should call GitLab List User Projects to get every project the connected account belongs to, then call List Project Merge Requests with state opened for each project and combine the results into one list. Each row shows the project name, the merge request title and its iid (the number shown in the GitLab UI), the author, the assigned reviewers, the target branch, whether it is still a draft, how many days it has sat since the last activity (from updated_at), and the latest pipeline result for its source branch, fetched with Get Latest Pipeline against the source branch ref. When someone expands a row, load the full record with Get a Single Merge Request and the recent commits on the source branch with List Commits so they can see what is actually in it.

Add a reviewer load column. Compute it in the handler by grouping the combined open merge request list by reviewer and counting, so each row shows how many other open reviews that reviewer is currently holding. There is no GitLab endpoint for this, it is a group-by over the list we already fetched. Also give the board a reviewer load panel listing every reviewer with their open count, sorted heaviest first, so it is obvious who is sitting on eight reviews and who has none.

Default sort is stalled first: anything with no activity for three or more days floats to the top with a clear stalled marker on the row. Give me a toggle to hide drafts and a My queue view filtered to merge requests where the signed in person is a reviewer. Resolve who that is with Get Authenticated User and match on the GitLab user id. Let me also filter by project and by author.

Every row has actions. Reassign reviewers and take a merge request out of draft with Update a Merge Request (set reviewer_ids for the first, clear the draft state for the second). Leave a comment with Create a Merge Request Note. Merge it with Merge a Merge Request, and surface the result, or the reason GitLab refused, in the app rather than failing silently. Nudge the reviewer in Slack with the Slack Bot Send a Message action, resolving the reviewer to a Slack user with Look Up User by Email where an email is available and otherwise letting me pick the person or channel. The nudge should include the merge request title, its link, and how long it has been waiting.

Each row also gets a Brief this MR button that kicks off a background agent. The agent pulls the merge request with Get a Single Merge Request, the commits on its source branch with List Commits, the latest pipeline for that branch with Get Latest Pipeline, and, when the title or description references an issue, that issue with Get a Single Issue. From those it writes a plain English brief covering what changed, what is blocking the merge request right now (failing pipeline, draft state, no reviewer, stale branch), and where the risk sits. It posts the brief as a comment on the merge request with Create a Merge Request Note, and the app stores and shows the same brief on the row so the team can read it without opening GitLab. Show a running or complete state on the button and keep the latest brief with its timestamp.

Two GitLab details to get right. Project ids in paths must be URL encoded, so a namespace path like my-group/my-project becomes my-group%2Fmy-project. And GitLab returns iid separately from id, where iid is the number people see in the UI and the one the merge request and issue endpoints take. Note that our GitLab operation set has no diff endpoint and no approvals endpoint, so the brief has to be built from the merge request record, its commits, its pipeline and the linked issue rather than from reading a code diff, and approval state is not available to show. Page through the merge request lists so busy teams do not silently lose rows off the bottom.

What does this prompt do?

  • One table of every open merge request across all the GitLab projects you belong to, showing the author, the reviewers, how many days it has sat without activity, whether it is still a draft, and the latest build result for its branch.
  • A reviewer load column that makes it obvious who is sitting on eight reviews and who has none, so work gets spread instead of stacked on the same two people.
  • Act on any row without leaving the page: swap reviewers, take something out of draft, leave a comment, merge it, or send the reviewer a Slack nudge.
  • A Brief this MR button that hands the merge request to a background assistant, which reads the commits, the latest build and the linked issue, writes a plain English summary of what changed and what is blocking it, posts that as a comment, and shows it in the app.

What do I need to use this?

  • A GitLab login with access to the projects you want on the board
  • A Slack workspace, if you want the nudge button to reach reviewers
  • Nothing to set up in advance: the board reads live from GitLab each time you open it

How can I customize it?

  • Change the stalled threshold from three days to whatever your team treats as too long
  • Limit the board to certain projects or groups instead of everything you belong to
  • Reword the Slack nudge, or send it to a team channel instead of a direct message

FAQs

Do I need a paid GitLab plan for this?
No. GitLab's own merge request and code review analytics are Premium and Ultimate features, but this board is built from the standard merge request, commit and pipeline data that every plan exposes, including free.
Where does the reviewer load number come from?
It is worked out inside the app by counting how many open merge requests list each person as a reviewer. GitLab does not report that number anywhere, which is exactly why the column is worth having.
Does it cover all my projects or just one?
Every project your GitLab login has access to, pulled into a single table, so nobody has to click between repositories to find out what is waiting.
What does the Brief this MR button actually read?
The merge request itself, the commits on its branch, the most recent build for that branch, and the issue it references. It writes the summary from those, so it explains what changed and what is blocking the merge rather than reviewing the code line by line.
Can the whole team use the same board?
Yes. The My queue view filters down to merge requests where the signed in person is a reviewer, so everyone gets their own list out of the same app.

Related templates

Location scouting workbench for picking your next site

Type in a candidate address and get a scorecard of nearby competitors, foot traffic anchors, and drive time from every site you already run.

Geolocation
Google Sheets
Slack Bot
App
Newsletter send desk for drafts you write in Google Docs

Move every draft from Drive to your email list in one screen: pick the audience, see the real recipient count, and send without fixing formatting by hand.

GetResponse
Google Drive
Google Docs
+1
App
Track every laptop, license and who has it right now

One register for every piece of equipment and every software seat, with a dated record of who had what, so nothing depends on a shared spreadsheet again.

General Input Database
Slack Bot
Google Sheets
App
GitLab repo standards board with one-click fix merge requests

See which GitLab projects have the files and settings your team agreed on, and turn every gap into a merge request someone reviews.

GitLab
Slack Bot
App
Search what customers actually say across your Gong calls

One screen where sales, success, and marketing can search every call transcript by keyword, watch mention trends, and share AI summaries to Slack.

Gong
Slack Bot
App
A review board for GitBook change requests across every space

See every open docs edit from all your spaces in one queue, with the oldest floating to the top, and approve, comment, or merge without leaving the page.

GitBook
Slack Bot
App

Stop hunting for merge requests project by project.

Open one board every morning that shows what is stalled, who is overloaded, and what you can merge right now.