Duplicate a sequence
Copies a sequence and its steps into a new, disabled sequence authored by user_id. Any active member of the team may duplicate any of its sequences. The copy is named name, or the original’s name followed by (Copy).
Copied: description, tags, sequence_type, policy, schedule, email_account_ids, tracking, throttle caps, transactional, the reply action, and every step with its timing, templates (the same template ids, not copies), note and priority. Not copied: enrollments, engagement counters (they start at 0), throttle_paused and archived status.
Send an Idempotency-Key: without one, a retry makes a second copy. Counts toward the Sequencer writes rate limit.
user_id. Any active member
of the team can duplicate any of the team’s sequences, not only the ones they can edit.
Example
name, the copy is called the original’s name followed by (Copy).
What is copied
Typical use
Duplicating is the way to restructure a sequence people are moving through. Steps cannot be reordered or deleted while enrollments are active or paused, so duplicate the sequence, change the copy, enable it, and move people over with Move enrollments to another sequence. They start the copy from its first step. Without anIdempotency-Key, a retry makes a second copy.Authorizations
Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API & Webhooks. A missing or invalid key returns HTTP 403.
Headers
Makes this write safe to retry. Send a unique value, such as a UUID, and send the same value again when you retry the same request. A retry with the same key and the same request (method, path including the query string, and JSON body) returns the original successful response without acting twice. The same key with a different body or path returns 409, and so does a retry while the first request is still running; that one is safe to repeat after a moment. A request that fails frees its key, so a retry runs the write again: after a 5xx on a create, confirm with a GET before retrying. Keys are kept for 24 hours and are scoped to your team.
Path Parameters
24-character sequence id.
Body
The team member making the copy; it becomes the copy's author. Any active team member with an active plan or seat may duplicate any of the team's sequences. A 24-character hexadecimal ID.
"507f1f77bcf86cd799439011"
Name for the copy, 1 to 200 characters. Defaults to the original's name followed by (Copy).
200Response
The copy. can_manage is not included.
A Sequencer sequence (a cadence). can_manage is returned by list and get only; step_type_counts and enrollment_counts by list only.
24-character hexadecimal id.
"507f1f77bcf86cd799439011"
The team that owns the sequence (24-character id).
Sequence name.
Free-text labels for filtering.
Whether the sequence is running. New and duplicated sequences start false.
interval: each step waits interval_seconds after the previous one. date: each step comes due on its own date.
interval, date Author's team member id. Only the author, the team owner or an admin can change the sequence. On GET /v2/sequencer/sequences this field arrives expanded, as an object with _id, first_name, last_name and email, not as a string.
Rules-of-engagement policy id, or null (or absent) when the sequence uses the team default policy.
Whether the sequence is transactional: enrollment skips the suppression list, and sends skip only unsubscribed and manual suppression entries.
Most live (pending, active or paused) enrollments per owner. Absent when there is no cap.
Most new enrollments per owner per day. Absent when there is no cap.
When true, adding people is refused while the sequence keeps running for those already in it.
Whether emails carry an open-tracking pixel.
Whether links in emails are rewritten to track clicks.
Number of steps. Updated whenever a step is added, changed or deleted.
Sum of the steps' interval_seconds, rounded up to whole days. Always 0 on a date sequence.
Distinct people reached: sent or delivered an email, or a completed call or task. Rebuilt every 15 minutes.
Distinct people who replied. Rebuilt every 15 minutes.
Number of opens, counted as events, not people. Rebuilt every 15 minutes.
Number of link clicks, counted as events, not people. Rebuilt every 15 minutes.
Number of replies, counted as events, not people. Rebuilt every 15 minutes.
Number of bounces, counted as events, not people. Rebuilt every 15 minutes.
Number of opt-outs, counted as events, not people. Rebuilt every 15 minutes.
Number of deliveries, counted as events, not people. Rebuilt every 15 minutes.
When the sequence was last enabled. Absent if it never has been.
When the sequence was archived in the dashboard, or null. Archived sequences are left out of the list and cannot be enabled or enrolled into; the API has no archive endpoint.
What a reply that reads as interested, a meeting request, or unclear does to the enrollment.
finish, continue, pause Seconds an enrollment pauses for when primary_reply_action is pause. Absent means the pause lasts until someone resumes it.
The sequence's own sending window. Absent when the sequence uses the team default schedule.
Mailbox ids the sequence sends from. Empty means the author's assigned mailboxes, or the team's shared ones when the author has none.
Number of failed sends, counted as events. Rebuilt every 15 minutes.
Number of times a step ran and produced work: emails sent plus tasks created. Rebuilt every 15 minutes.
num_replied_prospects as a percentage of num_contacted_prospects, 0 to 100, rounded. 0 while nobody has been contacted.
Share of steps that are auto_email, 0 to 100, rounded.
When anything last happened in the sequence (an email, a task, a reply). Null for a sequence that has done nothing.
List only. How many steps of each type the sequence has. Every type is always present.
List only. Live count of the sequence's enrollments in each state, plus total. Every state is always present.
Whether the member the request acted as may change this sequence. API reads act as the team owner, so this is true on every API read; it does not tell you whether a given user_id may edit. Returned by list and get only.
When the sequence was created.
When it last changed.