# MCP tool reference

1 callable tools.

Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.

Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.

[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)

## resolve_external_steps

Work the manual and external step queues: list failed or unknown external executions (HTTP POST / HeyReach) and resolve them by completing or retrying, and complete or fail manual-review step executions for a contact.

Use to unblock contacts waiting on manual review or stuck external steps. Retry is the paid path and enforces the subscription gate.

Resolutions are tri-state (resolved / already_resolved / contact_inactive) — report the state instead of retrying an already-resolved execution.

Obtain the user's explicit authorization before invoking a write or destructive action. This is a client interaction requirement, not a server-issued approval token.

Scopes: sequence:read, sequence:update, campaign:update

Risk: write; confirmation: explicit; idempotency: supported.

### Input schema (personal API key)

```json
{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "complete"
          ]
        },
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "payload": {
          "type": "object",
          "properties": {
            "contactId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "campaignStepId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "pass": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "contactId",
            "campaignStepId",
            "pass"
          ],
          "patternProperties": {
            "^(?!(?:contactId|campaignStepId|pass)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "contactId",
              "campaignStepId",
              "pass"
            ]
          }
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId",
        "payload"
      ],
      "patternProperties": {
        "^(?!(?:action|workspaceId|campaignId|payload)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "action",
          "workspaceId",
          "campaignId",
          "payload"
        ]
      }
    },
    {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "fail"
          ]
        },
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "payload": {
          "type": "object",
          "properties": {
            "contactId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "campaignStepId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "pass": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "contactId",
            "campaignStepId",
            "pass"
          ],
          "patternProperties": {
            "^(?!(?:contactId|campaignStepId|pass)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "contactId",
              "campaignStepId",
              "pass"
            ]
          }
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId",
        "payload"
      ],
      "patternProperties": {
        "^(?!(?:action|workspaceId|campaignId|payload)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "action",
          "workspaceId",
          "campaignId",
          "payload"
        ]
      }
    },
    {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "external_executions"
          ]
        },
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "campaignStepId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId"
      ],
      "patternProperties": {
        "^(?!(?:action|workspaceId|campaignId|campaignStepId)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "action",
          "workspaceId",
          "campaignId",
          "campaignStepId"
        ]
      }
    },
    {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "resolve_external_execution"
          ]
        },
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "executionId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "payload": {
          "type": "object",
          "properties": {
            "action": {
              "type": "string",
              "enum": [
                "complete",
                "retry"
              ]
            }
          },
          "required": [
            "action"
          ],
          "patternProperties": {
            "^(?!(?:action)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "action"
                ]
              }
            ]
          }
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId",
        "executionId",
        "payload"
      ],
      "patternProperties": {
        "^(?!(?:action|workspaceId|campaignId|executionId|payload)$)[\\s\\S]*$": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "type": "string",
        "enum": [
          "action",
          "workspaceId",
          "campaignId",
          "executionId",
          "payload"
        ]
      }
    }
  ]
}
```

### Input schema (OAuth / delegated agent)

