Platform Architecture Modules Developers Security Integrations Articles
Modules / Workflows & State Machines
Production-Ready Specification

Workflows & State Machines

Deterministic state machine engine with visual transitions and guard conditions.

The Workflows module replaces fragile switch statements and boolean flags with explicit, verifiable finite state machines (FSM). It enforces transition guards, triggers side-effects reliably, and provides complete execution history.

Capabilities

Core Functional Capabilities

Declarative state machine configurations with explicit transitions
Guards and condition predicates for authorized state changes
Multi-approver hierarchies with escalation timeouts
Saga orchestrator for distributed multi-step transactions
Scheduled execution and asynchronous step retries
State transition visualizer and audit history

Contracts

Public Interface Contracts

Other modules and domain action classes interact exclusively via these typed PHP contracts.

interface StateMachineFactoryInterface
interface TransitionGuardInterface
interface WorkflowEngineInterface
interface SagaCoordinatorInterface

Reactivity

Dispatched Domain Events

Dispatched upon state mutation for downstream audit recording, webhook firing, and asynchronous notifications.

StateTransitionPreChecked
StateTransitionCompleted
WorkflowStepFailed
CompensationTriggered

Customization

Extension Points

  • Custom transition guard strategies
  • Notification / Webhook integration upon state transitions
  • Custom timeout and retry policy resolvers

🛡 Security & Isolation

  • Transitions verified against permission policies before execution
  • Concurrency locking (optimistic or pessimistic) preventing race conditions

Core Entities & Models

  • WorkflowDefinition (Key, states, transitions, initial_state)
  • WorkflowInstance (Entity_type, entity_id, current_state, context)
  • WorkflowHistory (Instance_id, from_state, to_state, actor_id, transition_time)