UpdateSequence
Headers
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
API key header using this scheme. Example: “X-API-KEY: {API_KEY}”
The START node is implicit; the root of the request must be your first action node. Every path through the tree must terminate with an END node.
Allowed statuses: DRAFT, SCHEDULED, PAUSED. Returns 400 for any other status (e.g. IN_PROGRESS, FINISHED). For PAUSED campaigns a safe update is performed - existing lead states are preserved and leads are remapped to compatible positions in the new sequence. For SCHEDULED campaigns the campaign reverts to DRAFT.
campaignId (long, required): The campaign to update.
sequence (PublicSequenceNodeDto, required): Root node of the workflow tree.
nodeType (string, required): One of CONNECTION_REQUEST, MESSAGE, INMAIL, VIEW_PROFILE, FOLLOW, LIKE_POST, FIND_EMAIL, CHECK_IS_CONNECTION, CHECK_IS_OPEN_PROFILE, SEND_LEAD_TO_INSTANTLY, SEND_LEAD_TO_SMARTLEAD, SEND_LEAD_TO_BISON, END.
unconditionalNode (PublicSequenceNodeDto, required for non-END nodes): The next node to follow unconditionally, or when a branching condition is false.
conditionalNode (PublicSequenceNodeDto, required for branching nodes): The next node to follow when the branching condition is true. Branching nodes are CONNECTION_REQUEST, CHECK_IS_CONNECTION, CHECK_IS_OPEN_PROFILE, FIND_EMAIL. All other non-END nodes must NOT set this field.
actionDelay (int, optional): How long to wait before executing this node, paired with actionDelayUnit. Range 0-100. Recommended default for non-root nodes: actionDelay: 3 with actionDelayUnit: "HOUR" - that is the minimum the server accepts when the parent is in the list below. The resulting delay (actionDelay x actionDelayUnit) must be at least 3 hours and not more than 500 days if the parent is in the list - this applies to every node type, including END. Parents that require the minimum on their unconditional child: CONNECTION_REQUEST, MESSAGE, INMAIL, VIEW_PROFILE, FOLLOW, LIKE_POST. Parents that require the minimum on their conditional child: CONNECTION_REQUEST. The root node has no parent and may use 0.
actionDelayUnit (string, optional): Unit for actionDelay. HOUR or DAY.
payload (object, conditional): Schema is node-specific - the shape of payload depends on nodeType, it is NOT a shared object. Required for action nodes that take configuration: CONNECTION_REQUEST, MESSAGE, INMAIL, LIKE_POST, SEND_LEAD_TO_INSTANTLY, SEND_LEAD_TO_SMARTLEAD, SEND_LEAD_TO_BISON. Not used for action-only nodes: VIEW_PROFILE, FOLLOW, FIND_EMAIL, CHECK_IS_CONNECTION, CHECK_IS_OPEN_PROFILE, END. Omitting payload on a node that requires one is rejected with 400 - see Integration node errors below. The SEND_LEAD_TO_* schemas are documented below; refer to the API documentation for the exact schema of the remaining node types.
externalReference (string, optional): Your own tracking ID for this step, returned via API and webhooks. Max 100 characters.
The payload shapes for the three SEND_LEAD_TO_* nodes. All three expose the same behaviour - when a lead replies in your HeyReach campaign, they are automatically paused / removed / stopped in the external tool - but the field name differs per integration.
SEND_LEAD_TO_INSTANTLYinstantlyResourceId (string, required): GUID of the Instantly list or campaign.
resourceType (string, required): LIST or CAMPAIGN. Must be sent explicitly - it is not defaulted.
removeExternalLead (bool, optional): Remove the lead from the Instantly campaign when they reply in HeyReach. Applies to CAMPAIGN only, where it defaults to true. Sending it together with resourceType: "LIST" - even as false - is rejected with 400.
SEND_LEAD_TO_SMARTLEADsmartLeadCampaignId (long, required): The numeric ID of the Smartlead campaign.
pauseExternalLead (bool, optional): Pause the lead in the Smartlead campaign when they reply in HeyReach. Always applies, defaults to true.
SEND_LEAD_TO_BISONbisonCampaignId (long, optional): The numeric ID of the EmailBison campaign. If omitted, the lead is created in EmailBison without being added to a campaign.
stopExternalLead (bool, optional): Stop the lead in the EmailBison campaign when they reply in HeyReach. Applies only when bisonCampaignId is set, where it defaults to true. Sending it without a bisonCampaignId - even as false - is rejected with 400.
All of the following return 400 with body { "errorMessage": "..." }:
payload omitted on a node that requires one (CONNECTION_REQUEST, MESSAGE, INMAIL, LIKE_POST, SEND_LEAD_TO_INSTANTLY, SEND_LEAD_TO_SMARTLEAD, SEND_LEAD_TO_BISON): Error in the SEND_LEAD_TO_INSTANTLY node of the campaign sequence. The required payload was not provided.
resourceType and/or instantlyResourceId omitted: The following properties are required: ResourceType, InstantlyResourceId.
smartLeadCampaignId omitted: The following properties are required: SmartLeadCampaignId.
resourceType is not LIST or CAMPAIGN: Error in Instantly node. The provided resource type is invalid.
removeExternalLead sent with resourceType: "LIST": Error in Instantly node. Incorrect usage of the 'Remove external lead' option.
stopExternalLead sent without bisonCampaignId: Error in EmailBison node. Incorrect usage of the 'Stop external lead' option.
smartLeadCampaignId is negative: Error in Smartlead node. The provided campaign id is invalid.