Skip to content

Update a sequence draft

client.Sequence.UpdateDraft(ctx, id, body) (*SequenceUpdateDraftResponse, error)
POST/v1/sequences/{id}/draft

Saves changes to the sequence’s open draft, or opens one from the published version when none is open. Only the fields sent are changed; definition.steps replaces the whole step list. Changes take effect when the draft is published. See Using sequences with the API for the draft and version model.

Returns 409 when expectedVersion is not the open draft’s version, or for a steps save while the draft has unfinished edits in Lightfield; retrieve the draft and retry. A refused save changes nothing: 400 invalid_configuration lists every problem under issues, 400 referenced_resource_missing names a reviewer or sender that does not exist, and a value outside its field’s documented bounds returns 400 naming the field in param. See Sequence errors.

Required scope: sequences:update

Rate limit category: Write

ParametersExpand Collapse
id string

Unique identifier of the sequence.

body SequenceUpdateDraftParams
Definition param.Field[SequenceUpdateDraftParamsDefinition]Optional

Fields to change. Omitted fields are unchanged.

Description stringOptional

What this version of the sequence is for.

minLength1
Messaging SequenceUpdateDraftParamsDefinitionMessagingOptional

Messaging inputs that frame every step. Omitted fields are unchanged; null clears a field.

CallToAction stringOptional

What the recipient is asked to do.

Persona stringOptional

Who the sequence targets.

Trigger stringOptional

Why the outreach is timely.

ValueProp stringOptional

The value proposition.

Pacing SequenceUpdateDraftParamsDefinitionPacingOptional

How the whole sequence paces each step type it sends, keyed by sequence step type. Omitted step types are unchanged.

Email SequenceUpdateDraftParamsDefinitionPacingEmailOptional

Email steps.

DailyLimit int64

Most sends of this step type across the whole sequence in any rolling 24 hours, or null when the sequence sets no daily cap. Workspace and sender limits still apply.

minimum1
maximum9007199254740991
LinkedinInvite SequenceUpdateDraftParamsDefinitionPacingLinkedinInviteOptional

LinkedIn connection requests.

DailyLimit int64

Most sends of this step type across the whole sequence in any rolling 24 hours, or null when the sequence sets no daily cap. Workspace and sender limits still apply.

minimum1
maximum9007199254740991
LinkedinMessage SequenceUpdateDraftParamsDefinitionPacingLinkedinMessageOptional

LinkedIn messages.

DailyLimit int64

Most sends of this step type across the whole sequence in any rolling 24 hours, or null when the sequence sets no daily cap. Workspace and sender limits still apply.

minimum1
maximum9007199254740991
Priority stringOptional

Send priority relative to other sequences.

One of the following:
const SequenceUpdateDraftParamsDefinitionPriorityHigh SequenceUpdateDraftParamsDefinitionPriority = "HIGH"
const SequenceUpdateDraftParamsDefinitionPriorityNormal SequenceUpdateDraftParamsDefinitionPriority = "NORMAL"
SendWindow SequenceUpdateDraftParamsDefinitionSendWindowOptional

When the sequence may send. Omitted fields are unchanged.

DaysOfWeek []int64Optional

Days sends may go out, 0 = Sunday.

EndHour int64Optional

Local hour sends stop, exclusive (1–24).

minimum1
maximum24
StartHour int64Optional

First local hour sends may go out (0–23).

minimum0
maximum23
Timezone stringOptional

IANA timezone of the window.

Steps []SequenceUpdateDraftParamsDefinitionStepUnionOptional

The complete ordered step list, replacing the current one. Keep a step by sending its id; omit id for a new step.

One of the following:
type SequenceUpdateDraftParamsDefinitionStepObject struct{…}
DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObjectDeliveryModeAuto SequenceUpdateDraftParamsDefinitionStepObjectDeliveryMode = "AUTO"
const SequenceUpdateDraftParamsDefinitionStepObjectDeliveryModeForReview SequenceUpdateDraftParamsDefinitionStepObjectDeliveryMode = "FOR_REVIEW"
Name string

