SECOPS

Cloudflare API Token Rotation with Consumer Sweep

On a schedule or on demand, rotates a Cloudflare API token, propagates the new value to every consuming service recorded in Postgres.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerScheduled rotation kickoff
  • ActionIssue new Cloudflare token with matching scopesCloudflareCloudflare
  • ActionLoad consumers and write new token to each storePostgreSQLPostgres
  • LogicHealth-check every consumer; pause on failure
  • ActionRevoke old Cloudflare token after all passCloudflareCloudflare
  • OutputPost verified rotation report to SlackSlack

What it does

Rotates a Cloudflare API token safely by issuing the new token first, pushing it to every consumer, health-checking each consumer, and only then revoking the old token. This avoids the classic rotation outage where the old key dies before consumers pick up the new one.

When to use it

Use it for scheduled hygiene rotations of Cloudflare tokens, or to respond to a suspected exposure where you need a graceful, verified cutover rather than an instant kill.

How it works

  1. 1A scheduled trigger (or manual run) starts the rotation.
  2. 2An action creates a new Cloudflare API token with the same scopes as the current one.
  3. 3Postgres returns the list of services that consume the token.
  4. 4An action writes the new token to each consumer's secret store and triggers a redeploy.
  5. 5A logic step health-checks each consumer; any failure pauses the flow and alerts.
  6. 6Once all consumers are green, an action revokes the old Cloudflare token.
  7. 7Slack posts the completed rotation report with per-consumer verification status.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  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.