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.
Runs the same action as
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
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*stringUUID of the project the sequence belongs to.
name*stringA creator-facing label, 1 to 120 characters, e.g. "Win-back after churn".
triggerstringoptionalWhat enrols a member: "churned" (their last live membership ended), the default and the only trigger available today.
activebooleanoptionalWhether the sequence enrols and sends from the start. Defaults to true.
stepsobject[]optionalThe 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_FAILEDthe 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_FOUNDunknown project_id, or the project is outside the token's scope.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks project-sequence:create.
How is this guide?
Last updated on
Win-back Sequences Tools
A win-back sequence is the ordered set of messages a member who leaves receives on the days the creator chose, each with the way back as a button and, optionally, a coupon; a member enrols once per departure, never while they hold a live membership, and leaves the sequence the moment a charge settles for them, which counts as a win.
delete_sequence
Put a win-back sequence out of use. Destructive; every member part-way through leaves it, the history stays for the figures, and the id stops answering. Emits sequence.deleted.