Features

Everything you need to build workflows

From a blank canvas to production-ready Symfony YAML in minutes.

Editor

Drag & Drop

Drag states and transitions from the palette, then connect them visually. No config files to edit by hand.

AND / OR Patterns

Transition nodes model Petri-net semantics: AND-split forks into parallel states, AND-join synchronizes them, and OR uses separate transitions for exclusive choices.

Undo / Redo

Full 50-step history (Cmd+Z / Cmd+Shift+Z). Every meaningful change — node move, edge add, property edit — creates a snapshot you can revert to.

Guards & Metadata

Configure guard expressions in Symfony ExpressionLanguage syntax. Attach transition listeners and key-value metadata to states and transitions.

Styling Metadata

Set bg_color, description, color, and arrow_color to match Symfony's workflow dump styling. Pick colors with the built-in picker and preview live on the canvas.

Weighted Arcs

Configure consume and produce weights on transitions for advanced Petri net modeling. Weights render on the canvas and round-trip through every export format.

Import / Export

Production-Ready YAML

Export valid Symfony workflow YAML for 5.4, 6.4, 7.4, and 8.0. Tilde nulls, flow arrays, scalar initial_marking — ready to paste into your project.

Import Existing Workflows

Drop in YAML files or paste them directly. SymFlowBuilder parses, detects the workflow type, and renders the graph with automatic topological layout.

PHP / Laravel Export

Export a symflow-laravel compatible PHP config file. Design visually, drop it into Laravel — zero manual config.

Graphviz DOT Export

Export Graphviz DOT for rendering with external tools, embedding in documentation, or generating publication-quality diagrams.

Simulation & Validation

Workflow Simulator

Step through your workflow visually. Active states glow, available transitions highlight, and Symfony events (guard, leave, transition, enter, entered, completed) fire in real time. Toggle guards to test different paths, auto-play at configurable speed, step back through history, or reset to the initial marking.

Validation

Catch unreachable states, dead transitions, orphan places, and invalid references in the editor — not in production.

Standalone Engine — symflow

npm Package

The engine that powers SymFlowBuilder ships as symflow on npm. Run it in any Node.js, serverless, or browser project with zero framework dependencies.

Symfony-Compatible Runtime

State machines and Petri nets with Symfony's exact semantics: guards, events in Symfony order (guard, leave, transition, enter, entered, completed, announce), marking stores, and validation.

Import & Export Formats

Round-trip YAML, JSON, TypeScript, Mermaid, Graphviz DOT, and PHP (Laravel). Import existing Symfony configs — including !php/const tags — and run them directly.

Save & Share

Shareable Links

Generate read-only public links. Recipients can view the workflow and export its YAML without an account.

Cloud Save

Signed-in users get debounced auto-save to the cloud. Guest drafts persist to localStorage and migrate on sign-in.

Embed with Live Marking

Drop the canvas into any app via /embed/<shareId>. Pass ?marking=place_a,place_b and active places light up in real time — perfect for showing runtime state next to a Symfony or Laravel domain UI. Toggle minimap, branding, and scenario runner with query params.