Newer Version Available

This content describes an older version of this product. View Latest

Flow

Use the Flow object to retrieve and update specific flow versions.

With Flow, you can create an application that navigates users through a series of screens to query and update records in the database. You can also execute logic and provide branching capability based on user input to build dynamic applications. For information about the corresponding UI-based flow building tool, see Cloud Flow Designer in the Salesforce Help.

When using the Tooling API to work with flows, consider that:
  • You can describe information for a flow installed from a managed package but not its metadata.
  • Every time you update a flow, you’re actually deleting the existing flow and creating a new flow from it, with a new ID.
  • To activate a flow, change the Status field to active.

Legacy flows created with the Desktop Flow Designer can’t be modified with the API. Update your flow by recreating it with the Cloud Flow Designer.

Note

You can delete a flow version, as long as it:
  • Isn’t active
  • Doesn’t have any paused or waiting interviews
If the flow version has paused or waiting interviews, wait for those interviews to finish, or delete them.

This object is available in API version 34.0 and later.

Supported SOAP Calls

create(), delete(), query(), retrieve(), update(), upsert()

Supported REST API HTTP Methods

DELETE, GET, HEAD, PATCH, POST

Fields

Field Details
Definition
Type
FlowDefinition
Properties
Filter, Group, Nillable, Sort
Description
This flow’s definition object.
DefinitionId
Type
ID
Properties
Filter, Group, Sort
Description
The ID of this flow’s FlowDefinition.
Description
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A description of the flow, such as what it’s meant to do or how it works.
FullName
Type
string
Properties
Create, Group, Nillable
Description
The full name of the flow in the Metadata API.

A unique name for the flow that contains only underscores and alphanumeric characters. The name must be unique across the org, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.

Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.
To deploy or retrieve a version, you can specify the version number. For example, sampleFlow-3 specifies version 3 of the flow whose unique name is sampleFlow. If you don’t specify a version number, the flow is the latest version.
ManageableState
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
  • beta
  • deleted
  • deprecated
  • installed
  • released
  • unmanaged

For more information about states of manageability for components in Salesforce AppExchange packages, see “Planning the Release of Managed Packages” in the Salesforce online help.

MasterLabel
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Label for the flow.
Metadata
Type
mns: Flow
Properties
Create, Nillable, Update
Description
The flow’s metadata.
Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance. If the flow is part of a managed package this field will be Null. Metadata isn’t returned for flows in managed packages.
ProcessType
Type
Restricted picklist
Properties
Filter, Group, Nillable, Sort
Description
The type of the flow. Valid values are:
  • AutoLaunchedFlow—A flow that doesn’t require user interaction.
  • Flow—A flow that requires user interaction because it contains one or more screens or local actions, choices, or dynamic choices. In the UI and Salesforce Help, it’s a screen flow. Screen flows can be launched from the UI, such as with a flow action, Lightning page, or web tab.
  • FieldServiceMobile—A flow for the Field Service Lightning mobile app. This value is available in API version 39.0 and later.
  • FieldServiceWeb—A flow for Snap-ins Appointment Booking. Its UI label is Field Service Snap-In Flow. This value is available in API version 41.0 and later.
  • Workflow—A process that is invoked when a record is created or edited. In the UI and Salesforce Help, it’s a record change process.
  • InvocableProcess—A process that can be invoked by another process or the Invocable Actions resource in the REST API. This value is available in API version 38.0 and later.
  • CustomEvent—A process that is invoked when a platform event occurs. In the UI, it’s an event process. This value is available in API version 41.0 and later.

These values are reserved for future use.

  • ActionPlan
  • JourneyBuilderIntegration
  • LoginFlow
  • OrchestrationFlow
  • TransactionSecurityFlow
  • UserProvisioningFlow

This value has significant impact on validation when saving the flow and on the flow’s runtime behavior. Don’t change this value unless you understand the flow properties of the specified type.

Note

Across versions, you can change the type from Flow to AutolaunchedFlow or vice versa.

Status
Type
Restricted picklist
Properties
Filter, Group
Description
The flow’s status:
  • Active
  • Draft
  • Obsolete
  • InvalidDraft
VersionNumber
Type
int
Properties
Filter, Group, Sort
Description
The flow’s version number.