Request an exact quote
Cybersecurity · SOAR & security automation migration path

From Splunk SOAR (Phantom) to StackStorm

Replacing Phantom-lineage SOAR with event-driven StackStorm: converting visual playbooks to Orquesta workflows, rebuilding apps as packs, replacing prompts with inquiries, and accepting that StackStorm is an automation engine with no security opinions.

Effort
High
Est. timeline
~21 wks
StackStorm model
Free (open source)
Open source
Yes
▶ Model your savings in the interactive calculator

Splunk SOAR inherited Phantom’s architecture and Splunk’s commercial instincts, which means it is metered in a way that penalises exactly the behaviour you want: automating more of the alert queue. Per-action or per-user pricing sitting alongside an already ingest-metered SIEM is why teams start pricing alternatives. StackStorm is the open, event-driven automation platform most often reached for, and it is important to be precise about what it is: a superb engine with no security opinions whatsoever.

That framing determines whether this migration is a good idea for you.

Decide what you are actually replacing

Splunk SOAR does two jobs. It orchestrates, calling APIs, making decisions, taking actions. And it presents, giving analysts an incident view, case metadata, artifacts, and a place to work.

StackStorm does the first job extremely well and the second not at all. So the first question is which job your team relies on. If your SOAR mostly runs unattended enrichment and containment triggered by SIEM alerts, with analysts working in a ticketing system or SIEM console anyway, StackStorm is a clean replacement. If your analysts open Splunk SOAR every morning and work the incident queue inside it, you need StackStorm plus a case platform, and the case platform is the bigger half of that project.

Answer this before scoping, because it roughly doubles the work if the answer is the second one.

Phantom’s Python heritage is your biggest advantage

Unusually among SOAR migrations, you are not starting from an opaque export. Phantom playbooks are Python: the visual editor generates code, and that code is readable, exportable, and an accurate specification of what the playbook does, including the parts the diagram hides.

Export the Python for every playbook in scope and read it. You will find the actual API calls, the actual conditional logic, the actual error handling, and, frequently, the undocumented workarounds someone added years ago. That is your migration specification, and it is far better than the diagram.

Custom code blocks inside playbooks often survive nearly intact as StackStorm Python actions, with the phantom. SDK calls swapped for direct API calls or pack actions. The structural translation, blocks and their connections becoming Orquesta tasks and transitions, is mechanical enough to be quick once you have done two or three.

The mapping

  • Phantom playbooks → Orquesta workflows (YAML tasks with next transitions).
  • Playbook blocks → workflow tasks, with filters and decisions becoming transition conditions.
  • Custom code blocks → StackStorm Python actions.
  • Apps and connectors → StackStorm packs (action metadata plus a Python runner).
  • Assets and their credentials → pack configuration and StackStorm’s datastore or an external secrets manager.
  • Containers and artifacts → workflow parameters, plus records in your case platform.
  • Prompts → StackStorm inquiries, surfaced through ChatOps or your case tool.
  • Scheduled playbooks → StackStorm timers.
  • On-poll ingestion from the SIEM → a StackStorm sensor polling or receiving from the same source.

Sensors are where the architecture actually changes

Splunk SOAR ingests via app-specific on-poll routines, tightly coupled to the SIEM. StackStorm inverts this: sensors are long-running processes that watch something and emit triggers, and rules match triggers to actions or workflows.

Practically, this means the first thing you build is not a workflow at all. It is the sensor that receives your alerts, and the trigger schema that describes them. Get that schema right early and every subsequent workflow is easy; get it wrong and you will be reworking every workflow’s input handling later.

The pattern that works well is a webhook sensor receiving alerts pushed from the SIEM, with a normalised trigger payload containing the fields your workflows need (alert ID, severity, affected host, affected user, indicators). Normalise at the sensor, not in each workflow, exactly as you would enrich at ingest in a SIEM pipeline.

This inversion is also an improvement worth naming: because rules match triggers, one alert can fan out to several workflows, and adding a new automation later means adding a rule rather than editing a monolithic playbook.

Order of operations

  1. Decide whether you are replacing orchestration only, or orchestration plus the analyst workspace, and scope the case platform accordingly.
  2. Export playbook Python for everything in scope and rank by execution volume; retire the tail on purpose.
  3. Verify every integrated vendor has a documented API, independent of the Phantom app.
  4. Deploy StackStorm with capacity sized on peak alert rate, not average.
  5. Build the sensor and normalised trigger schema first, and validate it against real production alerts.
  6. Convert the highest-volume playbook, running it with actions stubbed to log-only.
  7. Compare outcomes against the live Splunk SOAR playbook until they agree over a meaningful sample.
  8. Enable real actions incrementally, lowest blast radius first, each with its own scoped credential.
  9. Wire inquiries into a response path analysts can actually reach out of hours, and test it out of hours.
  10. Cut over per playbook, disabling the Splunk SOAR original only after its replacement runs clean in production.

What you give up, stated plainly

No incident view. No artifact model. No case management. No security content out of the box. A much smaller library of security-vendor integrations. And no vendor to call when a pack breaks at 2am, because StackStorm’s commercial support landscape is thinner than its technical quality deserves.

Against that: no per-action meter, an engine that handles far more than security automation (many teams end up using the same StackStorm for infrastructure runbooks), a workflow definition format that lives in Git and reviews like code, and full control over an automation layer that is otherwise one of the stickiest components in a security stack.

