SOAR Tools

4 SOAR Playbook Examples and Why They Break in Production

4 SOAR playbook examples for phishing, malware, enrichment, and account takeover, plus why fixed branches break and where reasoning agents fit.
published on
October 8, 2026
by
Go Back

What is a SOAR playbook?

A SOAR playbook is a pre-authored, rule-based response workflow that a security orchestration, automation, and response platform executes when an alert matches defined criteria.

How SOAR playbooks work

Every SOAR playbook is built from the same three parts, no matter which platform runs it.

Trigger

The condition that starts the run. A trigger matches incoming alert attributes against criteria the author defined, such as a detection name, a severity threshold, an asset tag, or the source integration that raised the alert. Nothing executes until an alert satisfies those criteria, so a trigger written too narrowly leaves the playbook idle on alerts it was built for.

Decision logic

The reasoning an engineer wrote in advance, held as if-then branches. Each branch tests one fact the run has already gathered. Is the file hash known bad or unknown? Is the affected host a domain controller or a contractor laptop? Was the sending domain registered last month? Each of those branches was written by someone with a specific incident in mind.

Approved actions

The bounded operations the platform is permitted to take at the end of each path. Creating a ticket, quarantining a mailbox message, isolating a host, revoking a session, or escalating to a named analyst queue. Actions that change the environment usually go through an approval gate defined by the team, while read-only lookups run unattended.

A SOAR playbook executes one path per alert. The alert fires in the SIEM or an integrated detection tool and matches a trigger's criteria. The orchestration engine then evaluates the branch conditions in the order the author wrote them. Each satisfied branch calls an integration or takes an approved action.

Execution is identical every time, which is the design goal. Runs finish in seconds, repeat exactly, and leave a complete record behind. That same fixed structure is the limit the rest of this guide returns to, because a playbook covers only what its author anticipated.

Common SOAR playbook end states

Every run finishes in one of three states, and the mix across a library tells a team how much of the queue the automation is really absorbing.

  • Automatic closure. The playbook reached a verdict inside its own logic, resolved the alert, and closed it without an analyst opening the case. High-volume, low-ambiguity alert types account for most of these, and they are the runs that make a library look successful in a monthly report.
  • Escalation. The playbook gathered context, stopped short of a verdict, and handed the enriched alert to an analyst queue. The analyst inherits a case with the lookups already done, which is a faster start than a raw alert and still one more item on a person's desk.
  • Held for approval. The playbook reached an action it can't perform on its own, such as isolating a host or disabling an account. The run pauses at the gate until somebody approves or rejects it, so an approval queue nobody watches turns a fast playbook into a slow one.

Which steps run unattended and which stop for approval

Each team picks the automation level by policy, not capability.

  • Manual. Documents the sequence and waits for an analyst to trigger each step.
  • Semi-automated. Runs enrichment on its own, then pauses at a decision point for human approval before making any changes.
  • Fully automated. Runs end-to-end without pausing, which teams reserve for reversible actions such as session revocation or mailbox purge.