Display name of the step.

minLength1
Prompt string

Instructions the agent follows when composing this message.

minLength1
Type string

Step type.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObjectTypeEmail SequenceUpdateDraftParamsDefinitionStepObjectType = "EMAIL"
const SequenceUpdateDraftParamsDefinitionStepObjectTypeLinkedinMessage SequenceUpdateDraftParamsDefinitionStepObjectType = "LINKEDIN_MESSAGE"
ID stringOptional

ID of a step in the current draft to keep. Omit for a new step. Kept steps must stay in their relative order and keep their type.

minLength1
Mode stringOptional

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in. Optional: the content decides, a prompt for AGENT and a template for TEMPLATE. A kept template step sent with a prompt is refused unless mode is AGENT, so its template is never dropped by accident.

type SequenceUpdateDraftParamsDefinitionStepObject2 struct{…}
DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObject2DeliveryModeAuto SequenceUpdateDraftParamsDefinitionStepObject2DeliveryMode = "AUTO"
const SequenceUpdateDraftParamsDefinitionStepObject2DeliveryModeForReview SequenceUpdateDraftParamsDefinitionStepObject2DeliveryMode = "FOR_REVIEW"
Name string

Display name of the step.

minLength1
Prompt string

Instructions the agent follows when composing this message.

minLength1
Type string

Step type.

ID stringOptional

ID of a step in the current draft to keep. Omit for a new step. Kept steps must stay in their relative order and keep their type.

minLength1
IncludeNote boolOptional

Whether the connection request carries a note. Omit to keep the current setting; a new step defaults to false.

Mode stringOptional

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in. Optional: the content decides, a prompt for AGENT and a template for TEMPLATE. A kept template step sent with a prompt is refused unless mode is AGENT, so its template is never dropped by accident.

type SequenceUpdateDraftParamsDefinitionStepObject3 struct{…}
DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObject3DeliveryModeAuto SequenceUpdateDraftParamsDefinitionStepObject3DeliveryMode = "AUTO"
const SequenceUpdateDraftParamsDefinitionStepObject3DeliveryModeForReview SequenceUpdateDraftParamsDefinitionStepObject3DeliveryMode = "FOR_REVIEW"
Name string

Display name of the step.

minLength1
Template SequenceUpdateDraftParamsDefinitionStepObject3Template

The email every contact receives. Requires template steps for the workspace.

Body string

Email body as Markdown; paragraphs, bold, italics, links and lists keep their formatting. Leave out the sign-off and signature, which are added when the message is written. A variable cannot be part of a link address. Write each variable as {{ coalesce(, “fallback”) }}, with a fallback for contacts missing the value. A variable reads a contact field as {attr:}, the contact’s first or last name as {col:firstName} or {col:lastName}, the contact’s first account’s field as {rel:account.}, that account’s name as {rel:account.col:name}, and the sender’s name or email as {rel:sender.col:name} or {rel:sender.col:email}; a SINGLE_SELECT field reads its option’s label, as {attr:.label} or {rel:account..label}. is the literal id of a CrmContact or CrmAccount field in the CRM schema whose type is one of TEXT, NUMBER, CURRENCY, DATETIME, SINGLE_SELECT, FULL_NAME, EMAIL, URL; never a slug, a name, or an id starting with _synthetic. Nothing else is a variable: leave such a value out rather than reading a different field. A {{ }} that is not a variable would send as written, so it is refused. A field’s may be the ad_ ID the field-definitions endpoints list.

minLength1
maxLength10000
Subject string

Plain-text subject line. Write each variable as {{ coalesce(, “fallback”) }}, with a fallback for contacts missing the value. A variable reads a contact field as {attr:}, the contact’s first or last name as {col:firstName} or {col:lastName}, the contact’s first account’s field as {rel:account.}, that account’s name as {rel:account.col:name}, and the sender’s name or email as {rel:sender.col:name} or {rel:sender.col:email}; a SINGLE_SELECT field reads its option’s label, as {attr:.label} or {rel:account..label}. is the literal id of a CrmContact or CrmAccount field in the CRM schema whose type is one of TEXT, NUMBER, CURRENCY, DATETIME, SINGLE_SELECT, FULL_NAME, EMAIL, URL; never a slug, a name, or an id starting with _synthetic. Nothing else is a variable: leave such a value out rather than reading a different field. A {{ }} that is not a variable would send as written, so it is refused. A field’s may be the ad_ ID the field-definitions endpoints list.

