Skip to content
AscendCore
Back to Runbook Library
Security Live in production

Security Alert Triage

IT-admin-initiated security triage: invoke /alert-triage on a user account when you spot suspicious activity, AscendCore proposes account suspension pending investigation, suspension executes only on explicit approval. Security-investigation events are recorded separately from offboarding for clean SOC 2 evidence.

Integrates with

Okta

The problem

When an IT or security admin spots suspicious activity on a user account — a strange login location in their SIEM, an alert in their Datadog dashboard, a tip from a manager — the first 15 minutes are the most expensive. The admin needs to suspend the account quickly, but the suspension itself needs an audit trail that distinguishes "investigation in progress" from "this person was offboarded" so downstream evidence reports stay clean.

What AscendCore does

An IT or security admin invokes /alert-triage <user-email> [reason] from Slack (or types the equivalent message in Microsoft Teams). AscendCore resolves the user in Okta, posts a propose-confirm card to the admin channel showing the user, current Okta status, and the admin's free-form reason, with two buttons: Suspend Pending Investigation (destructive) or Clear — No Action. On approval, the Okta account is suspended. On clear, no action is taken. Either outcome is recorded on the tamper-evident audit chain as a security-investigation event, kept separate from offboarding so SOC 2 evidence reports separate investigations from lifecycle events.

Commands

# Slack
/alert-triage <user-email> [optional reason text]

# Teams (DM the bot or @mention)
alert-triage <user-email> [optional reason text]

Examples:

  • /alert-triage sarah@acme.com suspicious login from new IP at 03:14
  • /alert-triage marcus@acme.com session from foreign country, manager flagged
  • /alert-triage ben@acme.com — reason omitted; admin will add context in audit notes

Workflow

  1. Invoke — IT/security admin types the slash command (Slack) or message (Teams) with the user email and optional reason
  2. Resolve — Okta lookup; surfaces disambiguation if multiple matches
  3. Propose — admin channel card with user identity, current Okta status, and the admin's reason; two buttons (Suspend / Clear)
  4. Approve — admin clicks Suspend (destructive) or Clear (no action)
  5. Execute: on Suspend, the Okta account is suspended; on Clear, nothing changes in Okta
  6. Notify — requester DM'd by the bot with the outcome
  7. Audit: the decision is recorded on the tamper-evident audit chain as a security-investigation event, separate from offboarding

Integrations

  • Okta: account suspension
  • Slack + Microsoft Teams — Admin-invoked entry point and approval surface, with full Block Kit and Adaptive Card parity

Roadmap: alert correlation

Starting a triage automatically from a Datadog or PagerDuty alert that names a user is on the roadmap. Today, admins invoke /alert-triage after seeing the alert.

Status

Live in production — admin-invoked flow shipped May 2026 with Slack + Teams parity, Okta suspension execution, and tamper-evident audit chain integration. Alert auto-correlation is on the roadmap as a separate enhancement.

How it runs

Deterministic, approval-gated, auditable

Each runbook is a fixed, reviewed sequence of steps with an explicit approval policy. The AI only works out what was asked; the runbook decides what happens, a named person approves it, and every decision lands on the tamper-evident audit chain. Chat is just the interface that triggers it.

Ready to deploy

Run security alert triage from Teams or Slack today

AscendCore deploys in days, not months for Slack + Okta or Teams + Entra stacks. See your first automated resolution the same day.