Anatomy of a cadence
A cadence belongs to your agency and is shared by the campaigns that use it.Steps
Each entry inschedule[] is one step. A cadence uses one of three shapes,
and every step in it must share that shape.
Every step can also carry:
label: a name for the step, shown in the dashboard.doubleDial: dial twice back to back if the first attempt is not answered.call: whether the step dials (enabled) and what the agent says on it.openingMessageis the agent’s first line when the lead answers.screeningPurposeis why you are calling, given when the lead’s phone screens the call. The agent still gives its own name, and the purpose does nothing if the agent has no call screening set up.voicemail: truewith avoicemailMessageleaves that message on the step’s last dial, in place of the campaign’s voicemail. Leave any of them out and the agent’s own opening and purpose, and the campaign’s voicemail setting (config.voicemailandconfig.voicemailMessageon the campaign), apply. Callbacks the lead asked for always use the agent’s own settings. A{{variable}}with no value is read out as written.additionalActions[]: things to do at this step besides calling. Each has atypeofsms,email,add-tagormove-stage. A message carries abodyor asnippetIdpointing at a GoHighLevel snippet, and an email asubject. A tag action carriestags. A stage action carriespipelineIdandstageId.delaySecondsandjitterSecondshold the action back and spread it out so a hundred leads do not all get the same text at the same second.
Editing a cadence safely
Leads are mid-cadence while you edit, so the update request carries the guards.schedulereplaces the steps.deletions[]names removed steps by index with astrategy:advancemoves leads sitting on that step to the next one,removetakes them out of the cadence.stepOrderreorders steps. Reordering changes what waiting leads do next, so it is refused unlessconfirmReorder: true.allowEmpty: trueis required to save a cadence with no steps.
The queue
The queue is the live view of who is waiting for what.- The pipeline steps endpoint returns how many leads sit on each step of a campaign.
- The pipeline leads
endpoint lists them. Each lead carries
queueId, itscadenceStep,callStatus,nextCallTime, whether it islive, whether it is acallback, andpipeline, which readsv2for the current queue andv1for legacy rows. - Callback leads are the people who asked to be called back and are queued for it.
- Parked speed-to-lead leads are the leads waiting for the calling window to open. See Speed to lead and power dialer.
Moving leads by hand
Three actions act on leads that are waiting. A lead on a live call or already finished is skipped, and the response lists each skip with its reason.- Run now places the lead’s next touchpoint immediately, ignoring its
nextCallTime. - Move puts leads on another step.
targetStepis zero-based, so0is the first step. - Remove takes leads out of the cadence.
queueId values, or selectAll: true to act on the
whole outstanding backlog matched by your filters. Selecting all on a busy
campaign can start a great many calls. Read the counts from the pipeline steps
first.
Boundaries
- A cadence belongs to the agency, not to a campaign. Editing it changes every campaign that uses it.
- Steps are relative to when the lead entered, not to the calendar, except clock-time steps, which pin the time of day.
- The calling window always wins. A step due at 3 a.m. waits for the window.
- The power dialer does not decide outcomes. The campaign workflow does, after each call.
In the API
- List campaign schedules, Get campaign schedule and Update campaign schedule
- Get pipeline steps and List pipeline leads
- List callback leads and List parked speed-to-lead leads
- Run lead touchpoints now, Move leads to another step and Remove leads from cadence
- Every field above is defined in the Glossary
Related
- Backfill existing leads fills a cadence with contacts already in the CRM.
- Contacts and leads shows
nextScheduledCallper person.