minLength1
maxLength10000
Type string

Step type.

ID stringOptional

ID of a step in the current draft to keep. Omit for a new step. Kept steps must stay in their relative order and keep their type.

minLength1
Mode stringOptional

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in. Optional: the content decides, a prompt for AGENT and a template for TEMPLATE. A kept template step sent with a prompt is refused unless mode is AGENT, so its template is never dropped by accident.

type SequenceUpdateDraftParamsDefinitionStepObject4 struct{…}
DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObject4DeliveryModeAuto SequenceUpdateDraftParamsDefinitionStepObject4DeliveryMode = "AUTO"
const SequenceUpdateDraftParamsDefinitionStepObject4DeliveryModeForReview SequenceUpdateDraftParamsDefinitionStepObject4DeliveryMode = "FOR_REVIEW"
Name string

Display name of the step.

minLength1
Template SequenceUpdateDraftParamsDefinitionStepObject4Template

The message every contact receives; for an invite, its connection note, sent only with includeNote and otherwise left empty. Requires template steps for the workspace.

Body string

Plain-text message. Write each variable as {{ coalesce(, “fallback”) }}, with a fallback for contacts missing the value. A variable reads a contact field as {attr:}, the contact’s first or last name as {col:firstName} or {col:lastName}, the contact’s first account’s field as {rel:account.}, that account’s name as {rel:account.col:name}, and the sender’s name or email as {rel:sender.col:name} or {rel:sender.col:email}; a SINGLE_SELECT field reads its option’s label, as {attr:.label} or {rel:account..label}. is the literal id of a CrmContact or CrmAccount field in the CRM schema whose type is one of TEXT, NUMBER, CURRENCY, DATETIME, SINGLE_SELECT, FULL_NAME, EMAIL, URL; never a slug, a name, or an id starting with _synthetic. Nothing else is a variable: leave such a value out rather than reading a different field. A {{ }} that is not a variable would send as written, so it is refused. A field’s may be the ad_ ID the field-definitions endpoints list.

maxLength10000
Type string

Step type.

ID stringOptional

ID of a step in the current draft to keep. Omit for a new step. Kept steps must stay in their relative order and keep their type.

minLength1
Mode stringOptional

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in. Optional: the content decides, a prompt for AGENT and a template for TEMPLATE. A kept template step sent with a prompt is refused unless mode is AGENT, so its template is never dropped by accident.

type SequenceUpdateDraftParamsDefinitionStepObject5 struct{…}
DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObject5DeliveryModeAuto SequenceUpdateDraftParamsDefinitionStepObject5DeliveryMode = "AUTO"
const SequenceUpdateDraftParamsDefinitionStepObject5DeliveryModeForReview SequenceUpdateDraftParamsDefinitionStepObject5DeliveryMode = "FOR_REVIEW"
Name string

Display name of the step.

minLength1
Template SequenceUpdateDraftParamsDefinitionStepObject5Template

The message every contact receives; for an invite, its connection note, sent only with includeNote and otherwise left empty. Requires template steps for the workspace.

Body string

Plain-text message. Write each variable as {{ coalesce(, “fallback”) }}, with a fallback for contacts missing the value. A variable reads a contact field as {attr:}, the contact’s first or last name as {col:firstName} or {col:lastName}, the contact’s first account’s field as {rel:account.}, that account’s name as {rel:account.col:name}, and the sender’s name or email as {rel:sender.col:name} or {rel:sender.col:email}; a SINGLE_SELECT field reads its option’s label, as {attr:.label} or {rel:account..label}. is the literal id of a CrmContact or CrmAccount field in the CRM schema whose type is one of TEXT, NUMBER, CURRENCY, DATETIME, SINGLE_SELECT, FULL_NAME, EMAIL, URL; never a slug, a name, or an id starting with _synthetic. Nothing else is a variable: leave such a value out rather than reading a different field. A {{ }} that is not a variable would send as written, so it is refused. A field’s may be the ad_ ID the field-definitions endpoints list.

