Guides
  • Guides
  • Tutorials
    • File Management
    • Manage Identities
    • Storage Connectors
    • Automation with Flows
  • Overviews & Concepts
    • Clients, Scopes, and Consents
    • Collections and Endpoints
    • High Assurance Collections for Protected Data
    • Security Overview
  • Recipes & Manuals
    • Automating Transfer and Share of Data from Instruments
    • Automation with Service Accounts
    • GCS Default VirtualHost
    • GCSv5 Apache Reverse Proxy
    • Monitoring GCSv5
    • MRDP
    • Require Flow on Collection Transfer Actions
    • Use Globus Preview
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. Guides
  3. Tutorials
  4. Automation with Flows
  5. How to Create a Flow

How to Create a Flow

This overview will show you how to use the Globus Web App or Globus CLI to create a flow.

A flow is a series of steps that are performed in a specified order. The Globus Flows service provides managed and reliable execution of flows. You can create your own flows and allow other users and groups to see, run, or manage them.

1. Write a Flow Definition

A flow definition is a document that describes the actions that will occur when running a flow and the details necessary to perform them. Some steps in a flow — called actions — may interact with an action provider. Action providers can allow flows to access and modify resources within Globus or externally managed services.

You can incorporate Globus resources and capabilities in your flows by using Globus-provided action providers. You can also define and run your own custom action provider to expand the set of tools available to your flows.

A flow definition is a JSON document. These resources will help you get started with writing your flow definition:

  • You can start experimenting by creating a simple flow to move and share data using our Jupyter notebook.

  • You can use these example flow definitions as starting points for developing your own flows.

  • You can access several simple flow definitions in this GitHub repository.

  • You can view flow definitions that others have shared with you. To use one of these flow definitions to start building your own flow, login to the Globus Web App and select Flows from the navigation menu. Open the Library tab to find a flow you are interested in, selecting the flow to open up its Overview page. Open the Definition tab and expand the Definition section to view the flow’s definition. If you’d like to use this as the basis of a new flow, you can copy the definition and paste it into a new JSON file.

  • Our flow authoring guide provides detailed instructions for how to write a flow definition.

The Globus CLI flows Command Reference provides a description of available CLI commands and their options.

2. Write an Input Schema

An input schema is a document that describes the settings (called parameters) which a user can provide to customize a run of a flow.

As with the flow definition, you will write and edit this file, only uploading it once you are ready to register your flow with Globus. We provide a guide for writing input schemas and sample input schemas to get you started.

3. Create the Flow

Once you have written your flow definition and input schema, you are ready to register your flow with the Globus Flows service.

You can use the Globus Web App to create your flow. Login to the Globus Web App (app.globus.org). Open the Flows page from the navigation menu, select the Deploy a Flow tab, and then select the Deploy Flow button.

screenshot of flows management page with 3 steps

Fill out the form and select the Deploy Flow button.

screenshot of /flows/deploy

Alternatively, you can create your flow from the Globus CLI using the command:

$ globus flows create "FLOW_TITLE" FLOW_DEFINITION_FILE –-input-schema INPUT_SCHEMA_FILE

where FLOW_TITLE is the name of the flow, INPUT_SCHEMA_FILE is the file containing the flow's input schema, and FLOW_DEFINITION_FILE is the name of the file containing the flow definition.

4. Update the Flow and Set Flow Roles

Using the command below, you may update an existing flow's definition and input schema as well as metadata, such as the flow's title, keywords, and description. You may also use this command to assign roles, which determine who can see, run, or manage your flow. For a complete list of flow update options, see the globus flows update Reference.

$ globus flows update [OPTIONS] FLOW_ID

The Globus web application may also be used to update flow metadata and assign roles. To update a flow using the web application, select Flows from the navigation menu. In the Library tab, find your flow and select it to open the flow's Overview page.

5. Next Steps

Once you have created a flow, your next steps are probably to run it in order to test your work.

Refer back to the How to Run a Flow Tutorial for a description of how to run your flow.

  • Guides
  • Tutorials
    • File Management
    • Manage Identities
    • Storage Connectors
    • Automation with Flows
  • Overviews & Concepts
    • Clients, Scopes, and Consents
    • Collections and Endpoints
    • High Assurance Collections for Protected Data
    • Security Overview
  • Recipes & Manuals
    • Automating Transfer and Share of Data from Instruments
    • Automation with Service Accounts
    • GCS Default VirtualHost
    • GCSv5 Apache Reverse Proxy
    • Monitoring GCSv5
    • MRDP
    • Require Flow on Collection Transfer Actions
    • Use Globus Preview
© 2010- The University of Chicago Legal Privacy Accessibility