launch_campaign
Launch a draft campaign: preview binds the exact version and input hash, commit activates the campaign in-request and returns an already-succeeded operation handle.
# 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)
## launch_campaign
Launch a draft campaign: preview binds the exact version and input hash, commit activates the campaign in-request and returns an already-succeeded operation handle.
Use to start sending for a draft campaign after inspect_campaign and validate_campaign pass.
Never launch without a preview token, and never reuse one after the campaign changed or the token expired.
Use the native preview first and pass its confirmation token unchanged to commit. A token does not bypass current permissions or Workspace checks.
Scopes: campaign:launch
Risk: costly; confirmation: preview_token; idempotency: required.
### Input schema (personal API key)
```json
{
"type": "object",
"anyOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"preview"
]
},
"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"
}
},
"required": [
"action",
"workspaceId",
"campaignId"
],
"patternProperties": {
"^(?!(?:action|workspaceId|campaignId)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"action",
"workspaceId",
"campaignId"
]
}
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"commit"
]
},
"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"
},
"confirmationToken": {
"type": "string"
}
},
"required": [
"action",
"workspaceId",
"campaignId",
"confirmationToken"
],
"patternProperties": {
"^(?!(?:action|workspaceId|campaignId|confirmationToken)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"action",
"workspaceId",
"campaignId",
"confirmationToken"
]
}
}
]
}
```
### 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": [
"preview"
]
},
"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"
}
},
"required": [
"action",
"workspaceId",
"campaignId"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:action|workspaceId|campaignId)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"action",
"workspaceId",
"campaignId"
]
},
{
"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": [
"commit"
]
},
"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"
},
"confirmationToken": {
"type": "string"
}
},
"required": [
"action",
"workspaceId",
"campaignId",
"confirmationToken"
],
"patternProperties": {
"^(?!(?:workspaceId)$)[\\s\\S]*?(?:^(?!(?:action|workspaceId|campaignId|confirmationToken)$)[\\s\\S]*$)": false
},
"additionalProperties": true,
"propertyNames": {
"anyOf": [
{
"type": "string",
"enum": [
"action",
"workspaceId",
"campaignId",
"confirmationToken"
]
},
{
"enum": [
"workspaceId"
]
}
]
}
}
]
}
```
### Output schema (structuredContent)
```json
{
"$defs": {
"Description": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"NonEmptyString": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"OpaqueId": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"Money": {
"type": "object",
"properties": {
"amountMinor": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"enum": [
"AED",
"AFN",
"ALL",
"AMD",
"AOA",
"ARS",
"AUD",
"AWG",
"AZN",
"BAM",
"BBD",
"BDT",
"BHD",
"BIF",
"BMD",
"BND",
"BOB",
"BOV",
"BRL",
"BSD",
"BTN",
"BWP",
"BYN",
"BZD",
"CAD",
"CDF",
"CHE",
"CHF",
"CHW",
"CLF",
"CLP",
"CNY",
"COP",
"COU",
"CRC",
"CUP",
"CVE",
"CZK",
"DJF",
"DKK",
"DOP",
"DZD",
"EGP",
"ERN",
"ETB",
"EUR",
"FJD",
"FKP",
"GBP",
"GEL",
"GHS",
"GIP",
"GMD",
"GNF",
"GTQ",
"GYD",
"HKD",
"HNL",
"HTG",
"HUF",
"IDR",
"ILS",
"INR",
"IQD",
"IRR",
"ISK",
"JMD",
"JOD",
"JPY",
"KES",
"KGS",
"KHR",
"KMF",
"KPW",
"KRW",
"KWD",
"KYD",
"KZT",
"LAK",
"LBP",
"LKR",
"LRD",
"LSL",
"LYD",
"MAD",
"MDL",
"MGA",
"MKD",
"MMK",
"MNT",
"MOP",
"MRU",
"MUR",
"MVR",
"MWK",
"MXN",
"MXV",
"MYR",
"MZN",
"NAD",
"NGN",
"NIO",
"NOK",
"NPR",
"NZD",
"OMR",
"PAB",
"PEN",
"PGK",
"PHP",
"PKR",
"PLN",
"PYG",
"QAR",
"RON",
"RSD",
"RUB",
"RWF",
"SAR",
"SBD",
"SCR",
"SDG",
"SEK",
"SGD",
"SHP",
"SLE",
"SOS",
"SRD",
"SSP",
"STN",
"SVC",
"SYP",
"SZL",
"THB",
"TJS",
"TMT",
"TND",
"TOP",
"TRY",
"TTD",
"TWD",
"TZS",
"UAH",
"UGX",
"USD",
"USN",
"UYI",
"UYU",
"UYW",
"UZS",
"VED",
"VES",
"VND",
"VUV",
"WST",
"XAD",
"XAF",
"XAG",
"XAU",
"XBA",
"XBB",
"XBC",
"XBD",
"XCD",
"XCG",
"XDR",
"XOF",
"XPD",
"XPF",
"XPT",
"XSU",
"XTS",
"XUA",
"XXX",
"YER",
"ZAR",
"ZMW",
"ZWG"
]
}
},
"required": [
"amountMinor",
"currency"
],
"patternProperties": {
"^(?!(?:amountMinor|currency)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"amountMinor",
"currency"
]
}
},
"ShortText": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"UtcDateTimeEncoded": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"HttpUrl": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^https?:\\/\\/[^\\s/$.?#][^\\s]*$"
},
"HttpResourcePath": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"pattern": "^\\/[A-Za-z0-9._~!$&'()*+,;=:@/%-]*$"
}
},
"type": "object",
"anyOf": [
{
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"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"
},
"campaignVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"preview": {
"type": "object",
"properties": {
"summary": {
"$ref": "#/$defs/Description"
},
"affected": {
"type": "object",
"properties": {
"resourceCounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/NonEmptyString"
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"type",
"count"
],
"patternProperties": {
"^(?!(?:type|count)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"type",
"count"
]
}
},
"maxItems": 64
},
"resourceIds": {
"type": "array",
"items": {
"$ref": "#/$defs/OpaqueId"
},
"maxItems": 256
}
},
"required": [
"resourceCounts",
"resourceIds"
],
"patternProperties": {
"^(?!(?:resourceCounts|resourceIds)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"resourceCounts",
"resourceIds"
]
}
},
"costEstimate": {
"type": "object",
"properties": {
"min": {
"$ref": "#/$defs/Money"
},
"max": {
"$ref": "#/$defs/Money"
}
},
"required": [
"min",
"max"
],
"patternProperties": {
"^(?!(?:min|max)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"min",
"max"
]
}
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/$defs/ShortText"
},
"maxItems": 32
},
"irreversibleFacts": {
"type": "array",
"items": {
"$ref": "#/$defs/ShortText"
},
"maxItems": 32
},
"inputHash": {
"$ref": "#/$defs/OpaqueId"
},
"previewVersion": {
"$ref": "#/$defs/NonEmptyString"
},
"expiresAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"summary",
"affected",
"warnings",
"irreversibleFacts",
"inputHash",
"previewVersion",
"expiresAt"
],
"patternProperties": {
"^(?!(?:summary|affected|costEstimate|warnings|irreversibleFacts|inputHash|previewVersion|expiresAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"summary",
"affected",
"costEstimate",
"warnings",
"irreversibleFacts",
"inputHash",
"previewVersion",
"expiresAt"
]
}
},
"confirmationToken": {
"$ref": "#/$defs/OpaqueId"
}
},
"required": [
"campaignId",
"campaignVersion",
"preview",
"confirmationToken"
],
"patternProperties": {
"^(?!(?:campaignId|campaignVersion|preview|confirmationToken)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"campaignId",
"campaignVersion",
"preview",
"confirmationToken"
]
}
},
{
"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"
},
"statusUrl": {
"anyOf": [
{
"$ref": "#/$defs/HttpUrl"
},
{
"$ref": "#/$defs/HttpResourcePath"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"waiting_for_user",
"succeeded",
"partially_succeeded",
"failed",
"canceled",
"canceling"
]
},
"acceptedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"progress": {
"type": "object",
"properties": {
"completed": {
"type": "integer",
"minimum": 0
},
"total": {
"type": "integer",
"minimum": 0
},
"message": {
"$ref": "#/$defs/NonEmptyString"
}
},
"required": [
"completed"
],
"patternProperties": {
"^(?!(?:completed|total|message)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"completed",
"total",
"message"
]
}
},
"canCancel": {
"type": "boolean"
}
},
"required": [
"id",
"statusUrl",
"state",
"acceptedAt",
"canCancel"
],
"patternProperties": {
"^(?!(?:id|statusUrl|state|acceptedAt|progress|canCancel)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"statusUrl",
"state",
"acceptedAt",
"progress",
"canCancel"
]
}
}
]
},
{
"type": "object"
}
]
},
{
"type": "object",
"properties": {
"data": {
"allOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"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"
},
"campaignVersion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"preview": {
"type": "object",
"properties": {
"summary": {
"$ref": "#/$defs/Description"
},
"affected": {
"type": "object",
"properties": {
"resourceCounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/NonEmptyString"
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"type",
"count"
],
"patternProperties": {
"^(?!(?:type|count)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"type",
"count"
]
}
},
"maxItems": 64
},
"resourceIds": {
"type": "array",
"items": {
"$ref": "#/$defs/OpaqueId"
},
"maxItems": 256
}
},
"required": [
"resourceCounts",
"resourceIds"
],
"patternProperties": {
"^(?!(?:resourceCounts|resourceIds)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"resourceCounts",
"resourceIds"
]
}
},
"costEstimate": {
"type": "object",
"properties": {
"min": {
"$ref": "#/$defs/Money"
},
"max": {
"$ref": "#/$defs/Money"
}
},
"required": [
"min",
"max"
],
"patternProperties": {
"^(?!(?:min|max)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"min",
"max"
]
}
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/$defs/ShortText"
},
"maxItems": 32
},
"irreversibleFacts": {
"type": "array",
"items": {
"$ref": "#/$defs/ShortText"
},
"maxItems": 32
},
"inputHash": {
"$ref": "#/$defs/OpaqueId"
},
"previewVersion": {
"$ref": "#/$defs/NonEmptyString"
},
"expiresAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"summary",
"affected",
"warnings",
"irreversibleFacts",
"inputHash",
"previewVersion",
"expiresAt"
],
"patternProperties": {
"^(?!(?:summary|affected|costEstimate|warnings|irreversibleFacts|inputHash|previewVersion|expiresAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"summary",
"affected",
"costEstimate",
"warnings",
"irreversibleFacts",
"inputHash",
"previewVersion",
"expiresAt"
]
}
},
"confirmationToken": {
"$ref": "#/$defs/OpaqueId"
}
},
"required": [
"campaignId",
"campaignVersion",
"preview",
"confirmationToken"
],
"patternProperties": {
"^(?!(?:campaignId|campaignVersion|preview|confirmationToken)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"campaignId",
"campaignVersion",
"preview",
"confirmationToken"
]
}
},
{
"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"
},
"statusUrl": {
"anyOf": [
{
"$ref": "#/$defs/HttpUrl"
},
{
"$ref": "#/$defs/HttpResourcePath"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"waiting_for_user",
"succeeded",
"partially_succeeded",
"failed",
"canceled",
"canceling"
]
},
"acceptedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"progress": {
"type": "object",
"properties": {
"completed": {
"type": "integer",
"minimum": 0
},
"total": {
"type": "integer",
"minimum": 0
},
"message": {
"$ref": "#/$defs/NonEmptyString"
}
},
"required": [
"completed"
],
"patternProperties": {
"^(?!(?:completed|total|message)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"completed",
"total",
"message"
]
}
},
"canCancel": {
"type": "boolean"
}
},
"required": [
"id",
"statusUrl",
"state",
"acceptedAt",
"canCancel"
],
"patternProperties": {
"^(?!(?:id|statusUrl|state|acceptedAt|progress|canCancel)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"statusUrl",
"state",
"acceptedAt",
"progress",
"canCancel"
]
}
}
]
},
{
"not": {
"type": "object"
}
}
]
}
},
"required": [
"data"
],
"additionalProperties": false
}
]
}
```
### Underlying API operations
- `campaigns.previewLaunch`: `POST /v1/workspaces/:workspaceId/campaigns/:campaignId/launch-preview`
- `campaigns.launch`: `POST /v1/workspaces/:workspaceId/campaigns/:campaignId/launch`