Skip to content

Workflows

A workflow is the central unit of automation in Orvanta. It is a directed acyclic graph (DAG) of nodes, where each node represents a discrete step: a script execution, a conditional branch, a human approval, or an external API call.

Trigger → Node A → Node B ──→ Node C
└──→ Node D (parallel branch)

Each workflow has:

  • A unique ID and name. Used to reference the workflow in the CLI and API.
  • Nodes. Individual steps connected by directed edges.
  • Edges. Define the execution order and pass outputs between nodes.
  • Triggers. Determine when the workflow runs (manual, scheduled, webhook, or API call).
  • Context. A shared key-value store available to all nodes in a run.
TypeDescription
ScriptRuns a versioned script in a polyglot runtime (Bash, Python, TypeScript, Go, …).
ConsentGatePauses execution until a designated approver signs off.
ConditionRoutes execution based on a boolean expression evaluated against the context.
WebhookSends an HTTP request to an external service and waits for a response.
DelayWaits for a specified duration before continuing.
Sub-workflowInvokes another workflow and waits for it to complete.

Workflows can be triggered in four ways:

  1. Manual. Via the UI Run button or orvanta flow run.
  2. Scheduled. Cron expression defined on the workflow.
  3. Webhook. An inbound HTTP POST to the workflow’s unique webhook URL.
  4. API. Programmatic trigger via the REST API.

Every workflow change is versioned. You can pin a trigger to a specific version or always run the latest. Previous versions remain available for audit and rollback.