```json
{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid",
      "description": "Target Workspace UUID. Call list_workspaces to enumerate the Workspaces this credential may access, then pass the chosen id here."
    }
  },
  "required": [
    "workspaceId"
  ],
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "action": {
          "type": "string",
          "enum": [
            "complete"
          ]
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "payload": {
          "type": "object",
          "properties": {
            "contactId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "campaignStepId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "pass": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "contactId",
            "campaignStepId",
            "pass"
          ],
          "patternProperties": {
            "^(?!(?:contactId|campaignStepId|pass)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "contactId",
              "campaignStepId",
              "pass"
            ]
          }
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId",
        "payload"
      ],
      "patternProperties": {
        "^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:action|workspaceId|campaignId|payload)$)[\\s\\S]*$)": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "action",
              "workspaceId",
              "campaignId",
              "payload"
            ]
          },
          {
            "enum": [
              "workspaceId"
            ]
          }
        ]
      }
    },
    {
      "type": "object",
      "properties": {
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "action": {
          "type": "string",
          "enum": [
            "fail"
          ]
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "payload": {
          "type": "object",
          "properties": {
            "contactId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "campaignStepId": {
              "type": "string",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
              "format": "uuid"
            },
            "pass": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "contactId",
            "campaignStepId",
            "pass"
          ],
          "patternProperties": {
            "^(?!(?:contactId|campaignStepId|pass)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "type": "string",
            "enum": [
              "contactId",
              "campaignStepId",
              "pass"
            ]
          }
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId",
        "payload"
      ],
      "patternProperties": {
        "^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:action|workspaceId|campaignId|payload)$)[\\s\\S]*$)": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "action",
              "workspaceId",
              "campaignId",
              "payload"
            ]
          },
          {
            "enum": [
              "workspaceId"
            ]
          }
        ]
      }
    },
    {
      "type": "object",
      "properties": {
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "action": {
          "type": "string",
          "enum": [
            "external_executions"
          ]
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "campaignStepId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId"
      ],
      "patternProperties": {
        "^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:action|workspaceId|campaignId|campaignStepId)$)[\\s\\S]*$)": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "action",
              "workspaceId",
              "campaignId",
              "campaignStepId"
            ]
          },
          {
            "enum": [
              "workspaceId"
            ]
          }
        ]
      }
    },
    {
      "type": "object",
      "properties": {
        "workspaceId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "action": {
          "type": "string",
          "enum": [
            "resolve_external_execution"
          ]
        },
        "campaignId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "executionId": {
          "type": "string",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
          "format": "uuid"
        },
        "payload": {
          "type": "object",
          "properties": {
            "action": {
              "type": "string",
              "enum": [
                "complete",
                "retry"
              ]
            }
          },
          "required": [
            "action"
          ],
          "patternProperties": {
            "^(?!(?:action)$)[\\s\\S]*$": false
          },
          "additionalProperties": true,
          "propertyNames": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "action"
                ]
              }
            ]
          }
        }
      },
      "required": [
        "action",
        "workspaceId",
        "campaignId",
        "executionId",
        "payload"
      ],
      "patternProperties": {
        "^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:action|workspaceId|campaignId|executionId|payload)$)[\\s\\S]*$)": false
      },
      "additionalProperties": true,
      "propertyNames": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "action",
              "workspaceId",
              "campaignId",
              "executionId",
              "payload"
            ]
          },
          {
            "enum": [
              "workspaceId"
            ]
          }
        ]
      }
    }
  ]
}
```

### Output schema (structuredContent)