Most production libraries are heaviest in the middle, where a playbook already concedes that some judgment cannot be encoded in advance.

    What is the difference between a playbook and a runbook?

    A runbook is a documented procedure a human reads and follows, applying judgment wherever the document is silent. A SOAR playbook is that same procedure written for machine execution, with every judgment call resolved in advance as a branch condition. Most playbooks started life as somebody's runbook, and the conversion is the moment the discretion disappears.

    Four SOAR playbook examples every SOC should run

    Almost everything a SOC automates falls into one of four playbooks. Each fits fixed logic for the same three reasons. The decision is bounded, the action reverses, and the volume is high enough that consistency beats case-by-case judgment.

    1. Phishing email triage and remediation playbook

    Trigger: A user-reported message or an email gateway flag.

    The playbook works the message from the outside in, starting with what the mail headers reveal about origin and routing, and ending with a mailbox-wide cleanup once the verdict comes back bad. Every step tests an indicator against a source that returns yes or no, which lets the whole sequence run without a person.

    Automated steps‍

    • Parse the headers to extract sender authentication results, the originating IP, and the routing path.
    • Detonate embedded URLs and attachments in a sandbox.
    • Check hash and domain reputation against threat intelligence sources.
    • Search every mailbox for the same message and purge confirmed matches.
    • Notify the reporting user and open a ticket recording the run.

    ‍

    Fixed logic fits because the verdict set is known in advance, and a purge reverses from quarantine.

      2. Malware and EDR containment playbook

      Trigger: An endpoint detection verdict above a severity threshold.

      The playbook builds the picture around the detection before it touches the host. Process lineage and hash reputation determine whether the endpoint comes off the network or stays on it, and the asset tier determines how quickly that happens.

      Automated steps‍

      • Pull the full process tree around the flagged execution.
      • Check the file hash against reputation and intel sources.
      • Attach asset context, including owner, business criticality, and exposure.
      • Isolate the host when the verdict and the asset tier both clear the policy bar.
      • Open a ticket with the evidence chain attached.

      ‍

      Fixed logic fits because isolation can be reversed in one click, and the containment decision follows documented policy. A binary with no reputation history has no branch of its own and lands in the analyst queue.

        3. Alert enrichment playbook

        Trigger: Any inbound SIEM alert.

        This playbook changes nothing in the environment. It answers the questions an analyst would otherwise open four consoles to answer, and it attaches those answers to the alert before anyone reads it.

        Automated steps

        • Look up the asset owner and business criticality.
        • Enrich indicators with threat intelligence.
        • Resolve geolocation and compare the login against known egress ranges.
        • Rescore severity from the combined context.
        • Route the alert to the queue that the score points to.

        Fixed logic fits because every operation is read-only, so the highest-volume playbook in the library is also the lowest-risk one.

        4. Account compromise and impossible travel playbook

        Trigger: A geographically implausible login pair for one identity.

        The response here is already written into identity policy, so the playbook enforces it rather than deciding it. Speed matters more than certainty, because the actions cost a legitimate user one re-authentication and cost an attacker the session.

        Automated steps

        • Compare both sign-ins against corporate VPN ranges and known egress points.
        • Check MFA results and device compliance for each session.
        • Revoke the active session.
        • Issue an MFA challenge to the account.
        • Notify the user's manager and open a ticket.

        Fixed logic fits because the policy is binary, and revocation costs the user one re-authentication. Geolocation is the noisiest of the four inputs, so this playbook also has the highest false-positive rate.

        Each fit holds only as long as the incident resembles the one its author had in mind.

        A phishing message redirecting through a compromised legitimate domain, or an impossible-travel pair caused by a VPN gateway migration, breaks the assumption while the branch logic runs to completion.

        SOAR playbook limitations

        Every SOAR library hits the same five limitations, no matter which platform runs it. They all come from writing the response before the incident happens.

        1. Only the author knows why a playbook works

        A playbook is one engineer's answer to one incident, written down as branches. The branches are all that gets written down. Nobody records why a branch exists or which edge cases the author skipped, and that knowledge leaves with the author. The team inheriting the library can run it but cannot safely change it, so old playbooks stay live for years. Deleting a playbook nobody understands is riskier than leaving it running.

        2. Every tool change means rewriting playbooks by hand

        A new EDR tool means every containment branch needs a second way to connect. Upgrade an API and every call built on the old version fails, and a rewritten correlation rule stops the playbook firing at all.

        Every playbook points at something somebody else owns and can change without warning, so the rewrites pile up faster than the engineers can work through them. Organizations running 300 or more playbooks spend 20 to 40 hours a month on maintenance alone. At the top of that range, one engineer loses a full week every month to upkeep. Each new tool adds to that total.

        3. Playbooks run the same steps on every alert

        The phishing playbook runs the same header checks and sandbox detonations on a mass spam run and on a targeted lure sent to three people in finance. Nobody wrote a branch for the difference, so the platform handles both the same way. Volume is not the problem. A library built over years closes familiar alerts all month without a human touching them, then stops dead at the first alert nobody planned for. Every new kind of alert needs a new branch, and somebody has to write it.

        4. A broken playbook reports success

        A playbook checks every condition its author wrote and no others. A Splunk decision block sends each piece of alert data down the first matching branch, then stops checking. No later branch sees that data.

        What happens to data that matches nothing depends on how the author set up the block. With no default branch, the run fails outright, which is loud and easy to see. Teams add a default branch because failed runs create their own alerts to chase.

        That default branch is what makes the failure silent. The unmatched data takes the default path, the run finishes normally, and the log looks the same as a run that checked the alert and found nothing wrong. Nobody auditing the log can tell those two runs apart. An analyst works an escalation sent to the wrong place with the wrong details, or a real event closes quietly, and nobody finds out until they go looking.

        5. The same people fix playbooks and chase threats

        The engineer best equipped to run down an alert nobody can explain spends the week on branch rewrites and data format fixes instead. Alerts a playbook cannot finish land on whoever picks up the ticket, and ticket queues don't sort by experience. Every hour of playbook upkeep is an hour not spent investigating.

        Why SOAR playbooks break in production

        Playbooks fail in two distinct ways, and teams buy separate fixes because the symptoms look unrelated.

        Environment drift forces a manual rewrite every time the stack changes

        • A new EDR tool means every containment branch needs a second integration path.
        • A deprecated API version fails every call that depended on the old schema.
        • A rewritten correlation rule leaves the trigger criteria matching nothing because it was built against the old output.

        Every SOAR playbook in the library inherits the same dependency, so branches multiply faster than the people authoring them can keep current. The load keeps scaling long after the build is declared finished.

        An unmatched alert closes looking like a resolved one

        When an alert deviates from the encoded pattern, the workflow routes it to the default branch and finishes.

        An analyst then burns a cycle on a misrouted escalation with the wrong context, or an event that deserved attention closes quietly, and neither surfaces until someone looks for it. No branch structure can flag a pattern it wasn't built to recognize.

        A broken playbook completes cleanly instead of throwing an error

        Branch evaluation is exhaustive against the conditions the author wrote, and only those. A Splunk decision block passes an artifact to the first condition it matches and stops evaluating there. That artifact is then unavailable to any later branch.

        What happens to an artifact matching nothing depends on how the author configured the block. With no default branch, the run fails outright, which is loud and easy to see. Teams add a default branch because failed runs generate their own alert noise.

        Adding that default branch is what turns a loud failure into a quiet one. The unmatched artifact takes the default path, the run completes normally, and the execution record reads the same as a run that checked the alert and found nothing wrong. Nobody auditing the log can tell those two runs apart.

        The engineers best equipped to investigate spend their hours authoring branches

        Branch rewrites, integration testing, and schema fixes fill the calendar of the person best equipped to run down an ambiguous alert. Hours spent on SOAR playbook upkeep come out of investigative capacity, which is the same capacity the automation was bought to free up.

        Reasoning agents versus fixed playbook branches

        A reasoning agent chooses its path at runtime. It forms a hypothesis about what the alert represents, gathers evidence to test it, and decides its next step based on the evidence.

        CriterionFixed-branch playbookReasoning agent
        When the response path is decidedMonths in advance, by whoever authored the branchAt runtime, from the evidence the investigation returns
        Handling a variation nobody anticipatedTakes the default branch or fails the runForms a new hypothesis and tests it against available data
        Upkeep when the stack changesManual rewrite of every affected branchTool and data access reconfigured once, at the connector
        How it failsSilently, and indistinguishably from a clean negative verdictConfidently and wrongly, unless the agent is narrowly scoped and its data complete
        Where it belongsBounded, reversible, high-volume, policy-driven actionsContext-heavy judgment calls no author can specify in advance

        How a hybrid workflow splits the work

        Strike48 runs hybrid workflows that send judgment calls to narrowly scoped cognitive agents and leave everything else on pre-written branches.

        Fixed playbooks keep the policy-driven actions

        Bounded, reversible steps stay on pre-written branches, where they have always worked well. A reasoning layer doesn't remove those playbooks, and they still cost authoring time.

        Strike48's SOAR playbook builder in Prospector Studio drafts them with AI assistance and writes them directly into existing SOAR tooling. That cuts the hours spent hand-authoring the branches a team intends to keep. The same builder writes detection rules and searches every domain table for gaps in security content coverage.

        Agents take only the calls a script can't anticipate

        In Strike48's pre-built SOC package, that means alert assessment, patient-zero discovery, and forensic evidence collection. Specialist agents hand work to each other, so no single model carries the whole mandate.

        Three guardrails that keep the agent from guessing

        Each agent is scoped at retrieval and at execution

        A defined persona and a knowledge graph queried through GraphRAG limit what it can retrieve. A constrained toolset exposed through the Model Context Protocol limits what it can touch.

        Humans approve the consequential actions

        Host isolation and remediation wait for a human decision, and every agent action writes to a verifiable audit trail.

        The agent can reach every log source the investigation needs

        An agent reasoning over an incomplete log environment returns a wrong answer faster than a human would. The architecture only works when the agent can reach every log source the investigation needs.

        Strike48's flexible data foundation queries logs where they already live, through search-in-place connectors for S3, Splunk, and Elastic. No source gets dropped for cost reasons before an agent ever runs against it.

        Shift maintenance hours back to investigation

        Branch rewrites stop following every integration change. Incident variations surface for review while they still mean something, and senior analysts spend their hours making judgment calls and approving actions that carry consequences.

        Hybrid architecture

        Where do the deterministic and cognitive boundaries sit?

        Strike48's security solutions page walks through the hybrid architecture end-to-end, including where the deterministic and cognitive boundaries lie and where the approval gates are.

        The maintenance figures and the case study behind them are in the SOAR alternative post.

        Teams that want to run the hybrid model alongside an existing library can start with Strike48's pre-built agent packages.

        Frequently asked questions

        What is a SOAR playbook?

        A SOAR playbook automates one incident-response workflow from end to end.

        An engineer defines the alert conditions that start it, writes the if-then branches that decide what happens next, and approves the actions it may take, such as opening a ticket, quarantining a mailbox, or isolating a host.

        Because every branch is written in advance, identical alerts receive identical handling.

        How does SOAR differ from SIEM?

        A SIEM collects log data, correlates events across sources, and raises alerts. A SOAR orchestrates the response actions that follow. Most SOCs run both, with the SIEM triggering the response and the SOAR platform executing it.

        What are examples of SOAR tools?

        Standalone orchestration platforms sell automation as their primary product.

        SOAR modules inside SIEM suites add response execution to an existing detection stack, as Falcon Fusion does. Agentic platforms add reasoning on top of orchestration and decide response steps per incident at runtime.

        Are SOAR playbooks becoming obsolete?

        No. They remain the correct tool for policy-based, reversible, high-volume decisions, where pre-written branches deliver consistency and auditability that reasoning cannot improve on.

        What is moving off them is the investigative reasoning they were never architectured to perform.

        Juan Del Rio

        Juan Del Rio

        Juan Del Rio is the Distribution & Enablement Coordinator at Strike48