mailerpress/create-workflow creates a MailerPress workflow atomically from an automation and nodes payload.
Discover the valid keys first: mailerpress/list-workflow-triggers, mailerpress/list-workflow-actions and mailerpress/list-workflow-conditions between them describe the whole vocabulary a workflow can be composed from, and it is extensible per site.
At a glance
| Ability | mailerpress/create-workflow |
| Toolset | MailerPress — toolset/mailerpress |
| Group | MailerPress › Workflows |
| Requires | AcrossAI Pro, plus MailerPress active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
Node wiring uses step_id string handles with next_step_id and alternative_step_id pointers. CONDITION nodes carry settings.branches for multi-way splits.
Atomically matters here: a workflow is a graph, and a partially created graph is a broken automation rather than an incomplete one. Either the whole thing is written or none of it is.
Non-template workflows with any non-TRIGGER step require MailerPress Pro. A free install can hold a trigger and not much else.
The wiring is where authoring errors concentrate. A next_step_id pointing at a handle that does not exist produces a workflow that runs into a dead end, and MailerPress does not validate the graph on save.
So a workflow that saves cleanly can still be unreachable past its second node.
A created workflow starts in DRAFT unless told otherwise, which is correct — an automation that begins running the moment it is written is not something to do by accident.
Not idempotent.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
automation | object | Yes | The workflow metadata. |
nodes | array | Yes | The step tree, wired with step_id handles and pointers. |
What comes back
| Name | Type | What it is |
|---|---|---|
workflow | object | The created workflow with its node tree. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Create an automation that tags new subscribers.
It resolves to one call:
{
"ability": "mailerpress/create-workflow",
"parameters": {
"automation": { "name": "Tag new subscribers" },
"nodes": []
}
}Worth knowing
- Atomic — a partial graph would be a broken automation.
- The graph is not validated on save; a dangling pointer saves cleanly.
- Non-trigger steps need Pro.
- Starts as a draft.
Related abilities
- MailerPress List Workflow Triggers — valid trigger keys
- MailerPress List Workflow Actions — valid action keys
- MailerPress Update Workflow Status — enable it
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category