> ## Documentation Index
> Fetch the complete documentation index at: https://www.voiceflow.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# vf workflow insert-step

> vf workflow insert-step: insert workflow step. Requires --block-id, --environment-alias, --expected-steps, --project-id and --workflow-id.

Insert one step into a block, after a step of the block or at its start.

## Usage

```bash
vf workflow insert-step [flags]
```

## Examples

```bash
  vf workflow insert-step --workflow-id <id> --block-id <id> --project-id <id> --environment-alias <value> --step '{"kind":"carousel","content":{"cards":[{}]} }'
```

## Flags

```text
      --acknowledge-rewire           Required when the insert makes the last step stop being last and that step has exits that would stop running: a Tool or Code fail or path link is cleared, and actions on such an exit are deleted. Also required when you append a step that has no next port, such as End or Go to block: the old last step's next link cannot move to it, so it is cleared.
      --after-step-id string         Insert right after this step of the block. Send this or atStart.
  -b, --block-id string              [required]
      --body string                  Request body as JSON (alternative to individual flags). Can also be provided via stdin.
      --environment-alias string     [required]
      --expected-steps stringArray   The block's step IDs exactly as your last read returned them. If the block changed, nothing is written. [required]
  -h, --help                         help for insert-step
  -p, --project-id string            [required]
  -s, --step string                  JSON value (variants: message: { kind: string, key: string, content: value, links: object }, end: { kind: string, key: string, content: object, links: object }, set: { kind: string, key: string, content: object, links: object }, workflow: { kind: string, key: string, content: object, links: object }, listen: { kind: string, key: string, content: object, links: object }, condition: { kind: string, key: string, content: object, links: object }, buttons: { kind: string, key: string, content: object, links: object }, card: { kind: string, key: string, content: object, links: object }, carousel: { kind: string, key: string, content: object, links: object }, code: { kind: string, key: string, content: object, links: object }, api: { kind: string, key: string, content: object, links: object }, function: { kind: string, key: string, content: object, links: object }, integration: { kind: string, key: string, content: object, links: object }, mcp: { kind: string, key: string, content: object, links: object }, playbook: { kind: string, key: string, content: object, links: object }, operator: { kind: string, key: string, content: object, links: object }, crew: { kind: string, key: string, content: object, links: object }, handoff: { kind: string, key: string, content: object, links: object }, callForward: { kind: string, key: string, content: object, links: object })
      --step.api string              StableWorkflowStepInput_API variant as JSON
      --step.buttons string          StableWorkflowStepInput_Buttons variant as JSON
      --step.call-forward string     StableWorkflowStepInput_CallForward variant as JSON
      --step.card string             StableWorkflowStepInput_Card variant as JSON
      --step.carousel string         StableWorkflowStepInput_Carousel variant as JSON
      --step.code string             StableWorkflowStepInput_Code variant as JSON
      --step.condition string        StableWorkflowStepInput_Condition variant as JSON
      --step.crew string             StableWorkflowStepInput_Crew variant as JSON
      --step.end string              StableWorkflowStepInput_End variant as JSON
      --step.function string         StableWorkflowStepInput_Function variant as JSON
      --step.handoff string          StableWorkflowStepInput_Handoff variant as JSON
      --step.integration string      StableWorkflowStepInput_Integration variant as JSON
      --step.listen string           StableWorkflowStepInput_Listen variant as JSON
      --step.mcp string              StableWorkflowStepInput_Mcp variant as JSON
      --step.message string          StableWorkflowStepInput_Message variant as JSON
      --step.operator string         StableWorkflowStepInput_Operator variant as JSON
      --step.playbook string         StableWorkflowStepInput_Playbook variant as JSON
      --step.set string              StableWorkflowStepInput_Set variant as JSON
      --step.workflow string         StableWorkflowStepInput_Workflow variant as JSON
  -w, --workflow-id string           [required]
```

## Global flags

These flags are inherited from the parent command and work on every invocation.

```text
      --agent-mode             Enable structured errors and default TOON output for AI coding agents. Automatically enabled when a known agent environment is detected (CLAUDE_CODE, CURSOR_AGENT, etc.). Use --agent-mode=false to disable.
      --color string           Control colored output: auto (color when output is a TTY), always, or never. Respects NO_COLOR and FORCE_COLOR env vars. (default "auto")
  -d, --debug                  Log request and response diagnostics to stderr
      --dry-run                Preview the request that would be sent without executing it (output to stderr)
  -H, --header stringArray     Set a custom HTTP request header (format: "Key: Value"). Can be specified multiple times.
      --include-headers        Include HTTP response headers in the output
  -q, --jq string              Filter and transform output using a jq expression (e.g., '.name', '.items[] | .id')
      --no-interactive         Disable all interactive features (auto-prompting, explorer auto-launch, TUI forms)
  -o, --output-format string   Specify the output format. Options: pretty, json, yaml, table, toon. (default "pretty")
      --server-url string      Override the default server URL
      --timeout string         HTTP request timeout (e.g., 30s, 5m, 100ms)
      --token string           Voiceflow bearer token
      --usage                  Print the CLI Usage schema in KDL format
```

## See also

- [vf workflow](/docs/cli/commands/workflow) - Operations for workflow