maxLength10000
Type string

Step type.

ID stringOptional

ID of a step in the current draft to keep. Omit for a new step. Kept steps must stay in their relative order and keep their type.

minLength1
IncludeNote boolOptional

Whether the connection request carries a note. Omit to keep the current setting; a new step defaults to false.

Mode stringOptional

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in. Optional: the content decides, a prompt for AGENT and a template for TEMPLATE. A kept template step sent with a prompt is refused unless mode is AGENT, so its template is never dropped by accident.

type SequenceUpdateDraftParamsDefinitionStepObject6 struct{…}
Duration int64

Length of the wait.

minimum1
maximum9007199254740991
Type string

WAIT pauses for a fixed time; WAIT_FOR_CONNECTION waits up to that long for a LinkedIn invite to be accepted.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObject6TypeWait SequenceUpdateDraftParamsDefinitionStepObject6Type = "WAIT"
const SequenceUpdateDraftParamsDefinitionStepObject6TypeWaitForConnection SequenceUpdateDraftParamsDefinitionStepObject6Type = "WAIT_FOR_CONNECTION"
Unit string

Unit of duration.

One of the following:
const SequenceUpdateDraftParamsDefinitionStepObject6UnitDay SequenceUpdateDraftParamsDefinitionStepObject6Unit = "DAY"
const SequenceUpdateDraftParamsDefinitionStepObject6UnitMinute SequenceUpdateDraftParamsDefinitionStepObject6Unit = "MINUTE"
ID stringOptional

ID of a step in the current draft to keep. Omit for a new step. Kept steps must stay in their relative order and keep their type.

minLength1
ExpectedVersion param.Field[string]Optional

The open draft’s version as last read. Required when a draft is open; omit it only when none is, to start one from the published version.

Name param.Field[string]Optional

Name of the sequence.

minLength1
Reviewers param.Field[SequenceUpdateDraftParamsReviewers]Optional

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. Changes the list by adding and removing members; omit to keep it.

Add []stringOptional

Member IDs of active members to add. A member already listed is unchanged.

Remove []stringOptional

Member IDs to remove, including members who have left the workspace. A member not listed is unchanged.

Senders param.Field[SequenceUpdateDraftParamsSenders]Optional

The senders this sequence sends from; new contacts rotate across them. Changes the list by adding and removing senders; omit to keep it.

Add []stringOptional

Sender IDs of unarchived senders to add. A sender already listed is unchanged.

Remove []stringOptional

Sender IDs to remove, including archived senders. A sender not listed is unchanged.

ReturnsExpand Collapse
type SequenceUpdateDraftResponse struct{…}
Channels []string

Channels the draft’s steps send on.

One of the following:
const SequenceUpdateDraftResponseChannelEmail SequenceUpdateDraftResponseChannel = "EMAIL"
const SequenceUpdateDraftResponseChannelLinkedin SequenceUpdateDraftResponseChannel = "LINKEDIN"
Definition SequenceUpdateDraftResponseDefinition

The draft configuration, in the same shape as a published definition.

Description string

What this version of the sequence is for.

Messaging SequenceUpdateDraftResponseDefinitionMessaging

Messaging inputs that frame every step.

CallToAction string

What the recipient is asked to do.

Persona string

Who the sequence targets.

Trigger string

Why the outreach is timely.

ValueProp string

The value proposition.

Pacing SequenceUpdateDraftResponseDefinitionPacing

How the whole sequence paces each step type it sends, keyed by sequence step type.

Email SequenceUpdateDraftResponseDefinitionPacingEmail

Email steps.

DailyLimit int64