```json
{
  "$defs": {
    "UtcDateTimeEncoded": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
    }
  },
  "type": "object",
  "anyOf": [
    {
      "allOf": [
        {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "campaignContactId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "campaignStepId": {
                    "type": "string",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                    "format": "uuid"
                  },
                  "pass": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "http_post_request",
                      "heyreach_campaign"
                    ]
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "ready",
                      "sending",
                      "succeeded",
                      "failed",
                      "unknown"
                    ]
                  },
                  "error": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "statusCode": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "createdAt": {
                    "$ref": "#/$defs/UtcDateTimeEncoded"
                  },
                  "attempt": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "contactName": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "campaignContactId",
                  "campaignStepId",
                  "pass",
                  "type",
                  "state",
                  "error",
                  "statusCode",
                  "createdAt",
                  "attempt",
                  "contactName"
                ],
                "patternProperties": {
                  "^(?!(?:id|campaignContactId|campaignStepId|pass|type|state|error|statusCode|createdAt|attempt|contactName)$)[\\s\\S]*$": false
                },
                "additionalProperties": true,
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "id",
                    "campaignContactId",
                    "campaignStepId",
                    "pass",
                    "type",
                    "state",
                    "error",
                    "statusCode",
                    "createdAt",
                    "attempt",
                    "contactName"
                  ]
                }
              }
            },
            {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "resolved"
                      ]
                    },
                    "success": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    },
                    "alreadyResolved": {
                      "type": "boolean",
                      "enum": [
                        false
                      ]
                    }
                  },
                  "required": [
                    "status",
                    "success",
                    "alreadyResolved"
                  ],
                  "patternProperties": {
                    "^(?!(?:status|success|alreadyResolved)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "status",
                      "success",
                      "alreadyResolved"
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "already_resolved"
                      ]
                    },
                    "success": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    },
                    "alreadyResolved": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    }
                  },
                  "required": [
                    "status",
                    "success",
                    "alreadyResolved"
                  ],
                  "patternProperties": {
                    "^(?!(?:status|success|alreadyResolved)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "status",
                      "success",
                      "alreadyResolved"
                    ]
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "contact_inactive"
                      ]
                    },
                    "success": {
                      "type": "boolean",
                      "enum": [
                        false
                      ]
                    },
                    "alreadyResolved": {
                      "type": "boolean",
                      "enum": [
                        false
                      ]
                    }
                  },
                  "required": [
                    "status",
                    "success",
                    "alreadyResolved"
                  ],
                  "patternProperties": {
                    "^(?!(?:status|success|alreadyResolved)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "status",
                      "success",
                      "alreadyResolved"
                    ]
                  }
                }
              ]
            },
            {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "enum": [
                    true
                  ]
                }
              },
              "required": [
                "success"
              ],
              "patternProperties": {
                "^(?!(?:success)$)[\\s\\S]*$": false
              },
              "additionalProperties": true,
              "propertyNames": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "success"
                    ]
                  }
                ]
              }
            }
          ]
        },
        {
          "type": "object"
        }
      ]
    },
    {
      "type": "object",
      "properties": {
        "data": {
          "allOf": [
            {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                        "format": "uuid"
                      },
                      "campaignContactId": {
                        "type": "string",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                        "format": "uuid"
                      },
                      "campaignStepId": {
                        "type": "string",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
                        "format": "uuid"
                      },
                      "pass": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "http_post_request",
                          "heyreach_campaign"
                        ]
                      },
                      "state": {
                        "type": "string",
                        "enum": [
                          "ready",
                          "sending",
                          "succeeded",
                          "failed",
                          "unknown"
                        ]
                      },
                      "error": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "statusCode": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "createdAt": {
                        "$ref": "#/$defs/UtcDateTimeEncoded"
                      },
                      "attempt": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "contactName": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "campaignContactId",
                      "campaignStepId",
                      "pass",
                      "type",
                      "state",
                      "error",
                      "statusCode",
                      "createdAt",
                      "attempt",
                      "contactName"
                    ],
                    "patternProperties": {
                      "^(?!(?:id|campaignContactId|campaignStepId|pass|type|state|error|statusCode|createdAt|attempt|contactName)$)[\\s\\S]*$": false
                    },
                    "additionalProperties": true,
                    "propertyNames": {
                      "type": "string",
                      "enum": [
                        "id",
                        "campaignContactId",
                        "campaignStepId",
                        "pass",
                        "type",
                        "state",
                        "error",
                        "statusCode",
                        "createdAt",
                        "attempt",
                        "contactName"
                      ]
                    }
                  }
                },
                {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "resolved"
                          ]
                        },
                        "success": {
                          "type": "boolean",
                          "enum": [
                            true
                          ]
                        },
                        "alreadyResolved": {
                          "type": "boolean",
                          "enum": [
                            false
                          ]
                        }
                      },
                      "required": [
                        "status",
                        "success",
                        "alreadyResolved"
                      ],
                      "patternProperties": {
                        "^(?!(?:status|success|alreadyResolved)$)[\\s\\S]*$": false
                      },
                      "additionalProperties": true,
                      "propertyNames": {
                        "type": "string",
                        "enum": [
                          "status",
                          "success",
                          "alreadyResolved"
                        ]
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "already_resolved"
                          ]
                        },
                        "success": {
                          "type": "boolean",
                          "enum": [
                            true
                          ]
                        },
                        "alreadyResolved": {
                          "type": "boolean",
                          "enum": [
                            true
                          ]
                        }
                      },
                      "required": [
                        "status",
                        "success",
                        "alreadyResolved"
                      ],
                      "patternProperties": {
                        "^(?!(?:status|success|alreadyResolved)$)[\\s\\S]*$": false
                      },
                      "additionalProperties": true,
                      "propertyNames": {
                        "type": "string",
                        "enum": [
                          "status",
                          "success",
                          "alreadyResolved"
                        ]
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "contact_inactive"
                          ]
                        },
                        "success": {
                          "type": "boolean",
                          "enum": [
                            false
                          ]
                        },
                        "alreadyResolved": {
                          "type": "boolean",
                          "enum": [
                            false
                          ]
                        }
                      },
                      "required": [
                        "status",
                        "success",
                        "alreadyResolved"
                      ],
                      "patternProperties": {
                        "^(?!(?:status|success|alreadyResolved)$)[\\s\\S]*$": false
                      },
                      "additionalProperties": true,
                      "propertyNames": {
                        "type": "string",
                        "enum": [
                          "status",
                          "success",
                          "alreadyResolved"
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "enum": [
                        true
                      ]
                    }
                  },
                  "required": [
                    "success"
                  ],
                  "patternProperties": {
                    "^(?!(?:success)$)[\\s\\S]*$": false
                  },
                  "additionalProperties": true,
                  "propertyNames": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "success"
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            {
              "not": {
                "type": "object"
              }
            }
          ]
        }
      },
      "required": [
        "data"
      ],
      "additionalProperties": false
    }
  ]
}
```

### Underlying API operations

- `campaignSteps.complete`: `POST /v1/workspaces/:workspaceId/campaigns/:campaignId/steps/complete`
- `campaignSteps.fail`: `POST /v1/workspaces/:workspaceId/campaigns/:campaignId/steps/fail`
- `campaignSteps.externalExecutions`: `GET /v1/workspaces/:workspaceId/campaigns/:campaignId/external-executions`
- `campaignSteps.resolveExternalExecution`: `POST /v1/workspaces/:workspaceId/campaigns/:campaignId/external-executions/:executionId/resolve`

