You are here:
Global Variables Resource
A system-provided variable holds information that can be referenced throughout the flow. For example, it can contain information about the Salesforce org, flow, running user, or triggering record.
Required Editions
| View supported editions. |
This video explains what variables are and how flows use them to hold data.
View this video in a separate tab.
This video explains variable types including common types, Boolean, Apex-defined, and collection variables.
View this video in a separate tab.
Use {!$User.Id} to access the ID of the user who’s running the flow
interview.
| Global Variable API Name | Label | Description |
|---|---|---|
$Api
|
API | The Session ID’s SOAP API endpoints. These merge fields are available.
|
$Client
|
Running User’s Client | The form factor of the running user’s device. Available only in Lightning
Scheduler flows and supported only in Decision elements.
$Client.FormFactor is automatically set to Large
(computer), Medium (tablet), or Small (phone),
depending on the device that’s running the flow. As you build a flow, use a Decision
element to create separate outcomes for large, medium, and small devices. In each
path, use screens that are optimized for that path’s device form factor. |
$ContactPoints
|
Contact Points | The contact points of the segment member. This variable is available only in segment-triggered flows and on-demand flows. These merge fields are available:
In segment triggered flows, this variable is available only if an activation template is selected. The contact point values are determined by the selected activation template. In on-demand flows, this variable is always available. The contact values are determined by the values entered for the API input. |
$Event
|
$Event | The event that triggers an automation event-triggered flow to run, for example, a form submission. With this variable you can access information about the event such as the event name. |
$Flow
|
Running Flow Interview | The flow instance while it’s running. For details, see $Flow Global Variables Resource. |
$Input
|
$Input | Input data that’s provided from outside of a flow. The flow can reference inputs
to perform logic and actions. For example, a prompt template in Prompt Builder sets
the Recipient input to Mary Smith. The prompt template provides the Recipient input to
the flow. The Recipient input is set to the Contact data type in the flow. To retrieve
Mary Smith’s contact record by first name, the Get Records element filters for
contacts with the First Name field equal to the value for $Input >
Recipient > First Name, which is Mary. Available only in the Prompt Flow
process type. |
$Label
|
Custom Label | A label in a custom label file in your Salesforce org. This global variable appears only if your org has custom labels. The returned value depends on the language setting of the contextual user. The value returned is one of the following, in order of precedence:
|
$Organization
|
Running Org | The Salesforce org where the flow is running. With this variable, you can access information like the organization’s name or address. |
$Permission
|
Running User’s Permission | The custom permission access of the user running the flow. |
$Output
|
$Output | Output data from a flow that’s available inside or outside the flow. The flow can
reference outputs to perform logic and actions. For example, a flow that’s associated
with a prompt template in Prompt Builder can reference $Output >
Prompt to assign text to a field on a record. Outside the flow, an
integrated app can merge the value that’s referenced by $Output. For
example, a prompt template merges the value of $Output into the
prompt template’s resolution. Available only in the Prompt Flow process type. |
$Profile
|
Running User Profile | The profile of the user running the flow. With this variable, you can access information like the license type or name.
|
$Record
|
Triggering Object, for example, Triggering Account | The record that triggered the flow. Available only in autolaunched flows with triggers. In a record-triggered flow, the
A schedule-triggered flow starts at the specified time and frequency for a
batch of records. A flow interview runs for each record in the batch and stores all
of the record’s field values in the |
$Record__Prior
|
Prior Values of Triggering Object, for example, Prior Values of Triggering Account | The triggering record before a change triggered the flow. Available only in record-triggered flows that are configured to run when a record is updated or when a record is created or updated. The When the flow is triggered
by a newly created record, all |
$Setup
|
Custom Hierarchy Settings | Your custom settings of type Hierarchical custom settings allow values at these levels. Salesforce determines the correct value for this custom setting field based on the running user’s current context.
|
$System
|
System | The system’s OriginDateTime ($System.OriginDateTime), which
represents the literal value of 1900-01-01 00:00:00. Use
this merge field to perform date/time offset calculations. |
$User
|
Running User | The user who’s running the flow interview. For example, reference the user’s ID or title.
|
$UserRole
|
Running User Role | The role of the user running the flow. For example, reference the role name or ID.
|
Global Variable Considerations for Flows
$Flowis the only global variable available in screen component visibility conditions.- In a record-triggered flow, the
$Recordglobal variable doesn’t contain the triggering record’s values for fields whose values are derived from other records. Examples of derived fields includeContact.NameandUser.MediumPhotoUrl. - Multi-select picklist, time, and location global variables are available only in formulas.
- If a field in the database has no value, the corresponding merge field returns a blank
value. For example, if no value is set for your org’s Country field,
{!$Organization.Country}returns no value. $Labelglobal variables take longer to load in the flow resource selection list. When selecting a$Labelglobal variable, if the$Labeloption isn’t visible in the flow resource selection list, close the window and try again in a few minutes.

