IT OPS

Cloudflare Decommission DNS Reconciler

Webhook-triggered reconciliation that, when an origin is marked decommissioned, finds every Cloudflare record pointing at it, opens a GitLab issue per record.

CategoryIT Ops
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerWebhook fires with the decommissioned originHTTP webhook
  • ActionPull and match Cloudflare records against the originCloudflareCloudflare
  • LogicKeep only records targeting the retired host
  • ActionOpen a GitLab cleanup issue per matching recordGitLabGitLab
  • OutputNotify the owning team in SlackSlack

What it does

When a host or service is decommissioned, the DNS pointing at it usually outlives it. This workflow listens for a decommission event, then immediately finds every Cloudflare record whose target resolves to the retired origin and turns each into a tracked cleanup task. It closes the loop between "we killed the server" and "we cleaned up its DNS."

When to use it

Wire it into your decommission runbook or infrastructure tooling so retiring an origin automatically kicks off DNS cleanup. It prevents the dangling records that webhook-driven teardown otherwise leaves behind.

How it works

  1. 1A webhook fires with the decommissioned origin's hostname or IP.
  2. 2Cloudflare records across all zones are pulled and matched against that origin.
  3. 3A filter keeps only records that actually target the retired host.
  4. 4A GitLab issue is opened per matching record, labeled `decommission-cleanup`, assigned to the record's owning group.
  5. 5A Slack message notifies the owning channel with the list of records and their tickets.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  3. 3
    Connect GitLabRepos, MRs, pipelines, registry.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.