Work

Built · API INTEGRATION & BOTS

Chat Operations Bot

Operational data lived in systems people had to log into, so nobody looked at it between incidents.

Security alerts enriched before a human reads them

  • Zoom Team Chat API
  • Zoom OAuth
  • Webhooks
  • n8n
  • REST APIs

Why chat

Chat is where the team already is. Putting the data behind a login means it gets checked when something is already wrong. Putting it in chat means it gets checked casually, which is when noticing something is cheap.

Build

  • Zoom Team Chat bot with slash commands, running through a Zoom OAuth app against internal service APIs.
  • On-demand operational stats without a console login or a context switch.
  • Ticket and time-entry confirmations posted back to the channel as they happen.

Where it became a security tool

The bot already had a channel, an API surface, and the team's attention. Adding sign-in triage to it cost almost nothing and removed the slowest part of the response loop.

When a suspicious sign-in fires, the bot performs the lookup a responder would have done by hand: address reputation, network ownership, geolocation, and whether the source looks like a datacenter or an anonymizing service. It posts the result to the owning channel with enough detail to escalate or dismiss.

How it fits together

  1. Identity and monitoring alerts risky sign-in raised
  2. Workflow automation event normalized and deduplicated
  3. Address enrichment reputation, network owner, geolocation
  4. Decision logic datacenter and anonymized sources separated
  5. Team chat verdict posted to the owning channel

Sign-in triage. Enrichment runs before anyone reads the alert.

Evidence

Screenshots are from running systems. Client names, user identities, addresses, and financial values are redacted.

Risk detection alert with network and reputation enrichment already applied.
Risk detection alert with network and reputation enrichment already applied.
Ticket time entries confirmed back to the channel.
Ticket time entries confirmed back to the channel.