IT OPS

HR Termination Webhook to Cloudflare Access Auto-Revoke

When your HRIS sends a termination event, this looks up every Cloudflare Access app the departing employee can reach, revokes those grants.

CategoryIT Ops
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerHRIS termination webhook receivedHTTP webhook
  • LogicValidate payload and confirm terminated status
  • ActionFind all Cloudflare Access grants for the emailCloudflareCloudflare
  • ActionRevoke each matching Access grantCloudflareCloudflare
  • ActionAppend revocation results to Postgres logPostgreSQLPostgres
  • OutputConfirm revocation summary in SlackSlack

What it does

Turns an HR termination event into immediate, scoped revocation of Cloudflare Access. Instead of waiting for a nightly batch, it removes a departing employee's app grants the moment HR marks them terminated, then reports exactly what was revoked.

When to use it

Use this when you want real-time offboarding rather than a daily sweep, and your HRIS can fire a webhook on status change. It closes the window between termination and access removal that audits and incident reviews care most about.

How it works

  1. 1An HR webhook delivers a termination payload with the employee's email.
  2. 2A logic step validates the payload and confirms the status is `terminated`.
  3. 3It queries Cloudflare for every Access app and policy the email currently has.
  4. 4For each matching grant, it calls Cloudflare to remove the user from the policy.
  5. 5The revocation results, including any failures, are appended to a Postgres offboarding log.
  6. 6A Slack message confirms the employee, the apps touched, and any grants that failed to revoke for manual follow-up.

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 PostgresAny Postgres URL — query, write, migrate.
  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.