Most sends of this step type across the whole sequence in any rolling 24 hours, or null when the sequence sets no daily cap. Workspace and sender limits still apply.

minimum-9007199254740991
maximum9007199254740991
LinkedinInvite SequenceUpdateDraftResponseDefinitionPacingLinkedinInvite

LinkedIn connection requests.

DailyLimit int64

Most sends of this step type across the whole sequence in any rolling 24 hours, or null when the sequence sets no daily cap. Workspace and sender limits still apply.

minimum-9007199254740991
maximum9007199254740991
LinkedinMessage SequenceUpdateDraftResponseDefinitionPacingLinkedinMessage

LinkedIn messages.

DailyLimit int64

Most sends of this step type across the whole sequence in any rolling 24 hours, or null when the sequence sets no daily cap. Workspace and sender limits still apply.

minimum-9007199254740991
maximum9007199254740991
Priority string

Send priority relative to other sequences.

One of the following:
const SequenceUpdateDraftResponseDefinitionPriorityHigh SequenceUpdateDraftResponseDefinitionPriority = "HIGH"
const SequenceUpdateDraftResponseDefinitionPriorityNormal SequenceUpdateDraftResponseDefinitionPriority = "NORMAL"
SendWindow SequenceUpdateDraftResponseDefinitionSendWindow

When the sequence may send.

DaysOfWeek []int64

Days sends may go out, 0 = Sunday.

EndHour int64

Local hour sends stop, exclusive (1–24).

minimum-9007199254740991
maximum9007199254740991
StartHour int64

First local hour sends may go out (0–23).

minimum-9007199254740991
maximum9007199254740991
Timezone string

IANA timezone of the window.

Steps []SequenceUpdateDraftResponseDefinitionStepUnion

Email, LinkedIn and wait steps in execution order.

One of the following:
type SequenceUpdateDraftResponseDefinitionStepObject struct{…}
ID string

Step identifier, referenced by enrollment currentStepId and message sequenceStepId.

DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObjectDeliveryModeAuto SequenceUpdateDraftResponseDefinitionStepObjectDeliveryMode = "AUTO"
const SequenceUpdateDraftResponseDefinitionStepObjectDeliveryModeForReview SequenceUpdateDraftResponseDefinitionStepObjectDeliveryMode = "FOR_REVIEW"
Mode string

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.

Name string

Display name of the step.

Prompt string

Instructions the agent follows when composing this message.

Type string

Step type.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObjectTypeEmail SequenceUpdateDraftResponseDefinitionStepObjectType = "EMAIL"
const SequenceUpdateDraftResponseDefinitionStepObjectTypeLinkedinMessage SequenceUpdateDraftResponseDefinitionStepObjectType = "LINKEDIN_MESSAGE"
type SequenceUpdateDraftResponseDefinitionStepObject2 struct{…}
ID string

Step identifier, referenced by enrollment currentStepId and message sequenceStepId.

DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObject2DeliveryModeAuto SequenceUpdateDraftResponseDefinitionStepObject2DeliveryMode = "AUTO"
const SequenceUpdateDraftResponseDefinitionStepObject2DeliveryModeForReview SequenceUpdateDraftResponseDefinitionStepObject2DeliveryMode = "FOR_REVIEW"
IncludeNote bool

Whether the connection request carries a note. A step authored before this setting existed reads as true.

Mode string

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.

Name string

Display name of the step.

Prompt string

Instructions the agent follows when composing this message.

Type string

Step type.

type SequenceUpdateDraftResponseDefinitionStepObject3 struct{…}
ID string

Step identifier, referenced by enrollment currentStepId and message sequenceStepId.

DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObject3DeliveryModeAuto SequenceUpdateDraftResponseDefinitionStepObject3DeliveryMode = "AUTO"
const SequenceUpdateDraftResponseDefinitionStepObject3DeliveryModeForReview SequenceUpdateDraftResponseDefinitionStepObject3DeliveryMode = "FOR_REVIEW"
Mode string

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.

Name string

Display name of the step.

