Introduction
Globus Flows provides the ability to define flows: compositions of discrete tasks called actions (e.g., API requests, conditional branching, etc.) that can be invoked as a single, logical operation. Flow definitions are finite state machines written in JSON. A definition must contain two fields:
-
States
-
StartAt
and optionally may contain a Comment
.
StartAt
is a string, and must match one of the keys in States
.
States
is an object whose keys are state names and whose values are states, each of one of the types documented here.
Data Within Flows
Flow runs (individual invocations of a flow) manage a data payload which is passed from each state to the next.
By default, the output of each state is written to the current payload, but
this can be manipulated by setting a ResultPath
which defines where in the
payload the data should be stored.
Data is referred to using JSONPath notation, which references the data being used by the current run of a flow.