Clearing the bar before you cut over

Every migrated workflow has run with stubbed actions and produced decisions matching the incumbent. The sensor has survived a peak alert burst without dropping triggers. Inquiries reach a human out of hours and have been tested doing so. Every action credential is newly minted and scoped. Failure paths, unreachable target system, API rate limit, malformed alert, have been deliberately exercised. And if analysts needed a workspace, the case platform is live and being used before Splunk SOAR goes away.

The short version

Splunk SOAR to StackStorm removes per-action metering and hands you an engine with no security opinions. The Phantom-to-Python heritage makes the logic translation unusually tractable; the sensor and trigger schema is the piece of architecture that decides whether the rest goes smoothly; and the analyst workspace is the thing StackStorm genuinely does not replace. Model the illustrative economics in the calculator above, count the case platform and the messaging infrastructure as part of the cost, and stub every action until the decisions match.

Tooling & automation for this path

Re-express Splunk SOAR playbooks as StackStorm rules, actions, and workflows (Orquesta YAML); Phantom apps become StackStorm packs calling the same APIs; move approval steps to StackStorm inquiries; keep both engines subscribed to the same alert stream and cut over per playbook.

Primary references: official StackStorm documentation ↗ and the Splunk SOAR (Phantom) documentation ↗ , always verify version-specific behavior against them before you migrate.

Frequently asked questions

Is StackStorm really a SOAR? It looks like general infrastructure automation.

It is an event-driven automation platform, and that is exactly the honest framing. StackStorm has sensors, triggers, rules, actions, and workflows, which is structurally everything a SOAR does, but it ships with no security content, no case management, no indicator handling, and no analyst-facing incident view. You are getting a very capable engine and building the security layer yourself. If your Splunk SOAR usage is mostly enrichment and containment automation, that is a good trade. If your analysts work incidents inside the SOAR interface, StackStorm alone is not a replacement and you should pair it with a case platform.

Do Phantom playbooks convert to StackStorm workflows?

Not automatically, but the conversion is more tractable than most SOAR migrations because Phantom playbooks are Python underneath the visual editor. Export the playbook, read the generated Python, and you have a readable specification of the logic. That becomes an Orquesta workflow (YAML defining tasks and transitions) calling StackStorm actions, with the genuinely custom logic surviving as Python actions. The visual block structure maps reasonably onto Orquesta's task-and-transition model.

What replaces Phantom apps and the connector library?

StackStorm packs, and you will write more of them than you download. The StackStorm Exchange has a broad library aimed at infrastructure (cloud providers, ticketing, chat, monitoring) but far thinner security-vendor coverage than Splunk SOAR's app catalogue. Writing a pack is straightforward, a YAML action definition plus a Python runner calling the vendor API, so budget a day or two per integration and check first that every vendor you depend on exposes a documented API.

How do we handle analyst prompts and approval steps?

StackStorm inquiries are the direct equivalent: a workflow pauses, raises an inquiry, and resumes when someone responds via the API, CLI, or ChatOps. It is functionally equivalent to a Phantom prompt but the interface is yours to provide, usually chat integration through StackStorm's ChatOps or a link from your case platform. Design that response path deliberately, because an approval mechanism nobody can reach at 3am is the same as no automation at all.

Can StackStorm handle our automation volume without per-action costs?

Yes, and removing the metering is much of the point. StackStorm executes actions against its own infrastructure with no per-action licence, so high-volume enrichment that was economically awkward under action-based pricing becomes free at the margin. The cost moves to running the platform: StackStorm needs RabbitMQ, MongoDB, and its own services, and at high concurrency that is a real deployment with real capacity planning. Size the action-runner pool against your peak alert rate rather than your average.

Model your 3-year cost

Pre-filled for Splunk SOAR (Phantom) → StackStorm; adjust every figure with your own numbers. Estimates are illustrative, not vendor quotes, see our methodology.

Sized at 10 analyst seats, cost is computed on this.
Stay on Splunk SOAR (Phantom) (3yr)
$180,000
Move to StackStorm (3yr + migration)
$88,500
Projected savings
$91,500 (51%)
Payback period
17.2 mo
Build a decision report from these numbers:

How this is licensed: Security is the category where the billing unit changes per segment: EDR/XDR bills per endpoint or per protected asset; SIEM bills by ingest volume (GB/day) or events per second; MDR, MSSP, and SOC-as-a-Service bill per endpoint or per asset for endpoint-centric services but per GB ingested for co-managed SIEM and SOC-as-a-Service; SOAR bills per analyst seat or per automation run; and vulnerability management bills per scanned asset. The calculator normalizes everything to protected endpoints so segments stay comparable; if you are modelling a SIEM or an ingest-priced SOC-as-a-Service specifically, treat one endpoint as roughly one asset generating logs and sanity-check the total against your GB/day contract.

Illustrative, editable figures, not vendor pricing (defaults reviewed May 2026).

Request a vendor-accurate StackStorm quote

A guided builder that turns your estimates into a requirements report (RFQ) you can send to a vendor, partner, or distributor for a binding quote, then feed the real prices back into the calculator above. How our estimates work.

  1. 1Size it
  2. 2Requirements
  3. 3Your details
  4. 4Channels & export

How big is your Splunk SOAR (Phantom) estate?

Every device that needs the agent installed. Not sure? Enter rough numbers, the distributor confirms exact counts later.

1,000 endpoints
Default mid-size assumption (1,000 endpoints)