Template SequenceUpdateDraftResponseDefinitionStepObject3Template

The email every contact receives.

Body string

Email body as Markdown, without the sign-off or signature, which are added when the message is written. Each {{ }} is a variable filled in per contact, with a fallback for a contact missing the value; a field variable names the field by the ad_ ID the field-definitions endpoints list.

Subject string

Plain-text subject line. Each {{ }} is a variable filled in per contact, with a fallback for a contact missing the value; a field variable names the field by the ad_ ID the field-definitions endpoints list.

Type string

Step type.

type SequenceUpdateDraftResponseDefinitionStepObject4 struct{…}
ID string

Step identifier, referenced by enrollment currentStepId and message sequenceStepId.

DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObject4DeliveryModeAuto SequenceUpdateDraftResponseDefinitionStepObject4DeliveryMode = "AUTO"
const SequenceUpdateDraftResponseDefinitionStepObject4DeliveryModeForReview SequenceUpdateDraftResponseDefinitionStepObject4DeliveryMode = "FOR_REVIEW"
Mode string

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.

Name string

Display name of the step.

Template SequenceUpdateDraftResponseDefinitionStepObject4Template

The message every contact receives; for an invite, its connection note, sent only with includeNote.

Body string

Plain-text message. Each {{ }} is a variable filled in per contact, with a fallback for a contact missing the value; a field variable names the field by the ad_ ID the field-definitions endpoints list.

Type string

Step type.

type SequenceUpdateDraftResponseDefinitionStepObject5 struct{…}
ID string

Step identifier, referenced by enrollment currentStepId and message sequenceStepId.

DeliveryMode string

AUTO sends without manual approval, subject to the send window and limits; FOR_REVIEW requires a person to approve the draft before sending.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObject5DeliveryModeAuto SequenceUpdateDraftResponseDefinitionStepObject5DeliveryMode = "AUTO"
const SequenceUpdateDraftResponseDefinitionStepObject5DeliveryModeForReview SequenceUpdateDraftResponseDefinitionStepObject5DeliveryMode = "FOR_REVIEW"
IncludeNote bool

Whether the connection request carries a note. A step authored before this setting existed reads as true.

Mode string

How each message is written: AGENT composes it from prompt; TEMPLATE sends template to every contact, with its variables filled in.

Name string

Display name of the step.

Template SequenceUpdateDraftResponseDefinitionStepObject5Template

The message every contact receives; for an invite, its connection note, sent only with includeNote.

Body string

Plain-text message. Each {{ }} is a variable filled in per contact, with a fallback for a contact missing the value; a field variable names the field by the ad_ ID the field-definitions endpoints list.

Type string

Step type.

type SequenceUpdateDraftResponseDefinitionStepObject6 struct{…}
ID string

Step identifier.

Duration int64

Length of the wait.

minimum-9007199254740991
maximum9007199254740991
Type string

WAIT pauses for a fixed time; WAIT_FOR_CONNECTION waits up to that long for a LinkedIn invite to be accepted.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObject6TypeWait SequenceUpdateDraftResponseDefinitionStepObject6Type = "WAIT"
const SequenceUpdateDraftResponseDefinitionStepObject6TypeWaitForConnection SequenceUpdateDraftResponseDefinitionStepObject6Type = "WAIT_FOR_CONNECTION"
Unit string

Unit of duration.

One of the following:
const SequenceUpdateDraftResponseDefinitionStepObject6UnitDay SequenceUpdateDraftResponseDefinitionStepObject6Unit = "DAY"
const SequenceUpdateDraftResponseDefinitionStepObject6UnitMinute SequenceUpdateDraftResponseDefinitionStepObject6Unit = "MINUTE"
Name string

Name the sequence takes when the draft is published.

PublishWarnings []SequenceUpdateDraftResponsePublishWarning

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.

Code string

What publishing would change.

