Run Multiple Workflows

Related workflows must be active under one runtime authority to call, start, and emit to one another.

Explicit files

Terminal
woml run parent.woml child.woml

Directory deployment

Terminal
woml run workflows/

Directory loading is non-recursive for direct .woml files. WOML validates the complete set, resolves cross-workflow targets, prepares providers and listeners, then opens admission atomically. A startup failure leaves the deployment closed instead of activating only some workflows.

Organize a workflow project

Text
workflows/
  process-order.woml
  calculate-risk.woml
  send-follow-up.woml
modules/
  pricing.ts

Run every direct workflow file:

Terminal
woml run workflows/

Directory discovery is intentionally non-recursive. Use explicit files when workflows live in several folders:

Terminal
woml run workflows/orders.woml workflows/risk.woml

Atomic activation

WOML parses, compiles, validates cross-workflow targets, checks runtime ownership, prepares provider hosts and listeners, and only then opens admission. One invalid file prevents partial activation.

This matters for composition: a parent should never accept traffic while its required call target failed to load.

Use one durable state boundary

Related workflows must share the runtime state authority to communicate through local calls, starts, and events. Omit --state for the project default, or provide the same explicit path to every cooperating process.

Prefer one runtime invocation for a related set unless process separation is required. It gives the simplest activation, ownership, and shutdown behavior.