This guide outlines the steps to build a Schedule-Triggered Flow in Salesforce. This automation is designed to identify eligible leads who have remained unresponsive to Conversica outreach for at least 60 days and automatically enroll them in a dedicated re-engagement campaign.
Flow Type: Scheduled-Triggered Flow Status: Inactive (requires manual activation after setup)
Table of Contents
Step 1: Create the Flow
Step 2: Create Variable
Step 3: Configure the Start Element (Schedule & Object Filter)
Step 4: Add a Decision Element – "Check All Conditions"
Step 5: Add a Get Records Element – "Get Campaign"
Step 6: Add a Create Records Element – "Add to Campaign"
Step 7: Add End Elements
Step 8: Save and Activate
Resource Summary Table
Notes on Auto-generated variables
Screenshots
Flow Logic Summary
The flow runs on the cadence you specify in the Start Element and iterates over every Lead record where Conversica Last Response Date Is Null. For each such Lead, it checks whether the lead is in a "contactable" state (no bad Conversation Status values, not opted out of email, and added to Conversica 60+ days ago). If the lead passes all checks, the flow looks up the "Conversica Reengagement 2026" Campaign (replace with your own campaign) and creates a new Campaign Member record linking that Lead to the Campaign. If the lead fails the criteria check, the flow simply ends without taking action.
Step 1: Create the Flow
- Navigate to Setup → Process Automation → Flows and click New Flow.
- Select Scheduled-Triggered Flow as the flow type and click Create.
- Once in Flow Builder, click the flow title and name it. For this guide, we'll use:
Conversica Flow | Add Lead To Reengagement Campaign - Set the API Name to auto-populate or set it manually as appropriate.
Step 2: Create Variable
Formula Variable — DateSixtyDaysAgo
Purpose: Calculates a rolling date value representing exactly 60 days before today. It is used in the Check All Conditions Decision element to evaluate whether a lead's last activity date falls within (or before) that 60-day window, determining eligibility for re-engagement.
Steps to Create:
- In Flow Builder, click the Toggle Toolbox button to open the Manager panel
- Click New Resource.
- Set Resource Type to
Formula. - Enter the API Name:
DateSixtyDaysAgo. - Set Data Type to
Date. - In the Formula field, enter:
TODAY() - 60 - Optionally, click Check Syntax to validate the formula.
- Click Done.
Step 3: Configure the Start Element (Schedule & Object Filter)
Click the Start element and configure two sections:
Set a Schedule:
- Start Date: (Choose a Date)
- Start Time: (Choose the hour it should run)
- Frequency: (Once, Daily, or Weekly)
Choose Object and Filter Conditions:
- Object: Lead
- Condition Requirements: All Conditions Are Met (AND)
- Filter Condition:
○ Field: Conversica Last Response Date | Operator: Is Null | Value: True
This ensures the flow runs according to your cadence and processes only Lead records where no Conversica response date has been recorded.
Step 4: Add a Decision Element – "Check All Conditions"
Add a Decision element immediately after the Start element.
- Label:
Check All Conditions - API Name:
Check_All_Conditions - Description:
Criteria: Evaluate leads to ensure they are in a healthy status, have not opted out of email communication, and were created more than 60 days ago. - Decision Logic: Define Manually (Default)
Outcome 1
- Outcome Label:
Meets Criteria - Outcome API Name:
Meets_Reengagement_Criteria - Condition Requirements: All Conditions Are Met (AND)
- Conditions (all AND'd together):
| Resource | Operator | Value |
|---|---|---|
| Triggering Lead → Conversica Date Added | Greater Than or Equal | DateSixtyDaysAgo (formula/variable) |
| Triggering Lead → Conversation Status | Is Blank | False |
| Triggering Lead → Conversation Status | Does Not Equal | Unsubscribed |
| Triggering Lead → Conversation Status | Does Not Equal | Marked Spam |
| Triggering Lead → Conversation Status | Does Not Equal | Do Not Email |
| Triggering Lead → Conversation Status | Does Not Equal | Lead Requested Stop |
| Triggering Lead → Conversation Status | Does Not Equal | Email Bounced |
| Triggering Lead → Conversation Status | Does Not Equal | Malformed Email |
| Triggering Lead → Conversation Status | Does Not Equal | No Email |
| Triggering Lead → Conversation Status | Does Not Equal | Invalid Email |
| Triggering Lead → Email Opt Out | Equals | False |
Outcome 2 (default)
- Outcome Label:
Does not meet criteria - This is the system-generated default outcome (no conditions required).
Connect the "Meets Criteria" path to the next element and add an End element to the "Does not meet criteria" path.
Step 5: Add a Get Records Element – "Get Campaign"
On the "Meets Criteria" branch, add a Get Records element.
- Label:
Get Campaign - API Name:
Get_Campaign - Description:
Stores the record retrieved by the "Get Campaign" element, including the Campaign ID. This allows the ID to be passed into the "Add to Campaign" element later in the flow to ensure the lead is associated with the correct record. - Object:
Campaign
Filter Campaign Records:
- Condition Requirements: All Conditions Are Met (AND)
- Condition: Field:
Name| Operator:Equals| Value:Conversica Reengagement 2026
Sort Campaign Records:
- Sort Order: Ascending
- Sort By: Name
How Many Records to Store: Only the first record
How to Store Record Data: Automatically store all fields
Step 6: Add a Create Records Element – "Add to Campaign"
After the Get Campaign element, add a Create Records element.
- Label:
Add to Campaign - API Name:
Add_to_Campaign - Description:
Stores the ID of the newly created Campaign Member record. Once the flow links the lead to the campaign, Salesforce populates this variable so the record can be referenced or further processed in subsequent steps. - How to set record field values: Manually
- Object:
Campaign Member
Set Field Values for the Campaign Member:
| Field | Value |
|---|---|
| Campaign ID | Campaign from Get Campaign → Campaign ID |
| Lead ID | Triggering Lead → Lead ID |
Check for Matching Records: Disabled (toggle off)
Step 7: Add End Elements
- Connect the "Does not meet criteria" branch from the Decision element to an End element.
- Connect the output of the "Add to Campaign" Create Records element to a second End element.
Step 8: Save and Activate
- Click Save As New Version (or Save) and confirm the version details.
- Review the flow for any errors using the Debug button.
- When ready to go live, click Activate.
Resource Summary Table
| Variable | Type | API Name | Created By | Used By | Purpose |
|---|---|---|---|---|---|
| DateSixtyDaysAgo | Formula (Date) |
DateSixtyDaysAgo | Manually via New Resource | Check All Conditions | Calculates today minus 60 days for the eligibility check |
| Campaign from Get Campaign | Record (Single) Variable |
Auto-generated | Get Campaign element | Add to Campaign | Holds the retrieved Campaign record; provides the Campaign ID for the new Campaign Member |
| Campaign Member from Add to Campaign | Variable | Auto-generated | Add to Campaign element | (Available for downstream use) | Stores the ID of the newly created Campaign Member record |
Notes on Auto-generated variables
B. Record (Single) Variable — Campaign (from Get Campaign)
Purpose: Stores the single Campaign record retrieved by the Get Campaign Get Records element. This variable holds all of the Campaign's field values (including its Campaign ID) in memory so they can be referenced later in the flow — specifically, the Campaign ID is passed into the Add to Campaign Create Records element to associate the lead with the correct campaign.
Important note: This variable is automatically generated by Salesforce Flow Builder when you configure a Get Records element to store "only the first record" in a Record Variable. You do not create it independently; it is created as part of configuring the Get Campaign element.
Steps to Create (via the Get Campaign element):
- Add a Get Records element to the canvas.
- Set Label to
Get Campaign(API Name auto-populates asGet_Campaign). - Configure the Object and filter criteria to find the target Campaign record.
- Under How Many Records to Store, select Only the first record.
- Under Where to Store Field Values, select In a record variable → choose New Resource.
- In the New Resource dialog, set Resource Type to
Record Variable, set the Object toCampaign, and provide a name (the label "Campaign from Get Campaign" is assigned automatically or can be customized). - Ensure Store All Fields is selected (or choose specific fields as needed).
- Click Done. The variable
Campaign from Get Campaignnow appears in the Record (Single) Variables section of the Manager.
C. Record (Single) Variable — Campaign Member (from Add to Campaign)
Purpose: Stores the newly created Campaign Member record ID generated by the Add to Campaign Create Records element. After the flow creates the Campaign Member junction record (linking the lead to the campaign), Salesforce automatically populates this variable with the resulting record. It can be used in subsequent flow steps to reference or further process the newly created Campaign Member.
Important note: Like the variable above, this variable is automatically generated by Salesforce when you configure a Create Records element to save the resulting record ID into a variable.
Steps to Create (via the Add to Campaign element):
- Add a Create Records element to the canvas.
- Set Label to
Add to Campaign(API Name:Add_to_Campaign). - Set How to Set Record Field Values to
Manually. - Set Object to
Campaign Member. - Map the required fields:
- Campaign ID →
Campaign from Get Campaign > Campaign ID - Lead ID →
Triggering Lead > Lead ID
- Campaign ID →
- Scroll down to Manually assign variables (advanced) — check this box.
- In the variable assignment area, create a New Resource with Resource Type
Variable, Data TypeText(or Salesforce auto-assigns based on context) to store the resulting record ID. The label "Campaign Member from Add to Campaign" is assigned automatically or customized here. - Click Done. The variable
Campaign Member from Add to Campaignwill appear in the Record (Single) Variables section of the Manager.
Screenshots
Start Element | Choose Object and Filter Conditions
Decision Element | Conditions
Decision Element | Outcome Conditions
Get Records Element | Get Campaign
Create Records | Add to Campaign
Resources | Formula: DateSixtyDaysAgo (Toolbox)
Formula | DateSixtyDaysAgo – Edit View
Comments
0 comments
Please sign in to leave a comment.