Sequence
Sequences are multi-step outreach cadences that send email and LinkedIn messages to enrolled contacts. A sequence is edited through its draft, published, then activated; contacts are enrolled into the published sequence. Start with Using sequences with the API for the lifecycle, the draft and version model, and a worked example.
List sequences
Retrieve a sequence
Retrieve sequence performance
Retrieve a sequence enrollment
List sequence enrollments
List sequence messages
Retrieve a sequence message
Enroll and cancel contacts
Start a sequence test
Retrieve a sequence test
Create a sequence
Activate a sequence
Deactivate a sequence
Retrieve a sequence draft
Update a sequence draft
Publish a sequence draft
List template variables
Discard a sequence draft
ModelsExpand Collapse
SequenceActivateResponse { id, channels, createdAt, 8 more }
channels: Array<"EMAIL" | "LINKEDIN">Channels the published steps send on; empty before the first publish.
Channels the published steps send on; empty before the first publish.
definition: Definition | nullPublished configuration, or null before the first publish.
Published configuration, or null before the first publish.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequenceCreateResponse { channels, definition, name, 6 more }
definition: Definition { description, messaging, pacing, 3 more } The draft configuration, in the same shape as a published definition.
The draft configuration, in the same shape as a published definition.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
publishWarnings: Array<PublishWarning>What publishing this draft would change for contacts already in the sequence; empty when nothing is affected. Before the first publish, the only possible warning is a proposed sender that was archived and would be left off.
What publishing this draft would change for contacts already in the sequence; empty when nothing is affected. Before the first publish, the only possible warning is a proposed sender that was archived and would be left off.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequenceDeactivateResponse { id, channels, createdAt, 8 more }
channels: Array<"EMAIL" | "LINKEDIN">Channels the published steps send on; empty before the first publish.
Channels the published steps send on; empty before the first publish.
definition: Definition | nullPublished configuration, or null before the first publish.
Published configuration, or null before the first publish.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequenceListEnrollmentsResponse { data, object, totalCount }
data: Array<Data>
ID of the step the contact is on, matching definition.steps; null when the contact has no current step the API returns.
Member ID of whoever enrolled the contact; null when they are no longer a member or the enrollment was automatic.
lastActivityKind: "SENT" | "OPENED" | "REPLIED" | 4 more | nullThe latest activity on the enrollment. A reply or bounce that ended the enrollment is reported over a later open.
The latest activity on the enrollment. A reply or bounce that ended the enrollment is reported over a later open.
Estimated time of the next send, from the cadence, send window, pacing and sender; queue order and random gaps can push it later. Null while a message awaits review or is sending, while paused, or when it cannot be estimated.
Email and LinkedIn steps not yet sent, connection requests included.
When the contact first replied, on email or LinkedIn; null if they have not.
status: "ACTIVE" | "AWAITING_REVIEW" | "NEEDS_ATTENTION" | 5 more | nullACTIVE is progressing; AWAITING_REVIEW has a message waiting for approval; NEEDS_ATTENTION is held by a failed step, a held draft or an unavailable sender; PAUSED is stopped because the sequence is deactivated or it was paused in Lightfield. REPLIED, COMPLETED, CANCELLED and FAILED are final.
ACTIVE is progressing; AWAITING_REVIEW has a message waiting for approval; NEEDS_ATTENTION is held by a failed step, a held draft or an unavailable sender; PAUSED is stopped because the sequence is deactivated or it was paused in Lightfield. REPLIED, COMPLETED, CANCELLED and FAILED are final.
SequenceListMessagesResponse { data, object, totalCount }
data: Array<OutboundMessage { id, acceptedAt, bouncedAt, 14 more } | Reply { id, channel, contactId, 7 more } >
OutboundMessage { id, acceptedAt, bouncedAt, 14 more }
When the message was created, or when a reply was received. Lists sort by this field, newest first.
reference: Email { id, objectType } | Message { id, objectType } | nullThe email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
The email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
Reply { id, channel, contactId, 7 more }
When the message was created, or when a reply was received. Lists sort by this field, newest first.
reference: Email { id, objectType } | Message { id, objectType } | nullThe email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
The email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
SequenceListResponse { data, object, totalCount }
data: Array<Data>
channels: Array<"EMAIL" | "LINKEDIN">Channels the published steps send on; empty before the first publish.
Channels the published steps send on; empty before the first publish.
definition: Definition | nullPublished configuration, or null before the first publish.
Published configuration, or null before the first publish.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequencePublishDraftResponse { id, channels, createdAt, 8 more }
channels: Array<"EMAIL" | "LINKEDIN">Channels the published steps send on; empty before the first publish.
Channels the published steps send on; empty before the first publish.
definition: Definition | nullPublished configuration, or null before the first publish.
Published configuration, or null before the first publish.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequenceRetrieveDraftResponse { channels, definition, name, 6 more }
definition: Definition { description, messaging, pacing, 3 more } The draft configuration, in the same shape as a published definition.
The draft configuration, in the same shape as a published definition.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
publishWarnings: Array<PublishWarning>What publishing this draft would change for contacts already in the sequence; empty when nothing is affected. Before the first publish, the only possible warning is a proposed sender that was archived and would be left off.
What publishing this draft would change for contacts already in the sequence; empty when nothing is affected. Before the first publish, the only possible warning is a proposed sender that was archived and would be left off.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequenceRetrieveEnrollmentResponse { id, cancelledAt, completedAt, 10 more }
ID of the step the contact is on, matching definition.steps; null when the contact has no current step the API returns.
Member ID of whoever enrolled the contact; null when they are no longer a member or the enrollment was automatic.
lastActivityKind: "SENT" | "OPENED" | "REPLIED" | 4 more | nullThe latest activity on the enrollment. A reply or bounce that ended the enrollment is reported over a later open.
The latest activity on the enrollment. A reply or bounce that ended the enrollment is reported over a later open.
Estimated time of the next send, from the cadence, send window, pacing and sender; queue order and random gaps can push it later. Null while a message awaits review or is sending, while paused, or when it cannot be estimated.
Email and LinkedIn steps not yet sent, connection requests included.
When the contact first replied, on email or LinkedIn; null if they have not.
status: "ACTIVE" | "AWAITING_REVIEW" | "NEEDS_ATTENTION" | 5 more | nullACTIVE is progressing; AWAITING_REVIEW has a message waiting for approval; NEEDS_ATTENTION is held by a failed step, a held draft or an unavailable sender; PAUSED is stopped because the sequence is deactivated or it was paused in Lightfield. REPLIED, COMPLETED, CANCELLED and FAILED are final.
ACTIVE is progressing; AWAITING_REVIEW has a message waiting for approval; NEEDS_ATTENTION is held by a failed step, a held draft or an unavailable sender; PAUSED is stopped because the sequence is deactivated or it was paused in Lightfield. REPLIED, COMPLETED, CANCELLED and FAILED are final.
SequenceRetrieveMessageResponse = OutboundMessage { id, acceptedAt, bouncedAt, 15 more } | Reply { id, channel, contactId, 8 more }
OutboundMessage { id, acceptedAt, bouncedAt, 15 more }
content: Content | nullPlain-text content of the message. Null when the underlying record is no longer available; not included in list responses.
Plain-text content of the message. Null when the underlying record is no longer available; not included in list responses.
When the message was created, or when a reply was received. Lists sort by this field, newest first.
reference: Email { id, objectType } | Message { id, objectType } | nullThe email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
The email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
Reply { id, channel, contactId, 8 more }
content: Content | nullPlain-text content of the message. Null when the underlying record is no longer available; not included in list responses.
Plain-text content of the message. Null when the underlying record is no longer available; not included in list responses.
When the message was created, or when a reply was received. Lists sort by this field, newest first.
reference: Email { id, objectType } | Message { id, objectType } | nullThe email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
The email or LinkedIn message record behind this sequence message, readable with Retrieve an email or Retrieve a message under their own scopes; null when there is none.
SequenceRetrievePerformanceResponse { byStepType, perStep }
byStepType: ByStepType { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE, 2 more } Lifetime totals for each step type, across all of its steps.
Lifetime totals for each step type, across all of its steps.
EMAIL: Email { bounced, bounceRate, currentEnrollments, 6 more } Email steps.
Email steps.
LINKEDIN_INVITE: LinkedinInvite { acceptanceRate, accepted, currentEnrollments, 3 more } LinkedIn connection request steps.
LinkedIn connection request steps.
LINKEDIN_MESSAGE: LinkedinMessage { currentEnrollments, read, readRate, 3 more } LinkedIn message steps.
LinkedIn message steps.
perStep: Array<EmailStep { bounced, bounceRate, currentEnrollments, 8 more } | LinkedInMessageStep { currentEnrollments, read, readRate, 5 more } | LinkedInInviteStep { acceptanceRate, accepted, currentEnrollments, 5 more } | 2 more>Per-step statistics in published sequence order, including steps with no activity. Steps no longer in the published definition are included if they have sent messages.
Per-step statistics in published sequence order, including steps with no activity. Steps no longer in the published definition are included if they have sent messages.
EmailStep { bounced, bounceRate, currentEnrollments, 8 more }
Enrollments currently on this step, paused ones included.
Sent minus bounced, never below zero.
LinkedInMessageStep { currentEnrollments, read, readRate, 5 more }
LinkedInInviteStep { acceptanceRate, accepted, currentEnrollments, 5 more }
Connection requests that were accepted.
Enrollments currently on this step, paused ones included.
SequenceRetrieveResponse { id, channels, createdAt, 8 more }
channels: Array<"EMAIL" | "LINKEDIN">Channels the published steps send on; empty before the first publish.
Channels the published steps send on; empty before the first publish.
definition: Definition | nullPublished configuration, or null before the first publish.
Published configuration, or null before the first publish.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
SequenceRetrieveTestResponse { id, contactId, status, 2 more }
status: "RUNNING" | "COMPLETED" | "FAILED"RUNNING until every step has finished, then COMPLETED, or FAILED when the test ended on a failure.
RUNNING until every step has finished, then COMPLETED, or FAILED when the test ended on a failure.
steps: Array<Step>Every step of the tested version that the Sequences API lists, in run order. Call steps are not part of the API yet, so a test reports nothing for them.
Every step of the tested version that the Sequences API lists, in run order. Call steps are not part of the API yet, so a test reports nothing for them.
message: EmailMessage { body, subject } | LinkedInMessage { body } | nullThe composed message; null when the step has not composed one.
The composed message; null when the step has not composed one.
outcome: "PENDING" | "COMPOSED" | "SKIPPED" | "FAILED"PENDING while the step has not run, including a step a finished test never reached, COMPOSED when it produced a message, SKIPPED when it produced nothing: a test never waits, so a wait is always SKIPPED, and a send step is SKIPPED when it has nothing to send, such as a LinkedIn invite another step already sent. FAILED when it failed: see error.
PENDING while the step has not run, including a step a finished test never reached, COMPOSED when it produced a message, SKIPPED when it produced nothing: a test never waits, so a wait is always SKIPPED, and a send step is SKIPPED when it has nothing to send, such as a LinkedIn invite another step already sent. FAILED when it failed: see error.
SequenceUpdateDraftResponse { channels, definition, name, 6 more }
definition: Definition { description, messaging, pacing, 3 more } The draft configuration, in the same shape as a published definition.
The draft configuration, in the same shape as a published definition.
messaging: Messaging { callToAction, persona, trigger, valueProp } Messaging inputs that frame every step.
Messaging inputs that frame every step.
pacing: Pacing { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE } How the whole sequence paces each step type it sends, keyed by sequence step type.
How the whole sequence paces each step type it sends, keyed by sequence step type.
sendWindow: SendWindow { daysOfWeek, endHour, startHour, timezone } When the sequence may send.
When the sequence may send.
steps: Array<UnionMember0 { id, deliveryMode, mode, 3 more } | UnionMember1 { id, deliveryMode, includeNote, 4 more } | UnionMember2 { id, deliveryMode, mode, 3 more } | 3 more>Email, LinkedIn and wait steps in execution order.
Email, LinkedIn and wait steps in execution order.
UnionMember0 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
UnionMember1 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
UnionMember2 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
template: Template { body, subject } The email every contact receives.
The email every contact receives.
UnionMember3 { id, deliveryMode, mode, 3 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
UnionMember4 { id, deliveryMode, includeNote, 4 more }
deliveryMode: "AUTO" | "FOR_REVIEW"AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.
Whether the connection request carries a note. A step authored before this setting existed reads as true.
How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.
publishWarnings: Array<PublishWarning>What publishing this draft would change for contacts already in the sequence; empty when nothing is affected. Before the first publish, the only possible warning is a proposed sender that was archived and would be left off.
What publishing this draft would change for contacts already in the sequence; empty when nothing is affected. Before the first publish, the only possible warning is a proposed sender that was archived and would be left off.
reviewers: Array<Reviewer>Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.
Extra members who may approve this sequence’s FOR_REVIEW messages before they send. The sending member and the sequence’s creator always review, whether or not they are listed.