You are here:
Working with the Triggering Record in Record-Triggered Flows
When a record triggers your flow to run, Salesforce automatically stores that record's information in the triggering record variable. This variable gives your flow instant access to all the field values from the record that triggered the flow. You can read the field values, check them, and change them.
Required Editions
| View supported editions. |
Where to Find the Triggering Record
The Triggering {Record} $Record variable is available only in
record-triggered flows and schedule-triggered flows. If you're building a different type of
flow, such as a screen flow or autolaunched flow, you don't see Triggering {Record}
$Record because there's no triggering record for those flow types. In
those cases, use a Get Records element to get the records you want to work with.
When configuring elements or resources in a record-triggered flow, the resource menu lists the triggering record.
The record variable's API name is $Record, and the label is Triggering {Record}, where {Record} is the object of the record. For example, Triggering Contact. So, for this example, in the resource menu, you see Triggering Contact. To use the full record as a value click Triggering Contact. To use a field value on the Triggering Contact, click Triggering Contact and then the field.
What Makes the Triggering Record Special
The Triggering {Record} or $Record variable is a special type of record
variable that Salesforce creates and populates automatically when a record-triggered flow
runs. It contains all the field values from the triggering record. For example, you can
access the Account Name, Phone, Website, or any other field through
$Record.
How to Use Triggering {Record}
You can reference $Record throughout your flow to access the triggering
record's field values. Here are some examples of how to use $Record:
| Use case | Example |
|---|---|
| Read field values to decide the flow path | Use a Decision element to check if Triggering Account > Annual
Revenue is greater than 1000000, then route high-value accounts down a
different path in your flow. |
| Update field values directly in before-save flows | In before-save flows, use an Assignment element to change values in
Triggering {Record}. For example, set Triggering Quote >
Status to Approved and Salesforce automatically
saves that change to the database. |
| Update field values in after-save flows | In after-save flows, use an Update Records element to change values in
Triggering {Record}. For example, For How to Find Records to
Update and Set Their Values, select Use the account record that triggered
the flow. Then set Status to
Approved. |
| Enforce data quality rules | When you create an opportunity, check whether When you save a contact, check if |
| Smart field population | When you create a lead, check if $Record > Company contains
certain keywords. If it matches your existing account names, automatically populate
$Record > Lead Source to Existing Customer. |
| Copy values to other records | Reference Triggering Case > Owner ID when creating related
records to make sure that they have the same owner as the triggering record. |
| Create related records with context | When you create a case with $Record > Priority set to
Critical, automatically create a Task assigned to the manager and include
$Record > Case Number and $Record > Subject in
the Task description. |
| Send personalized notifications | When you update a custom order record, send an email to the customer that
includes $Record > Order Number, $Record > Status,
and $Record > Expected Delivery Date so they know exactly what
changed. |
| Use values in formulas and calculations | Calculate a discount based on Triggering Order > Total Amount
or concatenate Triggering Contact > First Name and
Triggering Contact > Last Name to create a full name. |