One of the following:
const SequenceUpdateDraftResponsePublishWarningCodeDelayShortened SequenceUpdateDraftResponsePublishWarningCode = "delay_shortened"
const SequenceUpdateDraftResponsePublishWarningCodeDelayLengthened SequenceUpdateDraftResponsePublishWarningCode = "delay_lengthened"
const SequenceUpdateDraftResponsePublishWarningCodeConnectionWaitShortened SequenceUpdateDraftResponsePublishWarningCode = "connection_wait_shortened"
const SequenceUpdateDraftResponsePublishWarningCodeConnectionWaitLengthened SequenceUpdateDraftResponsePublishWarningCode = "connection_wait_lengthened"
const SequenceUpdateDraftResponsePublishWarningCodeSendScheduleChanged SequenceUpdateDraftResponsePublishWarningCode = "send_schedule_changed"
const SequenceUpdateDraftResponsePublishWarningCodeSendConfigurationChanged SequenceUpdateDraftResponsePublishWarningCode = "send_configuration_changed"
const SequenceUpdateDraftResponsePublishWarningCodeSendPriorityChanged SequenceUpdateDraftResponsePublishWarningCode = "send_priority_changed"
const SequenceUpdateDraftResponsePublishWarningCodeSendersChanged SequenceUpdateDraftResponsePublishWarningCode = "senders_changed"
const SequenceUpdateDraftResponsePublishWarningCodeEmailSenderPoolEmptied SequenceUpdateDraftResponsePublishWarningCode = "email_sender_pool_emptied"
const SequenceUpdateDraftResponsePublishWarningCodeLinkedinAccountPoolEmptied SequenceUpdateDraftResponsePublishWarningCode = "linkedin_account_pool_emptied"
const SequenceUpdateDraftResponsePublishWarningCodeAssignedSenderRemoved SequenceUpdateDraftResponsePublishWarningCode = "assigned_sender_removed"
const SequenceUpdateDraftResponsePublishWarningCodeDeliveryBecameAutomatic SequenceUpdateDraftResponsePublishWarningCode = "delivery_became_automatic"
const SequenceUpdateDraftResponsePublishWarningCodeInviteNoteEnabled SequenceUpdateDraftResponsePublishWarningCode = "invite_note_enabled"
const SequenceUpdateDraftResponsePublishWarningCodeInviteNoteDisabled SequenceUpdateDraftResponsePublishWarningCode = "invite_note_disabled"
const SequenceUpdateDraftResponsePublishWarningCodeStepInserted SequenceUpdateDraftResponsePublishWarningCode = "step_inserted"
const SequenceUpdateDraftResponsePublishWarningCodeAutomaticSendStepInserted SequenceUpdateDraftResponsePublishWarningCode = "automatic_send_step_inserted"
const SequenceUpdateDraftResponsePublishWarningCodeStepRemoved SequenceUpdateDraftResponsePublishWarningCode = "step_removed"
const SequenceUpdateDraftResponsePublishWarningCodeStepTypeChanged SequenceUpdateDraftResponsePublishWarningCode = "step_type_changed"
const SequenceUpdateDraftResponsePublishWarningCodeStepOrderChanged SequenceUpdateDraftResponsePublishWarningCode = "step_order_changed"
const SequenceUpdateDraftResponsePublishWarningCodeFullIdentityRewrite SequenceUpdateDraftResponsePublishWarningCode = "full_identity_rewrite"
const SequenceUpdateDraftResponsePublishWarningCodeLowIdentityOverlap SequenceUpdateDraftResponsePublishWarningCode = "low_identity_overlap"
Message string

What would change, in plain language.

Severity string

destructive when contacts already in the sequence may skip, repeat or receive a step they would not have; warning otherwise.

One of the following:
const SequenceUpdateDraftResponsePublishWarningSeverityWarning SequenceUpdateDraftResponsePublishWarningSeverity = "warning"
const SequenceUpdateDraftResponsePublishWarningSeverityDestructive SequenceUpdateDraftResponsePublishWarningSeverity = "destructive"
StepIDs []string

The steps involved; empty for a sequence-wide change.

Reviewers []SequenceUpdateDraftResponseReviewer

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.

ID string

ID of the member.

minLength1
ObjectType string

