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 runs trigger.
  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.

  • Scripts — Reusable code units used inside Script nodes.
  • Runs — Individual executions of a workflow.
  • ConsentGate — Human-in-the-loop approval.