SECOPS
Escalate stale security-labeled GitLab MRs on a daily schedule
Runs each morning, finds security-labeled GitLab merge requests that have sat unreviewed past their SLA.
How it runs
The automated pipeline, trigger to output.
- TriggerDaily schedule
- ActionQuery open security-labeled MRs and label ageGitLab
- LogicBucket MRs by SLA breach
- ActionOpen PagerDuty incident for hard breachesPagerDuty
- OutputPost ranked stale-MR digest to SlackSlack
What it does
Each morning it scans open merge requests that carry a security label, calculates how long each has waited since the label was applied, and compares that against your review SLA. MRs over SLA are escalated: a PagerDuty incident opens for the worst offenders and a ranked Slack digest goes to the security team.
When to use it
Use it when security reviews quietly pile up and the only signal is someone eventually complaining. This turns aging review debt into a visible, paged signal on a predictable cadence.
How it works
- 1A daily schedule triggers the run.
- 2The flow queries GitLab for all open MRs with a `security::` label and reads each label's age.
- 3A filter splits MRs into within-SLA and over-SLA buckets.
- 4For MRs past a hard breach threshold, it opens a PagerDuty incident with the MR and current reviewer.
- 5It posts a Slack digest ranking the over-SLA MRs by wait time so the team can clear the oldest first.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect PagerDutyIncidents, on-call, escalations.
- 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 SecOps workflows
Post-Revocation Verification and Audit Logging
After a key is revoked, it confirms the old credential actually fails, verifies the replacement works.
Page on-call when a WAF rule mass-blocks legitimate traffic
On demand or every few minutes, it detects a single Cloudflare WAF rule suddenly blocking a broad spread of ASNs and paths (a likely false-positive storm).
PII Content Scan on New Dropbox External Share
When a file gets an external Dropbox link, it reads the file content, uses an AI classifier to detect PII or secrets.
Compile a weekly WAF tuning review with trends to Confluence
Every week an agent rolls up Cloudflare WAF block clusters by rule and ASN, compares them to prior weeks for trend direction.
Sensitive Dropbox Link Owner Remediation Loop
When a newly created Dropbox shared link points to a sensitive file, this workflow DMs the file owner, gives them a deadline to justify or revoke it.
GitLab Push Secret Detection to Block and History Purge
On a GitLab push that contains a detected secret, it revokes the exposed credential, opens a tracking issue with git-history purge instructions.
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.
