Document profiles

Every file has exactly one <woml> root and one of three profiles.

Runnable workflow

WOML
<woml>
  <imports>...</imports>
  <workflow>...</workflow>
</woml>

Only a document containing <workflow> can be activated by woml run.

Reusable step

WOML
<woml>
  <imports>...</imports>
  <props>...</props>
  <step>...</step>
  <lifecycle>...</lifecycle>
</woml>

This file defines a custom step tag and is imported by a runnable workflow. It does not own triggers or runs.

Reusable notification provider

WOML
<woml>
  <imports>...</imports>
  <props>...</props>
  <provider kind="notification">...</provider>
  <lifecycle>...</lifecycle>
</woml>

This file defines transport for a custom notification tag. Rust still owns delivery identity, approval authority, retries, and settlement.