WOML is an open-source, HTML-inspired markup language and self-hosted runtime for building durable workflow applications with embedded JavaScript.
At a Glance
Fully free and open-source under the Apache License 2.0. Self-host on any machine, server, or container.
Engagement
Available On
Alternatives
Listed Sep 2026
About WOML
WOML (Workflow Orchestration Markup Language) is an open-source, executable format for durable workflow applications, released under the Apache License 2.0. It lets developers describe workflow structure using HTML-inspired markup, embed real JavaScript logic inline, and run the result through a cross-platform, Rust-powered runtime—all from a single .woml file. The project is maintained by Mohamed Ali Ben Othmen and is available on GitHub.
What It Is
WOML occupies the space between visual no-code builders and traditional orchestration frameworks. It is three things working together: a language for expressing triggers, steps, decisions, parallel work, loops, approvals, and runtime policies; a durable engine that supervises retries, state, events, workflow calls, recovery, and execution history; and an operational runtime for running, inspecting, cancelling, backing up, and managing automations from the command line. A .woml file is simultaneously the program, the architecture diagram, the execution policy, and the human-readable documentation for an automation.
How the Language Works
WOML files use semantic XML-like tags that read top-to-bottom, mirroring the actual execution order:
<triggers>— webhook, schedule, interval, internal event, Slack, Telegram, Discord, WhatsApp<steps>— sequential steps with embedded<script>blocks usingcontext.payload,context.steps,services, andsecrets<parallel>— concurrent step groups with bounded concurrency and configurable error handling<choose>/<switch>— conditional branching with explicit<when>and<otherwise>paths<fork>— independent multi-step branches with explicit joins<approval>— durable human-in-the-loop pauses<imports>— explicit local JavaScript or TypeScript module imports exposed asservices.*
Runtime policies (concurrency, rate limits, queues, timeouts, retries, lifecycle hooks) live as attributes on the workflow element, making the execution contract part of the readable source.
Self-Hosted Deployment Model
WOML is fully self-hosted. The same workflow file runs on a developer's machine, a server, a container, or any infrastructure without per-step platform billing. Installation is via the woml-cli npm package, which automatically selects the appropriate native Rust engine for macOS, Linux (glibc 2.31+), or Windows. Bun 1.3.14 or later is required as the JavaScript runtime. Common CLI operations include woml check for validation, woml run for foreground execution, woml inspect for the colored runtime inspector, and woml backup for state store snapshots.
AI-Friendly Architecture
The README describes WOML as designed for AI agent collaboration: tags constrain workflow structure, JavaScript provides familiar implementation power, woml check catches invalid output, and Git exposes exactly what an agent changed. A downloadable WOML Skill package teaches coding agents (Claude Code, Codex, and others) the language structure, runtime bindings, control-flow patterns, services, and validation workflow needed to generate valid .woml files. WOML can also orchestrate AI systems themselves—LLM or tool calls run as supervised steps, specialist agents become child workflows, and human approval guards sensitive actions.
VS Code Integration
The repository includes a dedicated VS Code extension (woml-vscode/) that provides HTML-style markup highlighting for .woml files, embedded JavaScript syntax coloring, highlighted runtime bindings (context, services), reference-expression highlighting, snippets, and a dedicated file icon. The extension follows the user's existing VS Code theme.
Update: v1.0.10
The latest release is v1.0.10, published on 2026-08-31. The repository was created in July 2025 and has seen active development, with the last push on the same date as the latest release. The project lists 128 stars and 11 forks on GitHub as of the last update. The GitHub topics include workflow-orchestration, self-hosted, ai-agents, rust, typescript, and bunjs, reflecting the project's technical direction toward durable, developer-owned automation infrastructure.
Community Discussions
Be the first to start a conversation about WOML
Share your experience with WOML, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open-source under the Apache License 2.0. Self-host on any machine, server, or container.
- Full WOML language and runtime
- Cross-platform Rust-powered engine
- All triggers, control flow, and services
- CLI: check, run, inspect, cancel, backup, prune
- VS Code extension
Capabilities
Key Features
- HTML-inspired markup language for workflow definition
- Embedded JavaScript logic in <script> blocks
- Durable execution engine with event-sourced history
- Webhook, schedule, interval, Slack, Telegram, Discord, WhatsApp triggers
- Sequential, parallel, fork, choose, and switch control flow
- Human-in-the-loop approval steps with durable waiting
- Local TypeScript/JavaScript module imports as services
- Managed HTTP, SQLite, PostgreSQL, storage, cache, state, and event services
- Retries with configurable backoff and idempotency
- Concurrency, rate limiting, queues, and timeout policies
- Workflow composition: call, start, and event-driven child workflows
- Cross-platform Rust-powered native engine (macOS, Linux, Windows)
- CLI: check, run, inspect, list, cancel, backup, prune, secrets
- VS Code extension with syntax highlighting and snippets
- AI agent skill for generating valid WOML files
- Self-hosted with no per-step platform billing
- Version-controlled .woml files with meaningful diffs
