Skip to main content
The Sequencer is in early access. These tools work for teams that use it. These tools run the Salesfinity Sequencer from an AI assistant. They are grouped the same way as the Sequencer operations in the API reference, and each tool calls the operation linked under its name, so that page is the full contract for responses and errors. The behavior every tool shares, including timeouts and rate-limit retries, is on the tool reference.
  • 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_id that must be an active team member. get_team lists them. On list_sequencer_tasks and get_sequencer_task_summary, user_id is instead a filter on the assignee.
  • Some writes reach people. Enabling a sequence with an email step lets it send, and completing a manual_email task sends that email. There is deliberately no bulk complete.
  • Preview before you enroll. preview_sequencer_enrolment shows who would be added and who would be refused, and changes nothing. preview_sequencer_policy does 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, for bulk_create_sequencer_tasks, skipped) list in the response.
  • A retry the server makes is safe; a repeated call is not deduplicated. Every POST except the three previews carries an Idempotency-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_step and update_sequencer_step set delays with interval_seconds and cannot give a step a fixed date.
  • Not the CRM sequences tools. get_sequences and get_sequence_by_id list 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. Calls GET /v2/sequencer/sequences.

create_sequencer_sequence

Create a sequence. It starts disabled and has no steps: add steps with create_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. Calls GET /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. Calls PATCH /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. Calls DELETE /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 the skipped 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. Calls GET /v2/sequencer/sequences/{id}/analytics.

list_sequencer_engagement_people

The people behind one analytics tile: who opened, who replied, who bounced. Calls GET /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. Calls GET /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 own email_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. Calls POST /v2/sequencer/sequences/{id}/disable.

duplicate_sequencer_sequence

Copy a sequence and its steps. The copy starts disabled and has no enrollments. Calls POST /v2/sequencer/sequences/{id}/duplicate.

Steps

list_sequencer_steps

List the steps of a sequence, in order. Calls GET /v2/sequencer/sequences/{sequence_id}/steps.

create_sequencer_step

Add a step to the end of a sequence. An auto_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. Calls PUT /v2/sequencer/sequences/{sequence_id}/steps/reorder.

get_sequencer_step

One step of a sequence, with its delay, type and templates. Calls GET /v2/sequencer/sequences/{sequence_id}/steps/{step_id}.

update_sequencer_step

Change a step in place. Its position is changed with reorder_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 with move_sequencer_enrollments. Calls DELETE /v2/sequencer/sequences/{sequence_id}/steps/{step_id}.

Templates

list_sequencer_templates

List the team’s reusable email templates. Calls GET /v2/sequencer/templates.

create_sequencer_template

Create a reusable email template. Email steps reference templates by id and pick between them by weight. Calls POST /v2/sequencer/templates.

get_sequencer_template

One template, with its body and engagement counters. Calls GET /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. Calls PATCH /v2/sequencer/templates/{id}.

delete_sequencer_template

Delete a template. Refused with 409 while any step uses it; archive it with update_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. Calls POST /v2/sequencer/templates/{id}/preview.

Enrollments

list_sequencer_enrollments

List enrollments: which step each contact is on and who owns them. Calls GET /v2/sequencer/enrollments.

bulk_finish_sequencer_enrollments

Finish (un-enroll) up to 500 enrollments at once. Like finish_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 counts ok 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 counts ok 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 counts ok 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 by user_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. Send dry_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. Calls GET /v2/sequencer/enrollments/{id}.

list_sequencer_enrollment_events

The timeline for one enrollment: sends, opens, replies, task activity, rule decisions. Calls GET /v2/sequencer/enrollments/{id}/events.

pause_sequencer_enrollment

Pause one enrollment. Open tasks are hidden until it resumes. Calls POST /v2/sequencer/enrollments/{id}/pause.

resume_sequencer_enrollment

Lift a pause and pick the sequence back up. Calls POST /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. Calls POST /v2/sequencer/enrollments/{id}/finish.

retry_sequencer_enrollment

The only way out of the failed state. Calls POST /v2/sequencer/enrollments/{id}/retry.

reassign_sequencer_enrollment

Hand one enrollment, and by default its open tasks, to another rep. Calls POST /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 with list_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. Calls POST /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; its preview_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. Run preview_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 than limit 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. Calls GET /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 with bulk_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. Use action: 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. Calls POST /v2/sequencer/tasks.

get_sequencer_task_summary

Counts for the overdue / today / this week / later buckets. Calls GET /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. Calls GET /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 in skipped 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 a manual_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 counts ok 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 counts ok 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. Calls GET /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. Calls PATCH /v2/sequencer/tasks/{id}.

delete_sequencer_task

Cancel a one-off task. It moves to cancelled 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, use list_sequencer_enrollment_events, which is paged. Calls GET /v2/sequencer/tasks/{id}/events.

complete_sequencer_task

Complete a task and advance the sequence. For a manual_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. Calls POST /v2/sequencer/tasks/{id}/skip.

snooze_sequencer_task

Move a task’s due date. Its auto-skip deadline moves by the same amount. Calls POST /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. Calls POST /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. Calls GET /v2/sequencer/suppression.

create_sequencer_suppression

Add an address, domain or phone number to the do-not-contact list. Calls POST /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. Calls POST /v2/sequencer/suppression/import.

delete_sequencer_suppression

Remove one entry from the suppression list, so that address or domain can be contacted again. Calls DELETE /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. Calls GET /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. Calls POST /v2/sequencer/policies/preview.

list_sequencer_policies

The team’s rules of engagement: what may be enrolled and what happens at each step. Calls GET /v2/sequencer/policies. Takes no parameters.

create_sequencer_policy

Create a rules-of-engagement policy. Preview the rules first. Calls POST /v2/sequencer/policies.

get_sequencer_policy

One policy with its rules and outcome rules, and whether it is the team default. Calls GET /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. Calls PATCH /v2/sequencer/policies/{id}.

delete_sequencer_policy

Delete a policy. Refused with 409 while it is the team default or any sequence uses it. Calls DELETE /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. Calls POST /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. Calls GET /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. Calls GET /v2/sequencer/email-accounts.

get_sequencer_mailbox

Health, warmup and sending limits for one mailbox. Credentials are never returned. Calls GET /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.