Version
DESTRUCTIVE

create_sequence

Build a win-back sequence on a project with its steps in one call — the ordered messages a member who leaves receives on the days the creator chose. Emits sequence.created. Needs Growth or the Revenue Recovery Addon.

Build the sequence a member who leaves will receive: up to 8 steps in order, each waiting its delay_days (1..180) after the step before, the first after the member's last live membership ended, with a body of up to 1,000 characters and an optional coupon_id. The row and its steps are written together, so a refused step leaves no sequence behind.

Synchronous — the sequence comes back with its steps, and sequence.created emits once, with them.

Placeholders are filled per member when a step goes out

{name}, {project}, {coupon}, {discount} and {link} in a body are filled when the step is sent; {link} is the way back, and every step carries it as a button too. A step with a coupon reads best when it uses {coupon} and {discount}.

Only the churn trigger is live

trigger defaults to churned, the only trigger available today. lead, stalled_checkout and trial_ending are reserved for the lead-nurture release and refused until it ships.

Requires Growth or the Revenue Recovery Addon on the project owner. Without it the call fails with VALIDATION_FAILED and nothing is written.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveOpen world

A client that honours annotations asks a person before running it. It reaches beyond Subscriby: a connector, a provider or a member.

Arguments

project_id*string

UUID of the project the sequence belongs to.

name*string

A creator-facing label, 1 to 120 characters, e.g. "Win-back after churn".

triggerstringoptional

What enrols a member: "churned" (their last live membership ended), the default and the only trigger available today.

activebooleanoptional

Whether the sequence enrols and sends from the start. Defaults to true.

stepsobject[]optional

The steps in the order they go out, at most 8: each {delay_days: int 1-180, body: string up to 1,000 characters with {name}, {project}, {coupon}, {discount} and {link} as placeholders, coupon_id?: UUID of one of the project's coupons}. Omit for a sequence with no steps yet.

What it returns

{  "data": {    "id": "9d2f4b6a-1c3e-4f58-8a7b-6e5d4c3b2a19",    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "name": "Win-back after churn",    "trigger": "churned",    "active": true,    "steps": [      { "id": "4e8a2c6d-7b1f-4d93-a5c0-8f2e1b7d6c54", "position": 1, "delay_days": 3, "body": "Hi {name}, your place in {project} is still here whenever you want it back: {link}", "coupon": null },      { "id": "b1c7e9f3-2a4d-4e86-9b0c-5d7f8a2e1c43", "position": 2, "delay_days": 7, "body": "Still thinking it over? {coupon} takes {discount} off your first month back: {link}", "coupon": { "id": "3b7c9d1e-5f24-4a86-9c0b-2d4e6f8a1b3c", "code": "COMEBACK20" } }    ],    "counts": { "enrolled": 0, "open": 0, "completed": 0, "won_back": 0 },    "created_at": "2026-10-12T09:00:00+00:00",    "updated_at": "2026-10-12T09:00:00+00:00",    "deleted_at": null  }}

How it fails

VALIDATION_FAILED

the owner's plan lacks sequences, a reserved trigger, more than 8 steps, a delay_days outside 1..180, a body outside 1..1,000 characters, or a coupon_id of another project.

RESOURCE_NOT_FOUND

unknown project_id, or the project is outside the token's scope.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks project-sequence:create.

How is this guide?

Last updated on