v1

latestOpenAPI 3.1.0MIT2026-07-243952451019.0 KB
Workflow

Fetch Workflow Structure

Returns the workflow's complete tree in a single call: the workflow header, its active triggers (summary shape), and the ordered list of visible steps with branching inlined. Internal container nodes are spliced out.

Split steps carry their child branches or variants directly in the response:

  • conditional_split_step: branches — always [{branch: "matched", steps: [...]}, {branch: "unmatched", steps: [...]}]
  • split_test_step: variants — each entry has weight and steps.

Walk the steps array in order to follow execution flow. sort_order is container-local and is not globally unique across the tree.

get/workflows/{id}/structure

Path parameters

idstring required

Response

OK

Example response

{
  "workflow": {
    "id": 101,
    "public_id": "WfAbCd",
    "name": "New Lead Nurture",
    "status": "live",
    "disabled": false,
    "archived": false,
    "run_type": "asynchronous"
  },
  "triggers": [
    {
      "id": 11,
      "public_id": "TrXxYy",
      "event_type_key": "$contact.tag_applied",
      "active": true,
      "allow_anonymous_contacts": false
    }
  ],
  "steps": [
    {
      "id": 201,
      "public_id": "StEm01",
      "step_type": "send_email_step",
      "name": "Send Email",
      "sort_order": 0,
      "state": "active",
      "step_type_settings": {
        "send_email_step": {
          "subject": "Welcome!",
          "preheadline": "We're glad you're here.",
          "template_id": 3001,
          "from_address_id": 4001,
          "reply_to_address_id": null
        }
      }
    },
    {
      "id": 202,
      "public_id": "StDl02",
      "step_type": "delay_step",
      "name": "Wait 3 Days",
      "sort_order": 1,
      "state": "active",
      "step_type_settings": {
        "delay_step": {
          "delay_type": "relative",
          "duration": 3,
          "interval": "days",
          "time_zone": null,
          "use_contact_time_zone": false,
          "use_execution_window": false,
          "day_of_week": null,
          "date_of_month": null,
          "start_time": null,
          "end_time": null,
          "execution_window_days": []
        }
      }
    },
    {
      "id": 203,
      "public_id": "StCs03",
      "step_type": "conditional_split_step",
      "name": "VIP Check",
      "sort_order": 2,
      "state": "active",
      "convergence_step_id": null,
      "step_type_settings": {
        "conditional_split_step": {
          "condition": {
            "filter_id": 6001,
            "is_setup": true
          }
        }
      },
      "branches": [
        {
          "branch": "matched",
          "steps": [
            {
              "id": 205,
              "public_id": "StTg05",
              "step_type": "contact_tag_step",
              "name": "Tag VIP",
              "sort_order": 0,
              "state": "active",
              "step_type_settings": {
                "contact_tag_step": {
                  "action": "Add Tags",
                  "contacts_tag_ids": [
                    7001
                  ]
                }
              }
            }
          ]
        },
        {
          "branch": "unmatched",
          "steps": []
        }
      ]
    }
  ]
}