AWS Step Functions
Express Workflows and the at-least-once delivery guarantee that makes idempotency mandatory, not optional, for every step.
A Step Functions Express Workflow runs a state machine, used here to handle what happens after an external verification succeeds (a matched EventMatched event triggers the workflow). Cheaper and faster than a standard workflow, meant for high-volume, short-duration executions.
The guarantee that matters most
Express Workflows guarantee at-least-once delivery to their targets. That's a documented promise, not an edge case: a step inside the workflow can genuinely run more than once for the same logical request.
The consequence: any Lambda function inside the workflow that writes data or triggers a side effect needs to be idempotent. Running the same step twice should produce the same result as running it once, whether that's a conditional DynamoDB write or an explicit idempotency key. See DynamoDB for the mechanics.
Where this showed up
- Same request twice should mean nothing changes: the full idempotency argument built on this guarantee.