The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →In AWS Step Functions, define the JSON your execution starts with, then deliberately shape the data each state receives and returns. For JSONPath workflows, InputPath, Parameters, ResultSelector, ResultPath, and OutputPath each control a different part of that flow. For JSONata workflows, use the documented $states values, Assign, and Output where supported. These AWS field names and rules are specific to Step Functions; other state-machine platforms may work differently.
How data moves between Step Functions states
Start an execution with JSON input. The first state receives that input, and each state’s output becomes the next state’s input. A task can also receive a shaped request and return a result that you combine with the state’s input. This means a transition is not simply a blind handoff: the workflow definition determines which data crosses each boundary.
As an Amazon Associate I earn from qualifying purchases.
Begin by defining the values the first state needs, their expected JSON structure, and which values are appropriate to propagate. AWS documentation establishes JSON as the data format and describes the flow controls below; it does not prescribe a universal application-level schema-validation method.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Choose JSONPath or JSONata deliberately
AWS recommends JSONata for new Step Functions state machines. If a state machine omits its query-language setting, it uses JSONPath for backward compatibility. The two are distinct expression models, and supported fields differ, so do not assume an expression or field from one model works in the other. See AWS’s data transformation guidance and variables documentation for the applicable syntax and support.
#1 Best Overall
JSONPath: use the processing fields in order
For a JSONPath Task state, reason through its data processing in this sequence:
InputPathselects the portion of the state’s input passed into the task’s processing.Parametersbuilds the task request. A key ending in.$can take its value from an input path. For example,"myMessage.$": "$.input.message"setsmyMessagefrom the nestedinput.messagevalue.ResultSelectorshapes the service result before it is placed in the state’s data.ResultPathdetermines how the result is combined with the original state input.OutputPathselects what the state outputs to the next state.
These controls have separate jobs. A narrow Parameters object can keep a task request focused; careless path selection or result placement can instead discard fields needed later or pass more data than the task needs. AWS explains the JSONPath processing sequence in its input and output processing documentation.
JSONata: refer to state input and context where supported
In JSONata workflows, $states.input refers to the original input for the current state, while $states.context exposes execution context. JSONata also provides Assign for variables and Output for shaping state output in supported states and fields. Variables can retain values for later states without repeatedly threading them through every intermediate output. Check the support rules for the exact state and field in the AWS variables documentation.
Recommended Free Tools
Keep data needed later without passing everything everywhere
When a later state needs an execution value, decide explicitly how it will remain available. In JSONPath, use the path and result-combination fields to preserve the necessary input while selecting the next state’s output. In JSONata, a variable assigned in a supported field can retain a value for later use. Avoid carrying unrelated fields just because they appeared in the initial execution input.
For execution input and output concepts, consult AWS’s input and output filtering guide. The specific mechanisms differ by query language, so keep each state machine’s expression model consistent and verify field support rather than mixing syntax by assumption.
Stay within the payload limit
AWS documents a maximum of 256 KiB of UTF-8 encoded data for task, state, or execution input or output. This is an AWS Step Functions service quota, not a performance benchmark or a limit for every workflow product. Check payload size at execution start, at state boundaries, and around service calls. If data may exceed the limit, AWS recommends storing it in Amazon S3 and passing an object reference instead; the state machine role then needs suitable access to that object. See the Step Functions service quotas and best practices.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Make the data flow and permissions part of safety
Pass only the data each state needs, and authorize the state machine role for the resources and operations the workflow actually uses. If a value is stored in S3, permissions to access that object are part of the design, not an afterthought. AWS’s security guidance describes IAM’s role in authorization; its shared-responsibility guidance also leaves customers responsible for considering data sensitivity, organizational requirements, and applicable law. These sources do not establish a blanket rule about which sensitive fields may appear in execution data or logs, so set handling and logging rules for the application and its obligations.
Free tools Windows power users keep installed
One-click scans. No signup required.
Relevant AWS references include IAM use with Step Functions and Step Functions security.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




