Journeys Tools
Tools for multi-step journeys: creating them, enrolling people, and reviewing runs.
Available Tools
journeys_templatesStarter journeys (welcome series, abandoned cart, appointment reminder, win-back) as full documents to adapt. Each lists the site events it needs.
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_templates",
"arguments": {}
}
}journeys_listJourneys of a site with their status (draft/live/paused/stopped), trigger, step count and run counts.
Input Schema
projectId | stringrequired | Site id |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_list",
"arguments": {
"projectId": "example"
}
}
}journeys_getOne journey with its full document and stats (runs by status, emails sent, opened, clicked).
Input Schema
id | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_get",
"arguments": {
"id": "example"
}
}
}journeys_createCreate a journey for a site from a document or a starter template. A journey document has a trigger (event with filters and entry mode, manual, record_created/updated, date_field), exit conditions re-checked before every step, and steps: wait, send_email (template slug or subject+html with {{placeholders}}), check (property / event_since_entry / engagement of a prior send, with yes/no step ids), update_record, call_webhook, run_function (a site function by name; where switched on, an account function with target {kind:"account", functionId}), exit. Starts as a draft unless status=live. Check events_catalog first so the trigger names an event the site really records. Asked by an agent or an automation to go live, it is saved as a draft (the answer says so): a person switches it on. A role without the Publish permission on automations also gets a live journey saved as a draft (the answer says so); an agent or an automation is refused changing a journey that people are in.
Input Schema
projectId | stringrequired | Site id |
name | stringrequired | |
description | string | |
document | any | A full journey document (see journeys_templates for the shape) |
template | string | Starter key from journeys_templates (welcome-series, abandoned-cart, appointment-reminder, win-back) |
status | string | draft (default) or live |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_create",
"arguments": {
"projectId": "example",
"name": "example",
"description": "example"
}
}
}journeys_updateRename, describe, or replace the document (version bumps; people already inside follow the new steps from where they are).
Input Schema
id | stringrequired | |
name | string | |
description | string | |
document | any | Replaces the whole document; the version bumps and in-flight runs follow the new steps from where they are |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_update",
"arguments": {
"id": "example",
"name": "example",
"description": "example"
}
}
}journeys_setStatuslive = enrols and sends; paused = no new entries, people inside finish; stopped = halts everyone now; draft = editing. Going live is a person's: an agent or an automation is refused it.
Input Schema
id | stringrequired | |
status | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_setStatus",
"arguments": {
"id": "example",
"status": "example"
}
}
}journeys_deleteDelete a journey (stops every run first). Act only on what the person named or picked.
Input Schema
id | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_delete",
"arguments": {
"id": "example"
}
}
}journeys_runsPeople in a journey: status, current step, next send time, exit reason, lastError. When an email step failed, lastError is the mail server's own words only for someone who holds the "Add and remove mailboxes" permission; anyone else reads plain words saying so — pass those on, don't guess the cause.
Input Schema
journeyId | stringrequired | |
status | string | |
limit | integer |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_runs",
"arguments": {
"journeyId": "example",
"status": "example",
"limit": {}
}
}
}journeys_runOne run with its step log and the emails it sent. A failed email step's error (lastError and that step's detail.error) is the mail server's own words only for someone who holds the "Add and remove mailboxes" permission; anyone else reads plain words saying so. Other steps' errors are shown as logged.
Input Schema
id | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_run",
"arguments": {
"id": "example"
}
}
}journeys_enrolPut one person (member id or email) into a live journey by hand; also how a function or agent starts a manual journey.
Input Schema
journeyId | stringrequired | |
subjectId | string | Site member id |
email | string | |
properties | object |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "journeys_enrol",
"arguments": {
"journeyId": "example",
"subjectId": "example",
"email": "example"
}
}
}