Cadence Object Relationships
This diagram shows the relationships of Cadence Builder and tracker objects and their fields. For high-level information on the objects, see Cadence Objects. This section discusses the fields important to describing the action cadence graph and the tracking of active targets. For the full reference documentation, see Cadence Object Reference. These objects are read-only. You can use SOQL to query the object fields to inspect action cadences and create reports.
We refer to many of the objects as Cadence objects, but their API names start with ActionCadence.
The following fields relate the builder objects to one another to construct the cadence graph and define the builder operations. All builder objects relate to each other through foreign keys except the ActionCadenceStep to ActionCadenceStep record relationship. ActionCadenceStep records within an action cadence relate to each other through the StepName and ParentStepName string fields.
To learn more about what happens when you modify a cadence while it’s active, see Cadence Builder.
Name
: The name of the action cadence that you see in the UI.Description
: The description of the action cadence.State
: The state of the action cadence, which can beActive
,Deleting
,Draft
,Error
, orInactive
.FolderId
andFolderName
: The folder ID and name that contains the action cadence.ActivatedDate
: The date the action cadence was activated. Until the action cadence is activated, it is inDraft
state.LastEditedDateTime
: If an action cadence is edited after activation, this field is updated.
ActionCadenceId
: The ID of the action cadence this step belongs to.RootStepId
: The ID of theRoot
step of this action cadence.Type
: The step type. These values are allowed.Root
: The first step of the action cadence. There is always oneRoot
step. This appears as the Start step in Cadence Builder.AutoSendAnEmail
,SendAnEmail
, andMakeACall
: An action step to send an automated email, send an email manually, or make a call. You can use an email or callTemplateId
with this step.CreateTask
: A custom step. It has only two fields, theStepTitle
and optionalStepComments
. No special rules apply.Wait
: A wait step creates a delay between action steps. This step type requires aWaitTimeInSeconds
value.Branch
: A branch step following with a call. ActionCadenceRule and ActionCadenceRuleCondition records define the rule and rule conditions. TheBranchDefaultStepName
is the next step if the result is false. TheOutcomeNextStepName
of the ActionCadenceRule record is the next step if the result is true.ListenerBranch
: A branch step following with emails. It tracks what happens to the sent email. This step requires the same related objects and fields as theBranch
step to define the rule, rule condition, and next steps.
StepName
: The unique identifier for the step. If you use Cadence Builder, it is a GUID generated by Salesforce. It doesn’t appear in the UI.StepTitle
: The step name that you see in Cadence Builder.StepComments
: The step description that you see in Cadence Builder.ParentStepName
: TheStepName
of the previous step in the action cadence. This field is required unless the step type isRoot
or the step state isRetired
orOrphaned
.TemplateId
: The ID of a call script or email template if you want to use one with a call or email step.WaitTimeInSeconds
: The duration in seconds for this wait step. Required if the step type isWait
, unless the action cadence state isDraft
.BranchDefaultStepName
: Required if the step type isBranch
orListenerBranch
. This step is the first step of the branch that’s taken when the rule condition evaluates as false.ChainedCadenceId
: Required if the step type isDaisyChain
. When a target is on the last step of a path in the current action cadence, this is the ID of the action cadence the target goes to next.IsThreaded
: This field is valid for step typeSendAnEmail
. If true, the email for this email step is sent as a reply to the email conversation from the previous email step. By sending the email as a reply to a previous email, targets and users see a conversation view of the emails. This field can’t be true for the first email step in a cadence, because the first email from a cadence must start a new conversation with the target.HasVariant
: This field is valid for step typesAutoSendAnEmail
,SendAnEmail
, andMakeACall
. If true, the step has email or call template variants. The template variants are defined in ActionCadenceStepVariant records.GraphState
: The step state in the graph. These values are allowed.Included
: The step is inside the graph. If you add a new step, the state is automatically set toIncluded
.Pending
: This step has been created but hasn’t been added to the step graph. Pending steps can be added to the step graph at a later time.Orphaned
: A step that is deleted while the ActionCadence record is inDraft
state. When you delete a step in Cadence Builder before it is activated, the system removes it from Cadence Builder, sets the GraphState toOrphan
, and nulls theParentStepName
value. The step still appears in the database until it is deleted asynchronously upon action cadence activation. After a step isOrphaned
, you can’t add it back to the action cadence. We recommend avoiding building dependencies on orphaned steps.Retired
: A step that is deleted from graph after the cadence is activated. This step is not deleted from the database. After a cadence is active targets can be on the step and historical data (in ActionCadenceStepTracker records) can be associated with this step. When a step isRetired
, you can’t undo it. For more information on what happens to retired steps, see Cadence Builder.
GoToStepName
: If targets exist on this step and the step is deleted, this field tells the action cadence where to send the targets next when they complete the deleted step. If this field is blank, the target exits the cadence when they complete the step. The rules for this field are:- It can’t point to the
Root
step. - If the destination is a
Branch
step, the retired step must be aMakeACall
step. - If the destination is a
ListenerBranch
step, the retired step must be anAutoSendAnEmail
orSendAnEmail
step. - The destination and retired steps can’t both be
Wait
steps. The system doesn't allow twoWait
steps in a row. - The destination and retired steps can’t both
AutoSendAnEmail
steps.
- It can’t point to the
ActionCadenceStepId
: The ID of the step withHasVariant
set to true.TemplateId
: The call script or email template ID of the variant.SplitPercentage
: The percentage of targets that we expect to use this variant. The total percentage of variants must add up to 100%.Type
: Duplicate of the step type associated with this variant.
ActionCadenceStepId
: The ID of the associated step with step typeBranch
orListenerBranch
.ConditionLogic
: The logical operator used to evaluate the rule conditions. The only value isAND
. If this rule has several conditions, all must be true for this step to be true.OutcomeNextStepName
: TheStepName
of the step that the target we expect to go to if the result is true.RuleName
: The name given to the rule. Every rule in an action cadence must have a unique name. This name is not visible in the UI.ParentRuleName
: The value of theRuleName
field of the previous rule in the cadence. Must contain a valid rule name value unless this rule is the root rule withRootStep
type, in which case it isnull
.RuleType
: The type of step that this rule applies to. Possible values are:BranchStep
: The rule evaluates the condition of aBranch
orListenerBranch
step type of an ActionCadenceStep record.RootStep
: The rule evaluates a global exit condition defined byGlobalEventType
.
GlobalEventType
: Required if the rule type isRootStep
. If the action cadence rule contains a global exit condition, this field contains the type of event that the rule represents. A global exit condition can be, for example, exit on email hard bounce, exit on email soft bounce, or caller not interested. In these cases, the target exits the action cadence immediately. You can find the global exit condition types in our object references.GraphState
: The state of the rule. The options are the same as for ActionCadenceStep:Included
,Orphaned
,Pending
, andRetired
.
ActionCadenceRuleId
: The ID of the ActionCadenceRule that this condition is associated with.RuleConditionName
: The name of the rule condition. Every rule condition in an action cadence must have a unique name. This name isn’t visible in the UI.Resource
: The field to evaluate. Possible values are:CallDispositionCategory
: Used by theBranch
step type.EmailEngagement
: Used by theListenerBranch
step type.
Operator
: The conditional operator for this rule. The only value isEqual
.Value
: The event that your cadence rule condition listens for to decide when the event is complete. Examples areEmailOpen
,EmailLinkClick
, andCallNotInterested
.
These objects and their fields track targets as they move through active action cadences. The tracker and step tracker records are the runtime version of a target. The tracker and step tracker records are kept in the database to keep a history of targets and the steps they’ve completed.
ActionCadenceId
: The ID of the related action cadence.TargetId
: The ID of the lead, contact, or person account assigned to the action cadence target.CurrentStepId
: The ID of the current ActionCadenceStepTracker record for the step the target is on.State
: The state of the tracker.CompletionReason
: The reason that the target completed the action cadence.LastCompletedStepId
: The ID of the last completed ActionCadenceStepTracker record.ExitGlobalRuleId
: If the target exits because of a global exit condition, this field is the ID of the ActionCadenceRule record with the global exit rule. One example of a global exit condition is an email bounced because of an invalid email address.- Fields related to opportunities:
RelatedToId
: The ID of the opportunity related to the target, if one exists.RelatedToAttributionType
: This field defines when the cadence gets credit for the opportunity. You can attribute the opportunity to the cadence when the opportunity is created or only when the opportunity stage advances.CompletionDisposition
: The opportunity state on completion of the cadence. Sales reps can also set this value when removing a target from an action cadence.
ScheduledResumeDateTime
: The time when the action cadence is going to resume when it is paused or on a wait step.IsTrackerActive
: Indicates whether the action cadence target is active or not. If the state isRunning
,Paused
,Processing
, orInitializing
, an action cadence target is active. Only active targets count against the limit of 150,000 trackers.DaisyChainIteration
: The number of this action cadence in a sequence of linked action cadences followed by this target. This value starts at 1 with the initial action cadence. A target can follow a sequence of up to 10 linked action cadences.
ActionCadenceTrackerId
: The ID of the related tracker record.ActionCadenceStepId
: ActionCadenceStepTracker is the runtime version of an ActionCadenceStep. This field contains the ID of the related ActionCadenceStep.TargetId
: The ID of the lead, contact, or person account assigned to the cadence.State
: The current state of this step.CompletionReason
andCompletionDate
: The reason and the date that the target completed the cadence. A step is completed when the action is taken or the step is skipped by a sales rep.StepType
andStepTitle
: TheType
andStepTitle
of the related ActionCadenceStep.ActionCadenceId
andActionCadenceName
: The associated ID and name of the related action cadence.ActionTakenDateTime
: The date and time that the action described in this step was taken. If the action is scheduled, for example, send an email in 2 hours, this is the date and time the task is scheduled and not when the task is carried out. This field is useful for users and managers to see what steps are overdue.DueDateTime
andSecondsOverdue
: When a scheduled task is due and by how much it’s overdue.IsActionTaken
: Indicates whether somebody has taken action on this step tracker, true if the sales rep completed an action during this step, such as making a phone call. Otherwise, the value is false.CompletedById
: The user ID of the sales rep who completed this step for the target. A target can be assigned to a different user, such as yourself, another Sales Engagement user, or another target owner, before a step is completed.WasEverPaused
: If you pause a tracker, the step tracker is paused. Users can use the pause functionality to prevent overdue steps. Managers can query this field to see whether any users have excessive numbers of paused step trackers.