ENGINEERING
Assign GitLab MR reviewers by current queue depth
When a merge request opens, picks the eligible code owner with the lightest current review queue and assigns them, then posts the pick to Slack.
How it runs
The automated pipeline, trigger to output.
- TriggerGitLab MR opened or marked readyGitLab
- ActionResolve code owners from changed filesGitLab
- ActionFetch each owner's open-review countPostgres
- LogicPick owner with lightest queue (tie-break by oldest assignment)
- ActionAssign reviewer and log assignmentGitLab
- OutputPost assignment to SlackSlack
What it does
Every time a GitLab merge request is opened or marked ready, this workflow finds the people who own the changed files, measures how many open reviews each of them is already holding, and assigns the one with the shallowest queue. It then announces the assignment in the team Slack channel so nobody has to chase it down.
When to use it
Use it when your team relies on CODEOWNERS but a handful of senior reviewers absorb most of the load while others sit idle. It enforces fairness automatically without a human triage step.
How it works
- 1A GitLab webhook fires on merge_request opened/ready events.
- 2The workflow reads the MR diff and resolves the matching code owners from CODEOWNERS.
- 3It queries Postgres for each candidate's count of currently assigned, unmerged reviews.
- 4A logic step picks the candidate with the lowest open-review count, breaking ties by least-recently-assigned.
- 5It calls GitLab to set that person as the MR reviewer and records the assignment in Postgres.
- 6A Slack message posts the MR link, the assignee, and their new queue depth to the engineering channel.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect PostgresAny Postgres URL — query, write, migrate.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Engineering workflows
Gate breaking API PRs behind downstream consumer acknowledgement
When a PR introduces a breaking contract change, comments the impact summary back on the PR, applies a blocking label.
Publish a versioned API changelog to Confluence on each release tag
On a new semver release tag, gathers the contract changes since the last release and writes a clean.
Agent reviews model-license fit and suggests compliant swaps on the PR
When a PR adds a Hugging Face model, an agent reads the model card and license, judges fit against your commercial-use policy.
Upgrade Impact Router to Module Code Owners
Maps a dependency-bump PR's affected modules to their CODEOWNERS, then DMs each owner on Slack with only the changelog slice that touches code they own.
Re-Voice IVR Prompts on Phone-Tree Config Merge
When a phone-tree config change merges in GitHub, regenerates the ElevenLabs audio for any prompt whose script changed in the diff and opens a follow-up PR adding the new audio…
Upstream Release to Notion Upgrade Brief
When a watched package publishes a new release, fetches the release notes, maps them to the internal modules that depend on it.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
