Skip to main content

Workflows

Durable, multi-step automations over your memory — triggered on demand or on a schedule, with retries, versioning, and approvals.

Overview

A workflow is a named, ordered sequence of steps that Trix runs to completion. Unlike a one-off API call, a workflow is durable: each run is tracked, steps retry on failure, and you can inspect exactly where a run is. Use them to automate recurring work over your memory — nightly summaries, enrichment passes, hand-offs to a bot, and more.

Manage workflows in the web app under Account → Automations, or via the API, SDKs, and MCP.

Defining a workflow

A workflow has a name, an ordered list of steps, and optional limits. Set max_concurrent_runs (1–100) to bound how many runs execute at once so a busy trigger can't stampede.

POST   /v1/workflows              # create
GET    /v1/workflows              # list
GET    /v1/workflows/:id          # get
PATCH  /v1/workflows/:id          # update
DELETE /v1/workflows/:id          # delete

Workflows are versioned: every edit creates a new version, and you can review or roll back to an earlier one.

GET  /v1/workflows/:id/versions
GET  /v1/workflows/:id/versions/:version
POST /v1/workflows/:id/rollback/:version

Triggering runs

Start a workflow on demand, or attach a trigger that fires it for you:

POST   /v1/workflows/:id/trigger            # run now
GET    /v1/workflows/:id/triggers           # list triggers
POST   /v1/workflows/:id/triggers           # add a trigger (e.g. a cron schedule)
PATCH  /v1/workflows/:id/triggers/:triggerId
DELETE /v1/workflows/:id/triggers/:triggerId

Scheduled triggers use a cron expression that's validated up front — an unparseable schedule is rejected when you create the trigger, not silently dropped by the scheduler.

Runs, retries & cancellation

Each execution is a run. List a workflow's runs, inspect a single run, cancel one in flight, or retry a failed run from its failed step instead of starting over:

GET  /v1/workflows/:id/runs             # runs for a workflow
GET  /v1/workflow-runs/:runId           # one run's status + steps
POST /v1/workflow-runs/:runId/cancel    # cancel an in-flight run
POST /v1/workflow-runs/:runId/retry     # resume from the failed step

Human approvals

A step can pause for human approval before the run continues. Pending approvals collect in an approvals inbox for your account; approving or rejecting a step advances (or stops) the run. This keeps a human in the loop for sensitive actions without blocking the rest of your automation.

Approvals also surface in the web app's Inbox, so a teammate can act on them without touching the API.