Always member.

Senders []SequenceUpdateDraftResponseSender

The senders this draft will publish; new contacts rotate across them. Until a save changes it, this is the sequence’s live list. An archived sender stays listed but never sends; any change to the list drops it.

ID string

ID of the sender.

minLength1
ObjectType string

Always sender.

SequenceID string

The sequence this draft belongs to.

UpdatedAt string

When the draft last changed.

Version string

Opaque token for the current state of the draft. Send it as expectedVersion on the next save, publish or discard; it changes whenever anyone edits the draft.

Update a sequence draft

package main

import (
  "context"
  "fmt"

  "github.com/Lightfld/lightfield-go"
  "github.com/Lightfld/lightfield-go/option"
)

func main() {
  client := githubcomlightfldlightfieldgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  sequenceUpdateDraftResponse, err := client.Sequence.UpdateDraft(
    context.TODO(),
    "id",
    githubcomlightfldlightfieldgo.SequenceUpdateDraftParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", sequenceUpdateDraftResponse.Channels)
}
{
  "channels": [
    "EMAIL"
  ],
  "definition": {
    "description": "description",
    "messaging": {
      "callToAction": "callToAction",
      "persona": "persona",
      "trigger": "trigger",
      "valueProp": "valueProp"
    },
    "pacing": {
      "EMAIL": {
        "dailyLimit": -9007199254740991
      },
      "LINKEDIN_INVITE": {
        "dailyLimit": -9007199254740991
      },
      "LINKEDIN_MESSAGE": {
        "dailyLimit": -9007199254740991
      }
    },
    "priority": "HIGH",
    "sendWindow": {
      "daysOfWeek": [
        -9007199254740991
      ],
      "endHour": -9007199254740991,
      "startHour": -9007199254740991,
      "timezone": "timezone"
    },
    "steps": [
      {
        "id": "id",
        "deliveryMode": "AUTO",
        "mode": "AGENT",
        "name": "name",
        "prompt": "prompt",
        "type": "EMAIL"
      }
    ]
  },
  "name": "name",
  "publishWarnings": [
    {
      "code": "delay_shortened",
      "message": "message",
      "severity": "warning",
      "stepIds": [
        "string"
      ]
    }
  ],
  "reviewers": [
    {
      "id": "x",
      "objectType": "member"
    }
  ],
  "senders": [
    {
      "id": "x",
      "objectType": "sender"
    }
  ],
  "sequenceId": "sequenceId",
  "updatedAt": "updatedAt",
  "version": "version"
}
Returns Examples
{
  "channels": [
    "EMAIL"
  ],
  "definition": {
    "description": "description",
    "messaging": {
      "callToAction": "callToAction",
      "persona": "persona",
      "trigger": "trigger",
      "valueProp": "valueProp"
    },
    "pacing": {
      "EMAIL": {
        "dailyLimit": -9007199254740991
      },
      "LINKEDIN_INVITE": {
        "dailyLimit": -9007199254740991
      },
      "LINKEDIN_MESSAGE": {
        "dailyLimit": -9007199254740991
      }
    },
    "priority": "HIGH",
    "sendWindow": {
      "daysOfWeek": [
        -9007199254740991
      ],
      "endHour": -9007199254740991,
      "startHour": -9007199254740991,
      "timezone": "timezone"
    },
    "steps": [
      {
        "id": "id",
        "deliveryMode": "AUTO",
        "mode": "AGENT",
        "name": "name",
        "prompt": "prompt",
        "type": "EMAIL"
      }
    ]
  },
  "name": "name",
  "publishWarnings": [
    {
      "code": "delay_shortened",
      "message": "message",
      "severity": "warning",
      "stepIds": [
        "string"
      ]
    }
  ],
  "reviewers": [
    {
      "id": "x",
      "objectType": "member"
    }
  ],
  "senders": [
    {
      "id": "x",
      "objectType": "sender"
    }
  ],
  "sequenceId": "sequenceId",
  "updatedAt": "updatedAt",
  "version": "version"
}