DEVOPS

On-demand removal MR for a single flag via Slack command

An operator names a flag in Slack; the workflow checks it has been fully rolled out 90+ days, then opens a GitLab removal MR assigned to its owner and replies with the link.

CategoryDevOps
Enginesim
Difficultybeginner
Triggerwebhook
Steps5
Setup~5 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSlack slash command with flag keySlack
  • ActionLoad flag rollout and metadataPostgreSQLPostgres
  • LogicGate on 90-day safety check
  • ActionOpen removal MR and assign ownerGitLabGitLab
  • OutputReply with MR link in threadSlack

What it does

Gives operators a one-shot, on-demand path to retire a specific flag. Triggered by a Slack slash command carrying a flag key, it validates the flag is genuinely safe to remove (fully rolled out for 90+ days, not experiment-tagged), opens a GitLab removal MR assigned to the owner, and replies in the thread with the MR link.

When to use it

Use it when an engineer already knows the exact flag to kill and does not want to wait for the weekly batch. It enforces the same 90-day safety check as the scheduled sweep, so manual cleanup can't skip the guardrail.

How it works

  1. 1A Slack slash command with a flag key triggers the workflow via webhook.
  2. 2A Postgres query loads that flag's rollout percentage, last-changed date, owner, and tags.
  3. 3A logic gate rejects the request if the flag is below 100%, younger than 90 days, or experiment-tagged, replying with the reason.
  4. 4If it passes, a GitLab action opens the removal MR and assigns the owner.
  5. 5A Slack reply posts the MR link back into the originating thread.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SlackChannels, DMs, threads, mentions.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect GitLabRepos, MRs, pipelines, registry.
  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.