SECOPS

Phishing Campaign Blast-Radius Sweep

Webhook-triggered when an analyst confirms a phishing case; searches the Gmail tenant for other copies of the same malicious URL or sender, tallies every recipient.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerAnalyst confirms case via webhookHTTP webhook
  • ActionSearch tenant mail for matching indicatorsGmailGmail
  • LogicDedupe matches into recipient roster + count
  • ActionWrite incident record with affected recipientsPostgreSQLPostgres
  • ActionEscalate campaign incident over thresholdPagerDutyPagerDuty
  • OutputPost blast-radius report to incident channelSlack

What it does

Answers the question every responder asks after one phishing report is confirmed: who else got it? Given a confirmed indicator (sender or URL), it sweeps the mail tenant for matching messages, builds the full recipient list, and delivers a blast-radius summary so containment can scale to the whole campaign instead of one inbox.

When to use it

Right after triage confirms a malicious email. Use it to size the incident, prioritize password resets, and decide whether a single report is actually a wide campaign.

How it works

  1. 1An analyst confirms a case, firing a webhook with the malicious sender and URL indicators.
  2. 2The flow queries Gmail across the tenant for all messages matching either indicator.
  3. 3A logic step deduplicates and aggregates the matches into a unique recipient list with timestamps.
  4. 4The recipient roster and indicator details are written to a Postgres incident record.
  5. 5If the recipient count crosses your threshold, the case is escalated in PagerDuty as a campaign-level incident.
  6. 6A formatted blast-radius report is posted to the incident response channel in Slack.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect GmailRead, draft, send, label.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Connect PagerDutyIncidents, on-call, escalations.
  5. 5
    Connect SlackChannels, DMs, threads, mentions.
  6. 6
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  7. 7
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  8. 8
    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.