> ## 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.

# suprsend-workflow-schema

> Add SuprSend workflow schema skill to your AI agent to generate valid workflow JSON from plain English.

The `suprsend-workflow-schema` skill gives your agent the full SuprSend workflow JSON schema. It generates complete, valid workflow JSON from a plain-English description.

Workflows conform to `https://schema.suprsend.com/workflow/v1/schema.json`. See [Design Workflow](https://docs.suprsend.com/docs/design-workflow.md) for the full overview.

## Installation

```bash theme={"system"}
npx skills add https://github.com/suprsend/skills --skill suprsend-workflow-schema
```

<Note>
  Generated workflow is saved in `suprsend/workflow/` directory and can be pushed to SuprSend using `suprsend workflow push --commit=true` command.
</Note>

***

## Workflow file structure

```
suprsend/
└── workflow/
    ├── cart-abandonment.json
    ├── payment-reminder.json
    └── onboarding.json
```

Each file must include a `slug` — the unique identifier used by the CLI to target a specific workflow:

```json theme={"system"}
{
  "$schema": "https://schema.suprsend.com/workflow/v1/schema.json",
  "slug": "cart-abandonment",
  "name": "Cart Abandonment Reminder"
}
```

<Warning>
  Workflows without a `slug` cannot be targeted with `suprsend workflow push --slug`. Always include it in generated JSON.
</Warning>

## Node reference

### Delivery

| Node                  | `node_type`                  | Docs                                                                      |
| --------------------- | ---------------------------- | ------------------------------------------------------------------------- |
| Email                 | `send_email`                 | [Email](https://docs.suprsend.com/docs/delivery-single-channel.md)        |
| SMS                   | `send_sms`                   | [SMS](https://docs.suprsend.com/docs/delivery-single-channel.md)          |
| WhatsApp              | `send_whatsapp`              | [WhatsApp](https://docs.suprsend.com/docs/delivery-single-channel.md)     |
| In-App Inbox          | `send_inbox`                 | [In-App Inbox](https://docs.suprsend.com/docs/delivery-single-channel.md) |
| Mobile Push           | `send_mobile_push`           | [Mobile Push](https://docs.suprsend.com/docs/delivery-single-channel.md)  |
| Web Push              | `send_webpush`               | [Web Push](https://docs.suprsend.com/docs/delivery-single-channel.md)     |
| Slack                 | `send_slack`                 | [Slack](https://docs.suprsend.com/docs/delivery-single-channel.md)        |
| MS Teams              | `send_ms_teams`              | [MS Teams](https://docs.suprsend.com/docs/delivery-single-channel.md)     |
| Multi-Channel         | `send_multi_channel`         | [Multi-Channel](https://docs.suprsend.com/docs/delivery-multi-channel.md) |
| Smart Channel Routing | `send_smart_channel_routing` | [Smart Channel Routing](https://docs.suprsend.com/docs/smart-delivery.md) |
| Webhook               | `httpapi_webhook`            | [HTTP API](https://docs.suprsend.com/docs/webhook.md)                     |

### Function

| Node        | `node_type`  | Docs                                                         |
| ----------- | ------------ | ------------------------------------------------------------ |
| Delay       | `delay`      | [Delay](https://docs.suprsend.com/docs/delay.md)             |
| Batch       | `batch`      | [Batch](https://docs.suprsend.com/docs/batch.md)             |
| Digest      | `digest`     | [Digest](https://docs.suprsend.com/docs/digest.md)           |
| Time Window | `timewindow` | [Time Window](https://docs.suprsend.com/docs/time-window.md) |

### Branch

| Node       | `node_type`        | Docs                                                       |
| ---------- | ------------------ | ---------------------------------------------------------- |
| Branch     | `branch`           | [Branch](https://docs.suprsend.com/docs/branch.md)         |
| Wait Until | `branch_waituntil` | [Wait Until](https://docs.suprsend.com/docs/wait-until.md) |

### Data

| Node                | `node_type`      | Docs                                                                         |
| ------------------- | ---------------- | ---------------------------------------------------------------------------- |
| Fetch               | `httpapi_fetch`  | [Fetch](https://docs.suprsend.com/docs/fetch.md)                             |
| Transform           | `transform`      | [Data Transform](https://docs.suprsend.com/docs/data-transform.md)           |
| Invoke Workflow     | `invokeworkflow` | [Invoke Workflow](https://docs.suprsend.com/docs/invoke-workflow.md)         |
| Update User Profile | `userupdate`     | [Update User Profile](https://docs.suprsend.com/docs/update-user-profile.md) |

### List and Object

| Node                    | `node_type`                          | Docs                                                                                 |
| ----------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| Add User to List        | `subscriberlistoperation_adduser`    | [Add User to List](https://docs.suprsend.com/docs/add-user-to-list.md)               |
| Remove User from List   | `subscriberlistoperation_removeuser` | [Remove User from List](https://docs.suprsend.com/docs/remove-user-from-list.md)     |
| Subscribe to Object     | `objectoperation_addsubscription`    | [Subscribe to Object](https://docs.suprsend.com/docs/subscribe-to-object.md)         |
| Unsubscribe from Object | `objectoperation_removesubscription` | [Unsubscribe from Object](https://docs.suprsend.com/docs/unsubscribe-from-object.md) |

***

### Known limitation

<Warning>
  Agents may produce incorrect `expression_v1` conditions inside `branch_waituntil` nodes. Always review branch logic before pushing to production. See [Wait Until](https://docs.suprsend.com/docs/wait-until.md) for correct syntax.
</Warning>

## Learn more

<CardGroup cols={2}>
  <Card title="Schema Guide" icon="book" href="https://github.com/suprsend/skills/blob/HEAD/skills/suprsend-workflow-schema/references/workflow-schema-guide.md">
    Detailed field definitions on GitHub.
  </Card>

  <Card title="Design Workflow" icon="diagram-project" href="https://docs.suprsend.com/docs/design-workflow.md">
    How to design and publish workflows.
  </Card>

  <Card title="suprsend-cli skill" icon="terminal" href="/reference/agent-skill-cli">
    Push generated workflows to SuprSend.
  </Card>

  <Card title="Agent Skills Overview" icon="graduation-cap" href="/reference/agent-skills">
    All available skills.
  </Card>
</CardGroup>
