MCP

schemas/sequence

The Sequence object returned by campaign/get_sequences_by_id, campaign/post_sequences_by_id, and sequence/patch_by_id.

A sequence is a conditional branch inside a campaign: prospects enter it when its trigger rule matches, and then receive the followups it holds (see schemas/followup).

field type constraints description
sequenceId integer int64 Unique identifier.
name string max 64 Descriptive sequence name.
shortName string max 8 Short name used in reporting and the UI.
conditionReply string one of: All, Opened, NotOpened, NotReplied, Replied, RepliedInterested, RepliedNotInterested, RepliedNeutral, RepliedMaybeLater, Converted, NotConverted, Won, MeetingBooked, MeetingCompleted Reply-based half of the trigger rule.
conditionAction string one of: Opened, Clicked, Bounced, Unsubscribed, Converted, Replied Action-based half of the trigger rule. Reads back null on rows whose stored value is absent or unrecognized.
conditionOperator string one of: GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual, GreaterThan, LessThan Comparison applied between the observed count and conditionTimes. Reads back null on rows whose stored value is absent or unrecognized.
conditionTimes integer 0–100 How many times the condition must be met.
conditionExtra boolean Apply a further condition beyond the base one.
conditionNegate boolean Invert the trigger rule.

Create responses may omit conditionNegate; the list operation returns it.

The condition* fields are one rule

They are only meaningful read together: conditionReply/conditionAction name the condition, conditionTimes is how many times it must be met, conditionOperator is the comparison applied to that count, conditionNegate inverts the result, and conditionExtra adds a further condition on top.

So conditionTimes counts nothing by itself. It is a threshold whose subject is whatever that same sequence's conditionReply/conditionAction names — never an engagement metric in its own right. conditionTimes: 3 does not mean "3 opens"; read all six fields before reporting what a sequence does. Per-step engagement counts live on the followups instead.

A sequence that reads back conditionAction: null or conditionOperator: null is a valid, readable sequence — the stored value is simply absent or unrecognized. That null cannot be sent back: to leave such a field as it is, omit it from the update; to set it, send one of the listed values.

Not specified: how conditionReply and conditionAction combine when both are set (i.e. which one conditionTimes counts), or what condition conditionExtra adds.