Use this utility to execute serverless Step Functions locally!

Usage no npm install needed!

<script type="module">
  import seiAtlStepFunctionExecutor from 'https://cdn.skypack.dev/@sei-atl/step-function-executor';



Use this utility to execute serverless Step Functions locally!


This module is installed via npm:

npm install --save-dev step-function-executor

Example Usage:

let { Serverless } = require('step-function-executor');

let serverless = new Serverless({ verbose: true });
serverless.load('../serverless.yml', {
  stage: 'test'
}).then(() => {
  let event = {
    context: {
      myParam: 'myValue'
  let context = {};
    .execute(event, context)
  .then(event => {
    console.log('Ending event state:', JSON.stringify(event, null, 2));


Create a new instance of a Serverless object:

new Serverless(options);
Name Type Required Default Description
options object false optional parameters
options.verbose boolean false false set to true to log extra information during execution

Load the serverless.yml configuration file:

[Promise] load(configPath, opt, replace)

Return value: a Promise of a serverless instance loaded from the serverless.yml config file

Parameters: Name | Type | Required | Default | Description ------------ | ------------- | ------------- | ------------- | ------------- configPath | string | true | | Relative path to the serverless.yml file to load opt | object | false | | Serverless variable options ${opt:var} replace | object | false | | Optionally replace other items within the serverless.yml before loading

Gets a step function by name, or first available, as defined by the serverless.yml config file.

[StepFunction] getStepFunction(name)

Return value: The step function Throws:

  • ItemNotFoundException: thrown if no step function was found
  • IllegalStateException: thrown if getStepFunction() is called before load()

Parameters: Name | Type | Require | Default | Description ------------ | ------------- | ------------- | ------------- | ------------- name | string | false | | If provided, retrieves the step function with the provided name. If not provided, retrieves the first step function that is defined.


  • [Date] description


step-function-executor is licensed under the MIT License.

All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.