Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.suprsend.com/llms.txt

Use this file to discover all available pages before exploring further.

Use this skill when you want your AI agent to generate, edit, or refactor SuprSend workflow JSON - without making up node_type values or missing required fields. The skill loads the full https://schema.suprsend.com/workflow/v1/schema.json spec into your agent’s context whenever it detects a workflow task. Every generated file lands in suprsend/workflow/ and is ready to push with the suprsend-cli skill.

Install

npx skills add https://github.com/suprsend/skills --skill suprsend-workflow-schema

Schema spec

The JSON Schema the skill validates against.

Try it

1

Paste this into your agent

Create a SuprSend workflow JSON with slug "payment-failed".
Send an email immediately, wait 24 hours, then send an SMS
only if the user hasn't retried payment yet.
2

Your agent generates the file

The skill activates and produces suprsend/workflow/payment-failed.json:
{
  "$schema": "https://schema.suprsend.com/workflow/v1/schema.json",
  "slug": "payment-failed",
  "name": "Payment Failed",
  "nodes": [
    { "node_type": "send_email", "...": "..." },
    { "node_type": "branch_waituntil", "duration": "24h", "...": "..." },
    { "node_type": "send_sms", "...": "..." }
  ]
}
3

Push it live

suprsend workflow push --slug payment-failed --commit=true
Want more example prompts? See the Prompt Cheatsheet.

What you can build

Wait 1 hour, then email and in-app notification.
Immediate email with retry SMS after 5 minutes.
Email today, in-app tomorrow, SMS in 3 days unless the user activates.
Branch on invoice status, escalate channels over a week.
Triggered when a user enters a “dormant” list.

File layout

Every workflow JSON file lives under suprsend/workflow/. The filename doesn’t matter - but the slug field inside does, since that’s what the CLI uses to target the workflow.
suprsend/
└── workflow/
    ├── cart-abandonment.json
    ├── payment-failed.json
    └── onboarding.json
Every file must include a slug:
{
  "$schema": "https://schema.suprsend.com/workflow/v1/schema.json",
  "slug": "cart-abandonment",
  "name": "Cart Abandonment Reminder"
}
Without slug, you can’t target the workflow with suprsend workflow push --slug. The skill always includes it - but double-check after edits.

Node reference

The skill knows every node below. You’ll rarely need to look these up by hand, but they’re useful for verifying generated output.
Nodenode_typeDocs
Emailsend_emailEmail
SMSsend_smsSMS
WhatsAppsend_whatsappWhatsApp
In-App Inboxsend_inboxIn-App Inbox
Mobile Pushsend_mobile_pushMobile Push
Web Pushsend_webpushWeb Push
Slacksend_slackSlack
MS Teamssend_ms_teamsMS Teams
Multi-Channelsend_multi_channelMulti-Channel
Smart Channel Routingsend_smart_channel_routingSmart Channel Routing
Webhookhttpapi_webhookHTTP API
Nodenode_typeDocs
DelaydelayDelay
BatchbatchBatch
DigestdigestDigest
Time WindowtimewindowTime Window
Nodenode_typeDocs
BranchbranchBranch
Wait Untilbranch_waituntilWait Until
Nodenode_typeDocs
Fetchhttpapi_fetchFetch
TransformtransformData Transform
Invoke WorkflowinvokeworkflowInvoke Workflow
Update User ProfileuserupdateUpdate User Profile
Nodenode_typeDocs
Add User to Listsubscriberlistoperation_adduserAdd User to List
Remove User from Listsubscriberlistoperation_removeuserRemove User from List
Subscribe to Objectobjectoperation_addsubscriptionSubscribe to Object
Unsubscribe from Objectobjectoperation_removesubscriptionUnsubscribe from Object

Known limitation

Agents sometimes produce incorrect expression_v1 conditions inside branch_waituntil nodes. Always review branch logic before pushing to production. See Wait Until for correct syntax.

Learn more

Schema Guide

Detailed field-by-field schema reference on GitHub.

Design Workflow

How workflows work end-to-end in SuprSend.

suprsend-template-schema skill

Generate the template variants that workflow delivery nodes reference.

suprsend-cli skill

Push generated workflows to your workspace.