Input schema (server-provided preview — do not copy)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"automation"
],
"properties": {
"data": {
"type": "object",
"additionalProperties": {}
},
"brand": {
"type": "string"
},
"profile": {
"type": "object",
"additionalProperties": {}
},
"template": {
"type": "string"
},
"recipient": {
"type": "string"
},
"automation": {
"type": "object",
"required": [
"steps"
],
"properties": {
"steps": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"action"
],
"properties": {
"if": {
"type": "string",
"description": "Condition expression"
},
"data": {
"type": "object",
"additionalProperties": {}
},
"brand": {
"type": "string"
},
"action": {
"type": "string",
"const": "send"
},
"profile": {
"type": "object",
"additionalProperties": {}
},
"template": {
"type": "string",
"description": "Notification template ID or key"
},
"recipient": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"list"
],
"properties": {
"if": {
"type": "string"
},
"data": {
"type": "object",
"additionalProperties": {}
},
"list": {
"type": "string",
"description": "List ID to send to"
},
"brand": {
"type": "string"
},
"action": {
"type": "string",
"const": "send-list"
},
"template": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action"
],
"properties": {
"if": {
"type": "string"
},
"until": {
"type": "string",
"description": "ISO 8601 timestamp to wait until"
},
"action": {
"type": "string",
"const": "delay"
},
"duration": {
"type": "string",
"description": "ISO 8601 duration (e.g. \"PT1H\" for 1 hour)"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"cancelation_token"
],
"properties": {
"if": {
"type": "string"
},
"action": {
"type": "string",
"const": "cancel"
},
"cancelation_token": {
"type": "string",
"description": "The token set when the original automation was invoked (single \"l\" spelling)"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action"
],
"properties": {
"if": {
"type": "string"
},
"merge": {
"enum": [
"none",
"overwrite",
"soft-merge",
"replace"
],
"type": "string"
},
"action": {
"type": "string",
"const": "update-profile"
},
"profile": {
"type": "object",
"additionalProperties": {}
},
"recipient_id": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"template"
],
"properties": {
"if": {
"type": "string"
},
"action": {
"type": "string",
"const": "invoke"
},
"template": {
"type": "string",
"description": "Automation template ID to invoke"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"webhook"
],
"properties": {
"if": {
"type": "string"
},
"action": {
"type": "string",
"const": "fetch-data"
},
"webhook": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"body": {
"type": "object",
"additionalProperties": {}
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"description": "HTTP request configuration",
"additionalProperties": false
},
"merge_strategy": {
"enum": [
"replace",
"overwrite",
"soft-merge"
],
"type": "string"
}
},
"additionalProperties": false
}
]
},
"description": "Ordered array of automation steps"
},
"cancelation_token": {
"type": "string",
"description": "Token for cancelling this automation later (single \"l\" spelling)"
}
},
"description": "The automation definition with typed steps",
"additionalProperties": false
}
},
"additionalProperties": false
}