SECOPS

GitLab Blocked Secret Notify and Coach

When GitLab secret detection blocks a merge request, this workflow logs the event, emails the commit author with safe-removal steps.

CategorySecOps
Enginesim
Difficultybeginner
Triggerwebhook
Steps5
Setup~5 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab secret-detection block webhookGitLabGitLab
  • LogicRecord finding and start ack timer
  • ActionEmail author safe-removal stepsGmailGmail
  • LogicCheck acknowledgment after window
  • OutputEscalate unresolved cases to SlackSlack

What it does

Handles the high-volume, lower-severity case: a developer almost committed a secret and GitLab caught it. It coaches the author privately first and only escalates to the team if the issue lingers, keeping noise off the security channel.

When to use it

Use it when GitLab secret detection is enabled and most hits are developer mistakes caught pre-merge. Ideal for teams that want education and gentle escalation rather than a PagerDuty page for every blocked MR.

How it works

  1. 1A GitLab pipeline/secret-detection webhook fires when an MR is blocked for a detected secret.
  2. 2A logic step records the author, project, and finding, and starts an acknowledgment timer.
  3. 3An action emails the author with the exact file, line, and instructions to remove the secret from history and rotate it.
  4. 4A logic step waits and checks whether the author acknowledged or fixed the MR.
  5. 5If unresolved past the window, the workflow outputs a Slack escalation tagging the author's lead.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect GmailRead, draft, send, label.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.