Build Step Functions state machine ASL definitions with tasks, choices, and retries.
Last verified: May 2026
Build Step Functions state machine definitions using Amazon States Language (ASL).
Required Fields
CommentStartAtStatesOutput will appear here...AWS Step Functions orchestrates multi-step serverless workflows using the Amazon States Language (ASL), a JSON-based specification that defines states, transitions, error handling, and parallel execution branches. Writing ASL by hand is error-prone because of its strict schema requirements for state types (Task, Choice, Parallel, Map, Wait, Pass, Succeed, Fail), input/output processing with JSONPath, and retry/catch configurations. The Step Functions Workflow Builder provides a guided interface for assembling ASL definitions with correct state structures, transition logic, and error handling, generating valid JSON that can be deployed directly to Step Functions.
Your team is migrating a 12-step order pipeline from a Lambda function chain (where each step's failure required custom retry logic) to Step Functions. The builder generates ASL with: 5 Task states for AWS service integrations (DynamoDB, SNS, Lambda for custom logic), Choice state for branching on fraud check result, Wait state with callback for human approval, retry config on transient errors, and catch block routing to a Fail state with detailed error info. End-to-end pipeline visibility goes from 'Lambda logs scattered across CloudWatch groups' to 'one execution graph showing every step'.
Express workflows are billed per execution, duration, and memory — but they cap at 5 minutes. If your workflow occasionally exceeds 5 minutes on retries (e.g., slow downstream service), it silently fails. Always set a CloudWatch alarm on ExecutionsFailed for Express workflows.
State transitions in Standard workflows include every Pass, Choice branch evaluation, and Map iteration. A Map state iterating over 1,000 items generates 1,000+ transitions. Use Express workflows for high-iteration Map states to avoid bill shock — Express's per-execution model is dramatically cheaper for fan-out work.
Use the AWS SDK integrations directly from Task states instead of writing Lambda glue. A Task state that calls dynamodb:GetItem directly is faster, cheaper, and simpler than a Lambda function that does the same call. Most Lambda glue functions in workflows can be replaced with native SDK integrations.
The builder generates Amazon States Language (ASL) JSON definitions with: state types (Task, Choice, Parallel, Map, Wait, Pass, Succeed, Fail), transitions (Next/End/Default), input/output processing (InputPath, ResultPath, OutputPath, ResultSelector), retry configurations (ErrorEquals, IntervalSeconds, MaxAttempts, BackoffRate), and catch blocks. Output validates against the ASL schema before generating, surfacing common mistakes like unreachable states or undefined transitions.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.