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

# Push Workflow

> Push workflows from local to SuprSend workspace

<Note>
  ⚠️ Important: Always sync [Schema](/reference/cli-schema-push) and [Category](/reference/cli-category-push) changes before pushing Workflows.
  If the schema or category referenced in a workflow is not available in the target workspace, it will result in validation errors during sync.
</Note>

Upload local workflow JSON files to a workspace. Reads `.json` files from the input directory and pushes them. By default, changes are committed immediately (`--commit=true`). Use `--slug` to push a single workflow, or omit to push all.

## Syntax

```bash theme={"system"}
suprsend workflow push [flags]
```

## Flags

| Flag                          | Description                                                                               | Default               |
| ----------------------------- | ----------------------------------------------------------------------------------------- | --------------------- |
| `-h, --help`                  | Show help for the command                                                                 | –                     |
| `-c, --commit string`         | Promote changes from draft to live after pushing (true/false)                             | `true`                |
| `-m, --commit-message string` | Message describing the changes being committed                                            | –                     |
| `-d, --dir string`            | Directory containing workflow JSON files                                                  | `./suprsend/workflow` |
| `-g, --slug string`           | Workflow slug to push (omit to push all)                                                  | –                     |
| `-j, --json string`           | Workflow definition as a JSON object (requires `--slug`). Must be a valid workflow object | –                     |

## Example

```bash theme={"system"}
# Push workflows from default directory
suprsend workflow push

# Push workflows from custom directory
suprsend workflow push --dir dev-environment/workflows

# Push individual workflow by passing it's slug
suprsend workflow push --slug welcome-email

# Push workflows and commit them
suprsend workflow push --commit=true --commit-message "Commit message"

# Push a single workflow inline via JSON
suprsend workflow push --slug welcome-email --json '{"name":"Welcome Email","nodes":[...]}'
```

***

<Warning>
  🚨 **Push and Commit Behavior**:

  * **New workflow not showing up?** → Push without commit first, then commit separately
  * **Changes not appearing in live mode?** → Check if workflows are linked to other workflows
  * **Fix**: Update your workflow files to include all dependencies, or remove the links
</Warning>
