Skip to content

Workflows

Deploying and managing workflows is the CLI’s original purpose. You author a workflow as a YAML file (see YAML format), deploy it, and the CLI keeps the file and the server-side workflow in sync via an embedded workflowId.

Workflow commands live under intellia workflow <verb> (alias: intellia workflows <verb>). The grouped form is canonical going forward; the historical top-level forms (intellia deploy, intellia list, …) remain as aliases — intellia deploy and intellia workflow deploy are equivalent.

deploy

Deploy a workflow from a YAML file. Available as both intellia deploy and intellia workflow deploy.

# Deploy
intellia workflow deploy ./workflows/my-workflow.yaml

# Deploy and publish in one step
intellia workflow deploy ./workflows/my-workflow.yaml --publish

# Preview what would happen without calling the API
intellia workflow deploy ./workflows/my-workflow.yaml --dry-run

# Force create a new workflow, ignoring any existing workflowId
intellia workflow deploy ./workflows/my-workflow.yaml --force-new
Flag Purpose
--publish Publish the workflow immediately after deploying
--dry-run Preview the deployment order and, for any custom table in the bundle, the pending schema change plan. A bundle with tables still calls the API — one read plus one dry-run schema check per table — to compute that plan; nothing is created or modified.
--force-new Create a new workflow even if the YAML already has a workflowId
--allow-destructive Permit a custom-table schema change that destroys data (e.g. dropping a column). Off by default: a destructive change fails the deploy instead, so a CI/CD run never drops a column unattended.

How it works:

  • First deployment creates a new workflow and writes the assigned workflowId back into the YAML file.
  • Subsequent deployments update the existing workflow identified by that workflowId.
  • A custom table in the bundle is reconciled against its live schema — the deployed table’s columns and constraints are updated to match the YAML, not just created once and left alone.
  • All !include directives are resolved before deployment.

Commit the YAML file (now containing workflowId) to version control after the first deploy.

publish

Publish a workflow so it can run in production. Available as both intellia publish and intellia workflow publish.

intellia workflow publish <workflow-id>

unpublish

Unpublish a workflow. Removes the AWS Step Functions state machine but keeps the workflow definition, so you can re-publish later.

intellia workflow unpublish <workflow-id>

list

List workflows in the organisation. Available as both intellia list and intellia workflow list.

# All workflows
intellia workflow list

# Filter by status
intellia workflow list --status published
intellia workflow list --status draft

# Search by name/description (server-side filter)
intellia workflow list --search slack

# Limit results
intellia workflow list --limit 10

# Machine-readable output for jq / scripts
intellia workflow list --json --pretty
Flag Purpose
--status <status> Filter by published or draft
--search <query> Server-side search across name/description
--limit <n> Cap the number of results
--json / --pretty Machine-readable / indented output

get

Fetch a single workflow’s full definition as JSON.

intellia workflow get <workflow-id>
intellia workflow get <workflow-id> --pretty

pull

Export an existing workflow back to a YAML file. Available as both intellia pull and intellia workflow pull.

# Export to an auto-generated filename
intellia workflow pull <workflow-id>

# Export to a specific file
intellia workflow pull <workflow-id> -o ./workflows/exported.yaml

delete

Delete a workflow. Available as both intellia delete and intellia workflow delete.

# Delete with a confirmation prompt
intellia workflow delete <workflow-id>

# Delete without confirmation (for scripts)
intellia workflow delete <workflow-id> --yes

validate

Validate a workflow and all of its !include dependencies without deploying.

intellia workflow validate ./workflows/my-workflow.yaml

synthesize

Output a complete workflow YAML with every !include directive resolved inline — useful for inspecting exactly what will be deployed.

intellia synthesize ./workflows/my-workflow.yaml

beautify

Reorder and format a workflow YAML file for readability.

intellia beautify ./workflows/my-workflow.yaml

translate

Translate a workflow definition between YAML and JSON via the API.

intellia workflow translate --help

triggers

List every trigger wired to a workflow — webhooks, schedules, and integration triggers.

intellia workflow triggers <workflow-id>

See Webhooks, Schedules & Tasks for managing triggers, and Canvas / set-trigger-canvas for binding an HTML canvas as a workflow’s trigger input UI.

executions

Inspect and trigger workflow executions.

intellia workflow executions --help
intellia workflow executions start <workflow-id> --input '{"sales_order_id": 42}'

executions start on a tool workflow waits for the run and prints executionId, startDate and output. The result streams back, so a run of up to five minutes completes. A tool workflow keeps no execution record afterwards, so executions get and executions list refuse it. On a standard workflow, executions start returns the executionId straight away, and executions get follows the run.

The streamed tool-workflow run, in executions start and in the app serve call relay, needs an API release that serves the run-stream route, so use CLI 1.11.0 once that API release is out.

Examples

Deploy a new workflow

$ intellia deploy ./workflows/form6.yaml
✓ Loaded workflow YAML with !include directives
✓ Converted YAML to workflow definition
✓ Created workflow d51ebe98-3da9-4003-805b-b3eba98e4b7e
✓ Updated form6.yaml with workflowId

✓ Deployment successful!
  Name: Form 6 (New Farm)
  ID: d51ebe98-3da9-4003-805b-b3eba98e4b7e
  Status: draft

  Don't forget to commit the updated YAML file with workflowId!

Update an existing workflow

$ intellia deploy ./workflows/form6.yaml
✓ Loaded workflow YAML with !include directives
✓ Converted YAML to workflow definition
✓ Updated workflow d51ebe98-3da9-4003-805b-b3eba98e4b7e

✓ Deployment successful!
  Name: Form 6 (New Farm)
  ID: d51ebe98-3da9-4003-805b-b3eba98e4b7e
  Status: draft

Tips

  1. Version control — always commit YAML files with their workflowId after the first deploy.
  2. File organisation — keep instructions and schemas in separate directories for reuse (see YAML format).
  3. Dry run — use --dry-run to preview changes before deploying.
  4. Batch operations — drive multiple deploys from a shell script.