#The Workflow Step object
Models a node in the Linkbreakers workflow canvas, defining what should occur after a scan (redirects, gates, forms) and how it connects to other steps in the visitor journey.
branches
array<object>Every exit of this step, with its current destination. This is the vocabulary for connecting the step: pass one of these branch_ids to workflow_steps_connect. An atomic step has exactly one branch, "next". A composite step has one per button, option or range, plus "else" for a condition's fallback. An exit step has none.
canvasPosition
objectCanvas position for React Flow node positioning
childStepIds
array<string>Child workflow step IDs (steps that this step can transition to, UUID)
createdAt
string (date-time)When the workflow step was created
eventAction
string (enum)leads to a next step, not straight out. Records which button the visitor pressed, so use it over SOCIAL_LINKS_PAGE when that choice is worth measuring or when a branch needs to do more than redirect. the common case, not the only one: app stores, docs, booking pages and storefronts all work, and the name is the only thing about it that is social. It is an exit step, so the visitor leaves from here. visitor automatically. It carries no list of destinations, so a page that should offer a choice between two or more places is not this step. Use SOCIAL_LINKS_PAGE when the choices leave for external URLs, or MULTI_LINK when each choice continues into more workflow.
Allowed values
EVENT_ACTION_UNSPECIFIEDEvent action not specified
EVENT_ACTION_CLIENT_REDIRECTRedirect visitors to a destination URL
EVENT_ACTION_LINK_VISITEntry step triggered when the link is visited.
EVENT_ACTION_PASSWORD_VERIFYRequire visitors to enter a password before proceeding
EVENT_ACTION_FORM_SUBMITPresent a data collection form to visitors
EVENT_ACTION_CONTACT_CARDGenerate a vCard (VCF) response with contact information
EVENT_ACTION_MULTI_LINKA page of buttons where each one continues into more workflow: the button
EVENT_ACTION_VISIT_TYPE_CONDITIONRoute visitors based on whether it's a first or returning visit
EVENT_ACTION_COUNTRY_CONDITIONRoute visitors based on their country location
EVENT_ACTION_DAY_OF_WEEK_CONDITIONRoute visitors based on day of week
EVENT_ACTION_TIME_OF_DAY_CONDITIONRoute visitors based on time of day
EVENT_ACTION_DAY_OF_MONTH_CONDITIONRoute visitors based on day of month
EVENT_ACTION_SPECIFIC_DATE_CONDITIONRoute visitors based on specific calendar dates
EVENT_ACTION_SOCIAL_LINKS_PAGEA page of buttons that each leave for an external URL. Social profiles are
EVENT_ACTION_DEVICE_TYPE_CONDITIONRoute visitors based on device type (e.g. MOBILE, DESKTOP, TABLET)
EVENT_ACTION_DEVICE_PLATFORM_CONDITIONRoute visitors based on device platform / operating system (e.g. iOS, Android, macOS)
EVENT_ACTION_DEVICE_BROWSER_CONDITIONRoute visitors based on browser family (e.g. Chrome, Safari, Firefox)
EVENT_ACTION_DEVICE_BRAND_CONDITIONRoute visitors based on hardware brand (e.g. Apple, Samsung, Google)
EVENT_ACTION_DEVICE_ACTOR_CONDITIONRoute visitors based on actor classification (e.g. HUMAN, BOT, AGENT)
EVENT_ACTION_VISITOR_DATA_CONDITIONRoute visitors based on their profile data or custom attributes
EVENT_ACTION_THANK_YOU_PAGEDisplay a final thank you / completion message (exit step)
EVENT_ACTION_MESSAGE_PAGEText with ONE way onward: a single button, or a timer that moves the
id
stringThe unique identifier of the workflow step (UUID)
kind
string (enum)The kind of workflow step (entry, exit, etc.) - read-only, determined by server
Allowed values
KIND_UNSPECIFIEDWorkflow step kind not specified
KIND_ENTRYEntry steps are automatically triggered when a visitor reaches the workflow
KIND_EXITExit steps finalize the workflow (commonly a redirect)
KIND_INTERACTIONInteraction steps require visitor input (forms, passwords, etc.)
KIND_CONDITIONCondition steps evaluate logic and route to different next steps
linkId
stringThe link ID this workflow step belongs to (UUID)
nodeType
string (enum)The node type says how many exits a step has. Whatever the answer, you connect every one of them the same way, with workflow_steps_connect: name the branch, name the step it leads to. Read a step's branches field for its branch ids. Example: a multi-link with 3 buttons has 3 branches, with the buttons' ids. A redirect has one branch, "next". A country condition has one branch per country plus "else". for a condition's fallback. Examples: MULTI_LINK, VISIT_TYPE_CONDITION, COUNTRY_CONDITION, DAY_OF_WEEK_CONDITION, TIME_OF_DAY_CONDITION, DAY_OF_MONTH_CONDITION, SPECIFIC_DATE_CONDITION, DEVICE_*_CONDITION, VISITOR_DATA_CONDITION (THANK_YOU_PAGE, CONTACT_CARD, SOCIAL_LINKS_PAGE, CLIENT_REDIRECT) are atomic but end the journey, so they have no branches at all. Examples: LINK_VISIT, PASSWORD_VERIFY, FORM_SUBMIT, MESSAGE_PAGE
Allowed values
NODE_TYPE_UNSPECIFIEDWorkflow step node type not specified
NODE_TYPE_COMPOSITEComposite steps have one exit per button, option or range, plus "else"
NODE_TYPE_ATOMICAtomic steps have exactly one exit, branch id "next". Exit steps
parentStepIds
array<string>Parent workflow step IDs (steps that can transition into this step, UUID)
payload
objectWorkflow step payload - uses oneof for type safety based on EventAction
updatedAt
string (date-time)When the workflow step was last updated