Browse documentation

Invocation

Split automation into reusable pieces by having one workflow invoke another, and track invocations with trigger states.

You can split a large automation into reusable pieces by having one workflow invoke another. The parent runs an Invoke Workflow action, and the child workflow is made invokable so it can be called. Whether the child actually fires is gated by the inputs it requires, which you can follow in the Trigger States tab. For the building blocks, see Build a workflow.

Make a workflow invokable

Before a workflow can be called by another, turn on its invocation settings:

  1. Open the child workflow in the editor, click the toolbar's ⋯, and choose Invocation settings.
  2. Turn on Make this workflow invokable.
  3. Optionally add Required inputs: type an input name and press Enter (or click Add) for each one. These are the inputs that must be provided before the workflow triggers; leave the list empty to trigger immediately on invocation.
  4. Optionally mark some of them as Persistent inputs (see below).
  5. Click Save.

Invocation settings aren't available for workflows that start with a Schedule Trigger, which are started by their schedule instead.

SaveCancelInvocation settingsWhether another workflow can invoke this one, andthe inputs it waits for first.Make this workflow invokableRequired inputsType an input name and press EnterAddpositions_filesecurities_fileOptional. Inputs that must be provided before thisworkflow triggers. Leave empty to triggerimmediately on invocation.Persistent inputspositions_filesecurities_fileOptional. An input that stays received for a contextgroup once it has arrived, so a re-delivered inputre-triggers this workflow without the persistent onesarriving again. Mark referential inputs; leavedelivery-style inputs unmarked.
Invocation settings: make the workflow invokable, list its required inputs, and mark the persistent ones.

Persistent inputs

Normally a trigger state is used up when it fires, so every required input has to arrive again before the next run. That suits a delivery, such as a positions file, but not a referential, such as a securities file: once securities have arrived for a business date, a re-delivered positions file for that date should re-run without waiting for a securities file that will not come twice.

Under Persistent inputs, click a required input's chip to mark it. A persistent input stays received for its context group once it has arrived, so a re-delivered input re-triggers the workflow without the persistent ones arriving again. Mark referential inputs; leave delivery-style inputs unmarked.

Persistence is kept per context group, the values the Context Mapping passes. An Invoke Workflow step that targets a workflow with persistent inputs must therefore have a context mapping, otherwise the step is refused, since every invocation would share one group and "stays received" would mean received once, ever.

Invoke it from a parent workflow

In the parent workflow, add the Invoke Workflow action (in the Custom group) and configure it in the side panel:

  • Target Workflow is the workflow to run. Only workflows with invocation settings turned on appear here; with none, the list says No invokable workflows found. Set up invocation config on a workflow first.
  • Provides Input declares which of the target's required inputs this invocation satisfies. It appears when the target defines required inputs.
  • Context Mapping feeds the target's context variables. Click Add mapping and pair a Source column from the previous action's output with a Target variable. It appears when you have picked a target; a target with no variables says Target workflow has no context variables defined.
ConfigureExecutionsInvoke WorkflowCustomStart another workflow with values from this runData Sources0 / 1Target Workflow*Select the workflow to invoke. Only workflows with invocation config areshown.Select target workflow...
The Invoke Workflow panel: pick the target, then what this call provides.

The Invoke Workflow action has no field, operator and value condition and no "wait for completion" option. What decides whether the child runs is its Required inputs: the child stays pending until every required input has been provided, then fires.

Track invocations with trigger states

An invokable workflow that's waiting on its inputs shows up in the Trigger States tab of the workflow section. Each row is one pending invocation, with columns for Status, Inputs, Context, Created and Triggered, and a status filter.

Trigger stateMeaning
PendingWaiting for one or more required inputs
ReadyAll required inputs received; about to run
TriggeredFired; the run has started
ExpiredTimed out before all inputs arrived

If a child workflow never runs, check its trigger state here: Pending means an expected input hasn't been provided yet. Open a row to see its Required inputs, which have been received, the Context values it was invoked with, and when it was created, expires or triggered.

Trigger stateThe inputs this workflow needs before it runs, and which have arrived.PendingIDd8ddfa63-4ddb-4f39-8daa-988f5b04c887Group key38a951dd90ae819a54db60b43a9dcaa4Required inputspositions_filesecurities_fileContext valuesvaluation_date:2026-11-06TimestampsCreated:2 hours ago
A trigger state's detail: pending, with one required input received and one still awaited.

Where to go next