StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, security responses, troubleshooting, deployments, and more. Includes rules engine, workflow, 2000+ integrations (see, ChatOps, etc. Installer at Questions?
Clone or download
LindsayHill Merge pull request #4495 from StackStorm/inquiry_exp
Move inquiries API path from /exp to /v1
Latest commit 5091747 Jan 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circle Apply sudoers fix for local 'circleci' user Jul 11, 2017
.circleci Revert "Use remove_windows_and_cloudslang_runner st2-packages branch." Jan 7, 2019
.github Simplified issue template Jun 8, 2018
conf Remove more deprecated runner stuff. Dec 4, 2018
contrib Add python_versions attribute for all the system bundled packs. Jan 9, 2019
dev_docs Cleanup pecan and jsexpose Feb 20, 2017
instructables Removed reference to AIO Jun 29, 2016
lint-configs Fix flake8 lint violations which are detected by new version of flake8. Oct 29, 2018
logs Fix: Add a logs directory Jul 14, 2014
pylint_plugins Various fixes and work-arounds for issues detected by new version of May 3, 2018
scripts Remove debug code. Nov 19, 2018
st2actions Reset the global coordinator on class setup and tear down Nov 28, 2018
st2api Move inquiries API path from /exp to /v1 Jan 11, 2019
st2auth More Python 3 compatibility fixes. Nov 19, 2018
st2client Missing path change in st2client Jan 12, 2019
st2common Move inquiries API path from /exp to /v1 Jan 11, 2019
st2debug Fix flake8 lint violations which are detected by new version of flake8. Oct 29, 2018
st2exporter Prod-friendly logging config path for st2exporter Oct 29, 2018
st2reactor Add a test case for it. Jan 7, 2019
st2stream Re-generate requirements files and upgrade to mongoengine 0.16.0. Nov 12, 2018
st2tests Add missing fixture file. Jan 8, 2019
tools Remove old and unused script. Dec 4, 2018
.agignore Add fields 'position' and 'locked' for params. Sep 30, 2014
.codecov.yml Increase codecov spammy threshold in % Feb 15, 2017
.coveragerc Use .coveragerc to control covered files, and omit certain files from… Jun 14, 2018
.flake8 Adding flake8/pylint rc files into search path Nov 10, 2016
.gitignore Adding command line switch for launchdev to set virtualenv. Adding gi… Nov 22, 2018
.gitmodules Replace submodule pack with a different pack. Apr 11, 2018
.pylintrc Adding flake8/pylint rc files into search path Nov 10, 2016
.scrutinizer.yml Update scrutinizer Jan 8, 2016
.travis.yml Also install libffi-dev on travis. Oct 23, 2018 Add HPE to ADOPTERS. Dec 29, 2018
CHANGELOG.rst Merge branch 'master' into inquiry_exp Jan 15, 2019 Create Jul 24, 2017
CONTRIBUTING.rst Fix typo in CONTRIBUTING.rst Oct 31, 2016
LICENSE Change README, add LICENSE. Oct 31, 2014
Makefile Merge branch 'master' into fix/virtualenv-osx Nov 26, 2018 Add section on how to report security issues to the readme. Dec 18, 2018
fixed-requirements.txt Fix kombu release version Jan 2, 2019
requirements.txt Fix kombu release version Jan 2, 2019
setup.cfg Set loglevel for nosetests to INFO Mar 24, 2017
stackstorm_logo.png Cosmetic changes to Nov 7, 2014
test-requirements.txt Update dev / test dependencies. Dec 13, 2018
tox.ini Remove more deprecated runner stuff. Dec 4, 2018


StackStorm is a platform for integration and automation across services and tools, taking actions in response to events. Learn more at

Tests Build Status Packages Build Status Codecov Scrutinizer Code Quality Python 2.7 CII Best Practices Join our community Slack Forum


StackStorm Overview

StackStorm 5 min Intro Video


StackStorm is a platform for integration and automation across services and tools. It ties together your existing infrastructure and application environment so you can more easily automate that environment -- with a particular focus on taking actions in response to events.

StackStorm helps automate common operational patterns. Some examples are:

  • Facilitated Troubleshooting - triggering on system failures captured by Nagios, Sensu, New Relic and other monitoring, running a series of diagnostic checks on physical nodes, OpenStack or Amazon instances, and application components, and posting results to a shared communication context, like HipChat or JIRA.
  • Automated remediation - identifying and verifying hardware failure on OpenStack compute node, properly evacuating instances and emailing VM about potential downtime, but if anything goes wrong - freezing the workflow and calling PagerDuty to wake up a human.
  • Continuous deployment - build and test with Jenkins, provision a new AWS cluster, turn on some traffic with the load balancer, and roll-forth or roll-back based on NewRelic app performance data.

StackStorm helps you compose these and other operational patterns as rules and workflows or actions; and these rules and workflows - the content within the StackStorm platform - are stored as code which means they support the same approach to collaboration that you use today for code development and can be shared with the broader open source community via for example.

Who is using StackStorm?

See the list of known StackStorm and Thought Leaders.

How it works

stackstorm component diagram

StackStorm architecture diagram

StackStorm plugs into the environment via the extensible set of adapters: sensors and actions.

  • Sensors are python plugins for inbound integration that watch for events from external systems and fire a StackStorm trigger when an event happens.

  • Triggers are StackStorm representations of external events. There are generic triggers (e.g. timers, webhooks) and integration triggers (e.g. Sensu alert, JIRA issue updated). A new trigger type can be defined by writing a sensor plugin.

  • Actions are StackStorm outbound integrations. There are generic actions (ssh, REST call), integrations (OpenStack, Docker, Puppet), or custom actions. Actions are either python plugins, or any scripts, consumed into StackStorm by adding a few lines of metadata. Actions can be invoked directly by user via CLI or API, or used and called as part of automations - rules and workflows.

  • Rules map triggers to actions (or to workflows), applying matching criterias and mapping trigger payload to action inputs.

  • Workflows stitch actions together into “uber-actions”, defining the order, transition conditions, and passing the data. Most automations are more than one-step and thus need more than one action. Workflows, just like “atomic” actions, are available in action library, can be invoked manually or triggered by rules.

  • Packs are the units of content deployment. They simplify the management and sharing of StackStorm pluggable content by grouping integrations (triggers and actions) and automations (rules and workflows). A growing number of packs is available on StackStorm community. User can create their own packs, share them on Github, or submit to StackStorm community repo.

  • Audit trail of action executions, manual or automated, is recorded and stored with full details of triggering context and execution results. It is is also captured in audit logs for integrating with external logging and analytical tools: LogStash, Splunk, statsd, syslog.

StackStorm is a service with modular architecture. It comprises loosely coupled service components that communicate over the message bus, and scales horizontally to deliver automation at scale. StackStorm has a full REST API, CLI client for admins and users to operate it locally or remotely, and Python client bindings for developer’s convenience. Web UI is coming soon.

StackStorm is new and under active development. We are opening it early to engage community, get feedback, and refine directions, and welcome contributions.


Additional documentation describing installation proceduces, action/rule/workflow authoring, and how to setup and use triggers/sensors can be found at StackStorm Docs.

Hacking / Contributing

To set up dev environment and run StackStorm from sources, follow these instructions.

For information on how to contribute, style guide, coding conventions and more, please visit the Development section in our documentation.


If you believe you found a security issue or a vulnerability, please send a description of it to our private mailing list at info [at] stackstorm [dot] com.

Once you've submitted an issue, you should receive an acknowledgment from one our of team members in 48 hours or less. If further action is necessary, you may receive additional follow-up emails.

For more information, please refer to

Copyright, License, and Contributors Agreement

Copyright 2014-2018 StackStorm, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

By contributing you agree that these contributions are your own (or approved by your employer) and you grant a full, complete, irrevocable copyright license to all users and developers of the project, present and future, pursuant to the license of the project.