Design, validate, and export Symfony or Laravel workflows without writing config by hand.
Drag state nodes from the palette onto the canvas. Each node represents a Symfony place — a possible state your entity can be in. Mark which states are initial (where the workflow starts) and which are final (where it ends). Add metadata like colors and descriptions to document your workflow.
Draw connections between states to create transitions. Each transition becomes a node that sits between the source and target states. Connect multiple states to a single transition for AND-join (synchronization), or connect one transition to multiple states for AND-split (parallel fork).
Click any transition node to configure guard expressions, add event listeners, set arc weights for Petri net modeling, and add metadata. Guards use Symfony ExpressionLanguage syntax to control when a transition is allowed. Add styling metadata (color, arrow_color) to customize the workflow dump output.
Toggle the simulator to step through your workflow visually. Active states glow green, available transitions highlight. Toggle guards on or off to test different paths and see which Symfony events fire at each step. Use auto-play to watch the full flow, or step back through history. The validator catches unreachable states, dead transitions, and orphan places before you export.
Export your workflow in six formats: Symfony YAML (5.4–8.0), JSON, TypeScript, Mermaid diagrams, Graphviz DOT, or symflow-laravel compatible PHP for Laravel. Copy to clipboard or download as a file. Each format uses proper conventions and is ready to paste into your project.