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
workflowIdback 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
!includedirectives 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> --prettypull
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.yamldelete
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> --yesvalidate
Validate a workflow and all of its !include dependencies without deploying.
intellia workflow validate ./workflows/my-workflow.yamlsynthesize
Output a complete workflow YAML with every !include directive resolved inline — useful for inspecting exactly what will be deployed.
intellia synthesize ./workflows/my-workflow.yamlbeautify
Reorder and format a workflow YAML file for readability.
intellia beautify ./workflows/my-workflow.yamltranslate
Translate a workflow definition between YAML and JSON via the API.
intellia workflow translate --helptriggers
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: draftTips
- Version control — always commit YAML files with their
workflowIdafter the first deploy. - File organisation — keep instructions and schemas in separate directories for reuse (see YAML format).
- Dry run — use
--dry-runto preview changes before deploying. - Batch operations — drive multiple deploys from a shell script.