create_journey_template
Create a notification template scoped to a journey. Always created as a draft; making it live is a separate step this tool cannot perform. The template can then be referenced in journey send nodes. content.elements must be wrapped in a channel block — the API rejects bare elements. Example: { journey_id: "j-abc", channel: "email", notification: { name: "Welcome Email", tags: [], brand: null, subscription: null, content: { version: "2022-01-01", elements: [{ type: "channel", channel: "email", elements: [{ type: "text", content: "Hello!" }] }] } } }. The result carries a "verification" object confirming the new id is really present on the journey. verified:true means the id in this response is safe to reference from a send node. verified:false means it is not visible yet — re-read the journey before referencing it, and do not create a second template to work around it. An "errorKind" of "unauthorized" means the template was created and only the check was refused.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"journey_id": "<journey_id>",
"channel": "<channel>",
"notification": "<notification>"
},
"name": "create_journey_template"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Must be "DRAFT". These tools cannot publish. | |
| channel | Yes | Channel for this template (e.g. "email", "push", "sms", "inbox") | |
| journey_id | Yes | The journey template ID. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it. | |
| notification | Yes | Notification template definition | |
| provider_key | No | Specific provider key to target |