# AWS Step Functions

> Serverless state machines wired into every AWS service

AWS Step Functions is a serverless orchestrator built on state machines: each step is a state that calls an AWS service or an external worker, execution history is retained and visually debuggable, and the bill is per state transition rather than per server.

Website: https://aws.amazon.com/step-functions/

## Use it when

- The pipeline is mostly AWS service calls; over two hundred services and nine thousand API actions are invocable directly from states.
- You want zero infrastructure: no scheduler, no workers, nothing running when nothing is scheduled.
- Error handling, retries, and human-in-the-loop callbacks should be primitives, not patterns you build.
- The workload splits cleanly: long-running exactly-once work on Standard, high-rate short work on Express.

## Think twice when

- Portability matters; state machines in Amazon States Language are AWS-only, where Temporal or Airflow move with you.
- The team thinks in data assets and dbt models; there is no modelling layer, no lineage, and no Python-native authoring.
- Payloads exceed 256 KiB; anything larger passes as S3 pointers.
- The Standard versus Express choice is subtle: it changes the delivery guarantee and the cost model, not just limits.

## How it runs

Fully managed and serverless: author a state machine in Amazon States Language or the visual editor, then trigger it from the API, an EventBridge rule, or EventBridge Scheduler cron. Standard bills per state transition with 4,000 free each month; Express bills per request and GB-second. Your own code runs in Lambda, containers, or any polling activity worker.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Commercial |
| Deployment | Managed, Serverless |
| Workload | Batch |
| Operational complexity | Low |
| Pricing | Subscription |
| Documentation | https://docs.aws.amazon.com/step-functions/ |

### Workflow Orchestration

| Attribute | Value |
| --- | --- |
| Authoring model | A state machine in Amazon States Language, with a visual editor over it |
| Task languages | None: Step Functions runs no code of yours. Lambda brings its own runtimes, ECS and EKS bring containers, and an Activity worker is any program that can make an HTTP connection, hosted anywhere, polling for work. The only authoring inside the service is JSONata or JSONPath over the data |
| Unit of work | A state in a state machine, a Task that calls something, plus seven flow states: Choice, Parallel, Map, Pass, Wait, Succeed and Fail. Map runs inline or as a Distributed Map for large fan-out, up to 10,000 parallel children |
| Passing data | JSON travelling between states and hard-capped at 256 KiB for any state input or output, with no offload, past that you pass an S3 pointer instead. Shaping is either JSONPath's five fields or JSONata's Arguments and Output, picked per state machine or per state through QueryLanguage, with Assign holding variables |
| Triggers | StartExecution from the API or SDK, an EventBridge rule over 140+ event sources, EventBridge Scheduler for cron and rate expressions, API Gateway, or a parent state machine, there is no scheduler inside Step Functions itself |
| Connectors | Over nine thousand API actions across more than two hundred AWS services through SDK integrations, a smaller optimized set adding run-a-job and wait-for-callback patterns, and an HTTP Task for third-party or private HTTPS APIs, capped at 60 seconds |
| Where tasks run | AWS runs the engine: states call over 200 services directly, with no substrate to size |
| Delivery guarantee | Standard is exactly-once; asynchronous Express at-least-once, synchronous Express at-most-once |
| Caching and reruns | No caching of any kind. The rerun primitive is redrive (restart a failed Standard execution from the step that failed, keeping the successful results and the same execution ARN) and it is gone 14 days after the execution closes, never available on Express, and bills the transitions again |
| Billing unit | Standard bills per state transition at $0.000025, with 4,000 free every month that never expire; Express bills $1.00 a million requests plus $0.00001667 a GB-second in 64MB chunks and has no free tier. Choosing the workflow type changes the cost model, not the rate |

## Capabilities

- [Workflow Orchestration](https://matca.io/capabilities/workflow-orchestration)

---

Source: https://matca.io/aws-step-functions
Last updated: 2026-08-31T11:40:47.604Z
