Features | Pricing | Documentation | Contact | Blog

StepFunctions State Machine Destinations

Service Name: StepFunctions
ARN Format: arn:aws:states:{region}:{account}:stateMachine:${name and qualifier}
Style: Request/Response
Actions (required Permissions): states:DescribeStateMachine
states:StartSyncExecution (EXPRESS)
states:StartExection (STANDARD)
Payload Format: JSON Array

AWS StepFunctions State Machines are a very flexible and modern "compute on demand" option for implementing destinations. Proxylity's integration supports both STANDARD and EXPRESS state machines using the async and request/response patterns, respectively, and allows you to select the state machine execution model that best matches your business logic and cost/performance needs. Proxylity automatically detects the type of state machine using the states:DescribeStateMachine API, so please ensure the destination execution role includes that permission.

Similar to Lambda, the input to a StepFunctions destination is a JSON object with an array of packet request objects in the Messages property. Likewsie, the output is an object with an array of packet response objects in the Replies property. We've found that the recent addition of JSONata to StateMachines has greatly simplified use and expanded capabilties and highly recommend using it for StepFunctions destinations.

A STANDARD state machine destination provides no direct output, and cannot be used to generate replies.

An example State Machine destination that generates replies can be found ing our examples repository on GitHub.