- Writes name who is acting. An API key identifies a team, not a person, and the Sequencer
records who did what, so writes take a
user_idthat must be an active team member.get_teamlists them. Onlist_sequencer_tasksandget_sequencer_task_summary,user_idis instead a filter on the assignee. - Some writes reach people. Enabling a sequence with an email step lets it send, and completing
a
manual_emailtask sends that email. There is deliberately no bulk complete. - Preview before you enroll.
preview_sequencer_enrolmentshows who would be added and who would be refused, and changes nothing.preview_sequencer_policydoes the same for a draft rule set. - Bulk tools keep going. The bulk tools handle each ID on its own, so one refusal does not stop the
rest. Read the
failed(or, forbulk_create_sequencer_tasks,skipped) list in the response. - A retry the server makes is safe; a repeated call is not deduplicated. Every
POSTexcept the three previews carries anIdempotency-Key, and the server’s one automatic retry after a rate limit reuses it, so that retry cannot act twice. When the assistant calls a tool again, for example after a timeout, the request has a new key: check what happened with a read first. - The tools build interval sequences.
create_sequencer_stepandupdate_sequencer_stepset delays withinterval_secondsand cannot give a step a fixed date. - Not the CRM sequences tools.
get_sequencesandget_sequence_by_idlist sequence names seen on call logs from an external CRM. See CRM Sequences.
Sequences
list_sequencer_sequences
List the team’s Sequencer sequences, with filters and pagination. CallsGET /v2/sequencer/sequences.
create_sequencer_sequence
Create a sequence. It starts disabled and has no steps: add steps withcreate_sequencer_step, then turn it on with enable_sequencer_sequence.
Calls POST /v2/sequencer/sequences.
get_sequencer_sequence
Get one Sequencer sequence with its counters. CallsGET /v2/sequencer/sequences/{id}.
update_sequencer_sequence
Change a sequence’s settings. Steps are changed with the step tools, not here. Only the sequence’s author or a team admin may do this. CallsPATCH /v2/sequencer/sequences/{id}.
delete_sequencer_sequence
Permanently delete a sequence. Refused with 409 while any enrollment is pending, active or paused: finish or move them first. Turning the sequence off does not help, because that pauses its enrollments. CallsDELETE /v2/sequencer/sequences/{id}.
add_contacts_to_sequencer_sequence
Add 1–500 contacts to a sequence, synchronously. A success response does not mean everyone was added: always read theskipped array, which lists each person refused and why. For more than 500 people, use start_sequencer_enrolment_run.
Calls POST /v2/sequencer/sequences/{id}/contacts.
get_sequencer_sequence_analytics
Enrollment counts by state, plus engagement counters, for one sequence. CallsGET /v2/sequencer/sequences/{id}/analytics.
list_sequencer_engagement_people
The people behind one analytics tile: who opened, who replied, who bounced. CallsGET /v2/sequencer/sequences/{id}/analytics/people.
list_sequencer_enrolment_attempts
Who was not added to a sequence, and why. The first place to look when a batch added fewer people than expected. CallsGET /v2/sequencer/sequences/{id}/enrollment-attempts.
enable_sequencer_sequence
Turn a sequence on. Refused with 422 if it has no steps, or if it has an email step and none of the mailboxes it sends from can send: its ownemail_account_ids, otherwise its author’s assigned mailboxes, otherwise the team’s shared ones.
Calls POST /v2/sequencer/sequences/{id}/enable.
disable_sequencer_sequence
Turn a sequence off. Every live enrollment pauses; turning it on again picks them back up. CallsPOST /v2/sequencer/sequences/{id}/disable.
duplicate_sequencer_sequence
Copy a sequence and its steps. The copy starts disabled and has no enrollments. CallsPOST /v2/sequencer/sequences/{id}/duplicate.
Steps
list_sequencer_steps
List the steps of a sequence, in order. CallsGET /v2/sequencer/sequences/{sequence_id}/steps.
create_sequencer_step
Add a step to the end of a sequence. Anauto_email step sends itself; manual_email, call and task steps create a task for the enrollment’s owner. The tool sets delays with interval_seconds only and cannot give a step a fixed date, so build date sequences with the REST operation, which takes date. It also leaves out new_thread, task_priority and task_autoskip_delay; set those afterwards with update_sequencer_step.
Calls POST /v2/sequencer/sequences/{sequence_id}/steps.
reorder_sequencer_steps
Renumber a sequence’s steps. Send every step ID in the order you want. Refused with 409 while any enrollment is live, because renumbering would change the step each prospect is on. CallsPUT /v2/sequencer/sequences/{sequence_id}/steps/reorder.
get_sequencer_step
One step of a sequence, with its delay, type and templates. CallsGET /v2/sequencer/sequences/{sequence_id}/steps/{step_id}.
update_sequencer_step
Change a step in place. Its position is changed withreorder_sequencer_steps, not here. Like create_sequencer_step, it cannot set a fixed date.
Calls PATCH /v2/sequencer/sequences/{sequence_id}/steps/{step_id}.
delete_sequencer_step
Remove a step from a sequence. Refused with 409 while any enrollment is active or paused; turning the sequence off does not lift this, because it pauses enrollments. To restructure a sequence people are in, duplicate it, edit the copy and move them withmove_sequencer_enrollments.
Calls DELETE /v2/sequencer/sequences/{sequence_id}/steps/{step_id}.
Templates
list_sequencer_templates
List the team’s reusable email templates. CallsGET /v2/sequencer/templates.
create_sequencer_template
Create a reusable email template. Email steps reference templates by id and pick between them by weight. CallsPOST /v2/sequencer/templates.
get_sequencer_template
One template, with its body and engagement counters. CallsGET /v2/sequencer/templates/{id}.
update_sequencer_template
Edit a template. Changes apply to every step already using it, including steps in sequences that are running now. CallsPATCH /v2/sequencer/templates/{id}.
delete_sequencer_template
Delete a template. Refused with 409 while any step uses it; archive it withupdate_sequencer_template instead. Only the template’s author can delete it.
Calls DELETE /v2/sequencer/templates/{id}.
preview_sequencer_template
Render a template’s subject and body with merge fields resolved. Changes nothing. CallsPOST /v2/sequencer/templates/{id}/preview.
Enrollments
list_sequencer_enrollments
List enrollments: which step each contact is on and who owns them. CallsGET /v2/sequencer/enrollments.
bulk_finish_sequencer_enrollments
Finish (un-enroll) up to 500 enrollments at once. Likefinish_sequencer_enrollment, this is how people leave a sequence; there is no delete. Each ID is handled on its own, so one refusal does not stop the rest: the response counts ok and lists each failed ID with its reason.
Calls POST /v2/sequencer/enrollments/bulk/finish.
bulk_approve_sequencer_enrollments
Release up to 500 enrollments a rule is holding for approval. Each ID is handled on its own, so one refusal does not stop the rest: the response countsok and lists each failed ID with its reason.
Calls POST /v2/sequencer/enrollments/bulk/approve.
bulk_reject_sequencer_enrollments
Refuse up to 500 held enrollments. Each is finished without being contacted, and the decision is recorded. Each ID is handled on its own, so one refusal does not stop the rest: the response countsok and lists each failed ID with its reason.
Calls POST /v2/sequencer/enrollments/bulk/reject.
bulk_reassign_sequencer_enrollments
Hand up to 500 enrollments to another rep. Their open tasks move with them. Each ID is handled on its own, so one refusal does not stop the rest: the response countsok and lists each failed ID with its reason.
Calls POST /v2/sequencer/enrollments/bulk/reassign.
move_sequencer_enrollments
Move up to 500 contacts into another sequence. Each is enrolled in the target first and finished in the original only if that succeeded, so nobody is left out of both. The new enrollments are owned byuser_id, not by their previous owners. Each ID is handled on its own, so one refusal does not stop the rest: the response counts ok and lists each failed ID with its reason.
Calls POST /v2/sequencer/enrollments/bulk/move.
sequencer_account_action
Finish or pause every enrollment at one company: the “we just booked a meeting there, stop emailing the rest” case. Senddry_run: true first to see how many people it would touch.
Calls POST /v2/sequencer/enrollments/bulk/account.
get_sequencer_enrollment
Get one enrollment: state, current step, when the next step is due, owner. CallsGET /v2/sequencer/enrollments/{id}.
list_sequencer_enrollment_events
The timeline for one enrollment: sends, opens, replies, task activity, rule decisions. CallsGET /v2/sequencer/enrollments/{id}/events.
pause_sequencer_enrollment
Pause one enrollment. Open tasks are hidden until it resumes. CallsPOST /v2/sequencer/enrollments/{id}/pause.
resume_sequencer_enrollment
Lift a pause and pick the sequence back up. CallsPOST /v2/sequencer/enrollments/{id}/resume.
finish_sequencer_enrollment
Finish (un-enroll) one enrollment. This is how you remove someone from a sequence; there is no delete. The timeline survives and the contact can be enrolled again later. CallsPOST /v2/sequencer/enrollments/{id}/finish.
retry_sequencer_enrollment
The only way out of thefailed state.
Calls POST /v2/sequencer/enrollments/{id}/retry.
reassign_sequencer_enrollment
Hand one enrollment, and by default its open tasks, to another rep. CallsPOST /v2/sequencer/enrollments/{id}/reassign.
approve_sequencer_enrollment
Release an enrollment a rule is holding for approval, so the sequence can start for that contact. Find held enrollments withlist_sequencer_enrollments and pending_reason: approval.
Calls POST /v2/sequencer/enrollments/{id}/approve.
reject_sequencer_enrollment
Refuse a held enrollment. The contact is finished without being contacted, and the decision is recorded on the timeline. CallsPOST /v2/sequencer/enrollments/{id}/reject.
Enrollment runs
preview_sequencer_enrolment
Dry run: who would be added to a sequence, who would be excluded, and why. Costs nothing and changes nothing. Run it before adding people; itspreview_id lets start_sequencer_enrolment_run confirm exactly that set.
Calls POST /v2/sequencer/enrollment-runs/preview.
start_sequencer_enrolment_run
Enroll up to 5,000 people asynchronously. Runpreview_sequencer_enrolment first, then pass its preview_id with source.kind set to preview to confirm exactly that set. For 500 or fewer, add_contacts_to_sequencer_sequence is synchronous and simpler. Follow progress with get_sequencer_enrolment_run.
Calls POST /v2/sequencer/enrollment-runs.
list_sequencer_enrolment_runs
Recent enrollment runs for one sequence, newest first. Returns a plain array, not a paginated envelope, so runs older thanlimit cannot be reached here.
Calls GET /v2/sequencer/enrollment-runs.
get_sequencer_enrolment_run
Progress and outcome of one run: considered, enrolled, skipped and held, with a sample of the skips and why. CallsGET /v2/sequencer/enrollment-runs/{run_id}.
cancel_sequencer_enrolment_run
Stop a run from adding anyone else. It is not an undo: whoever is already enrolled stays enrolled, so finish them withbulk_finish_sequencer_enrollments to reverse it.
Calls POST /v2/sequencer/enrollment-runs/{run_id}/cancel.
Tasks
list_sequencer_tasks
The rep task queue the Sequencer produces, including one-off tasks. Useaction: call for the call queue.
Calls GET /v2/sequencer/tasks.
create_sequencer_task
Create a one-off task for a contact, not tied to any sequence. CallsPOST /v2/sequencer/tasks.
get_sequencer_task_summary
Counts for the overdue / today / this week / later buckets. CallsGET /v2/sequencer/tasks/summary.
get_sequencer_account_coverage
For the accounts you name, which buying-committee seats the team’s contacts at each account fill. Every contact on the team at the account counts, whether or not it is in a sequence. CallsGET /v2/sequencer/tasks/account-coverage.
materialize_sequencer_call_list
Rebuild a rep’s Sequencer dial list from their pending call tasks, at most 200 per call. It writes, and runs in the background: the result says how many rows the list should hold (expected), not what has landed yet.
Calls POST /v2/sequencer/tasks/materialize-call-list.
bulk_create_sequencer_tasks
Create one standalone task per contact, for up to 500 contacts. Contacts that are not on the team, or whose task cannot be created, come back inskipped with a reason.
Calls POST /v2/sequencer/tasks/bulk.
bulk_skip_sequencer_tasks
Skip up to 500 tasks. Skipping still advances the sequence. There is deliberately no bulk complete: completing amanual_email task sends a real email, so complete those one at a time. Each task is handled on its own: the response counts ok and lists each failed ID with its reason.
Calls POST /v2/sequencer/tasks/bulk/skip.
bulk_snooze_sequencer_tasks
Move the due date of up to 500 tasks. Each task’s auto-skip deadline moves by the same amount. Each task is handled on its own: the response countsok and lists each failed ID with its reason.
Calls POST /v2/sequencer/tasks/bulk/snooze.
bulk_reassign_sequencer_tasks
Hand up to 500 tasks to another rep. Call tasks also move between dial lists. Each task is handled on its own: the response countsok and lists each failed ID with its reason.
Calls POST /v2/sequencer/tasks/bulk/reassign.
get_sequencer_task
One task with its contact, sequence and step. CallsGET /v2/sequencer/tasks/{id}.
update_sequencer_task
Change a one-off task. A sequence task takes its shape from its step: snooze it, or finish the enrollment, instead. CallsPATCH /v2/sequencer/tasks/{id}.
delete_sequencer_task
Cancel a one-off task. It moves tocancelled rather than being destroyed, so its history survives.
Calls DELETE /v2/sequencer/tasks/{id}.
list_sequencer_task_events
The timeline for one task, newest first. For a one-off task this is the only way to reach its history. Returns at most 200 events and takes no pagination; for a sequenced prospect, uselist_sequencer_enrollment_events, which is paged.
Calls GET /v2/sequencer/tasks/{id}/events.
complete_sequencer_task
Complete a task and advance the sequence. For amanual_email task this sends a real email, so confirm the subject and body with the user first; the task stays pending until the send is confirmed.
Calls POST /v2/sequencer/tasks/{id}/complete.
skip_sequencer_task
Skip a task. The sequence still advances. CallsPOST /v2/sequencer/tasks/{id}/skip.
snooze_sequencer_task
Move a task’s due date. Its auto-skip deadline moves by the same amount. CallsPOST /v2/sequencer/tasks/{id}/snooze.
reassign_sequencer_task
Hand one task to another rep. A call task also moves out of the old rep’s dial list and into the new one. CallsPOST /v2/sequencer/tasks/{id}/reassign.
Suppression
list_sequencer_suppression
The team’s do-not-contact list, checked when someone is enrolled and again before every email is sent. CallsGET /v2/sequencer/suppression.
create_sequencer_suppression
Add an address, domain or phone number to the do-not-contact list. CallsPOST /v2/sequencer/suppression.
import_sequencer_suppression
Add up to 1000 suppression entries at once. A value already on the list is left unchanged, reason included. CallsPOST /v2/sequencer/suppression/import.
delete_sequencer_suppression
Remove one entry from the suppression list, so that address or domain can be contacted again. CallsDELETE /v2/sequencer/suppression/{id}.
Policies
get_sequencer_policy_catalog
The conditions and actions a rule can be built from, and which scopes each is valid in. Read this before writing a policy: the vocabulary is live, not fixed in the API. CallsGET /v2/sequencer/policies/catalog.
Takes no parameters.
preview_sequencer_policy
Replay an unsaved rule set against the team’s recent enrollments and report what it would have done. Run it before saving: a rule that is too broad silently blocks every enrollment team-wide, and this is the cheapest way to find out. CallsPOST /v2/sequencer/policies/preview.
list_sequencer_policies
The team’s rules of engagement: what may be enrolled and what happens at each step. CallsGET /v2/sequencer/policies.
Takes no parameters.
create_sequencer_policy
Create a rules-of-engagement policy. Preview the rules first. CallsPOST /v2/sequencer/policies.
get_sequencer_policy
One policy with its rules and outcome rules, and whether it is the team default. CallsGET /v2/sequencer/policies/{id}.
update_sequencer_policy
Edit a policy. The change applies at once to every sequence using it, so preview the rules first. CallsPATCH /v2/sequencer/policies/{id}.
delete_sequencer_policy
Delete a policy. Refused with 409 while it is the team default or any sequence uses it. CallsDELETE /v2/sequencer/policies/{id}.
set_default_sequencer_policy
Make a policy the team default. Every sequence that does not name its own policy follows it, so this changes behavior across the team at once. CallsPOST /v2/sequencer/policies/{id}/default.
Settings
get_sequencer_settings
Team-level defaults: the shared mailbox pool, default sending schedule, warmup defaults, unsubscribe wording, reply classifications and the buying-committee map. Provider secrets are never returned. CallsGET /v2/sequencer/settings.
Takes no parameters.
list_sequencer_mailboxes
Sending mailboxes with health and capacity. A sequence with an email step can be turned on only when a mailbox it sends from is ready. CallsGET /v2/sequencer/email-accounts.
get_sequencer_mailbox
Health, warmup and sending limits for one mailbox. Credentials are never returned. CallsGET /v2/sequencer/email-accounts/{id}.
Next steps
Run a sequence over the API
The same loop as raw API calls, step by step.
See the other tools
Lists, notes, enrichment, calls and analytics.