Flows API
  • Globus Flows
  • Overview
  • Getting Started
    • How to Run a Flow
    • How to Monitor a Flow Run
    • How to Create a Flow
  • Authoring Flows
    • Introduction
    • Actions
    • Expressions
    • Choice States
    • Wait States
    • Fail States
    • Pass States
    • Protecting Secrets
    • Handling Exceptions
    • Performing Actions as Different Users
    • Run Context
    • Validating Flow Definitions
  • Authoring Input Schemas
  • Authentication and Authorization
  • Consents and Resuming Runs
  • Permissions
  • Limits
  • Hosted Action Providers
    • Hello World
    • Globus Search - Ingest Task
    • Globus Search - Delete Task
    • Send Notification Email
    • Wait For User Selection
    • Expression Evaluation
    • DataCite Mint
    • Transfer APs
    • Compute AP
  • Example Flows
    • Simple Transfer
    • Move (copy and delete) files
    • Transfer and Share Files
    • Two Stage Globus Transfer
    • Transfer After Approval
    • Looping Batched Move
    • Tar and Transfer with Globus Compute
Skip to main content
Globus Docs
  • APIs
    Auth Flows Groups Search Timers Transfer Globus Connect Server Compute Helper Pages
  • Applications
    Globus Connect Personal Globus Connect Server Premium Storage Connectors Compute Command Line Interface Python SDK JavaScript SDK
  • Guides
  • Support
    FAQs Mailing Lists Contact Us Check Support Tickets
  1. Home
  2. Globus Services
  3. Globus Flows
  4. Authoring Flows
  5. Pass States

Pass States

The Pass state ("Type": "Pass") passes input to output and does no work.

Primarily a Pass is used to manipulate a run's data or to act as a terminal success state (the opposite of a Fail state).

Pass states may contain a ResultPath, a JSONPath expression indicating where the input should be placed in the output from the state. If given an InputPath, a Pass state takes its input from a particular location in the flow run's current data.

Pass states may also contain a Result, containing static output data.

Pass states are also useful as terminal success states, for example after a Choice state.

Fields

The following fields are the valid parameters to a Pass state.

InputPath

A JSONPath expression, indicating a source in the run's current data. This is most useful when combined with ResultPath.

ResultPath

A JSONPath expression, indicating a source in the run's current data. This is most useful when combined with ResultPath.

Result

A static payload to use as the state output.

Next

The string name of the next state.

End

If set to true, the run terminates with a success upon reaching this state.

Either "End": true or Next must be set.

Examples

This Pass state specifies an InputPath and a ResultPath, which means it effectively moves data round.

{
  "Type": "Pass",
  "InputPath": "$.DataOrigin",
  "ResultPath": "$.DataDestination",
  "Next": "AfterPass"
}

This means that if the run's data, upon reaching this state is

{
  "DataOrigin": "0 degrees North by 0 degrees West",
  "DataTransitMethod": "Sneakernet"
}

then the run's data upon exiting this state, and transitioning to the "AfterPass" state, will be

{
  "DataDestination": "0 degrees North by 0 degrees West",
  "DataTransitMethod": "Sneakernet"
}

This Pass state puts all of the input data into the field named "Nested", then transitions to the state named "AfterPass":

{
  "Type": "Pass",
  "ResultPath": "$.Nested",
  "Next": "AfterPass"
}

This is a simple successful end state for a flow, phrased as a Pass:

{
  "Type": "Pass",
  "End": true
}
  • Globus Flows
  • Overview
  • Getting Started
    • How to Run a Flow
    • How to Monitor a Flow Run
    • How to Create a Flow
  • Authoring Flows
    • Introduction
    • Actions
    • Expressions
    • Choice States
    • Wait States
    • Fail States
    • Pass States
    • Protecting Secrets
    • Handling Exceptions
    • Performing Actions as Different Users
    • Run Context
    • Validating Flow Definitions
  • Authoring Input Schemas
  • Authentication and Authorization
  • Consents and Resuming Runs
  • Permissions
  • Limits
  • Hosted Action Providers
    • Hello World
    • Globus Search - Ingest Task
    • Globus Search - Delete Task
    • Send Notification Email
    • Wait For User Selection
    • Expression Evaluation
    • DataCite Mint
    • Transfer APs
    • Compute AP
  • Example Flows
    • Simple Transfer
    • Move (copy and delete) files
    • Transfer and Share Files
    • Two Stage Globus Transfer
    • Transfer After Approval
    • Looping Batched Move
    • Tar and Transfer with Globus Compute
© 2010- The University of Chicago Legal Privacy Accessibility