Table of Contents

API Reference

Full XML-documentation reference for all public types and members in FlowOrchestrator.

Packages

Package Namespace Description
FlowOrchestrator.Core FlowOrchestrator.Core.* Abstractions, execution engine, storage contracts
FlowOrchestrator.Hangfire FlowOrchestrator.Hangfire.* Hangfire bridge, DI extensions, built-in step handlers
FlowOrchestrator.InMemory FlowOrchestrator.InMemory.* In-process runtime adapter and storage backend (dev/testing)
FlowOrchestrator.ServiceBus FlowOrchestrator.ServiceBus.* Azure Service Bus runtime adapter (multi-replica)
FlowOrchestrator.SqlServer FlowOrchestrator.SqlServer.* SQL Server persistence (Dapper)
FlowOrchestrator.PostgreSQL FlowOrchestrator.PostgreSQL.* PostgreSQL persistence (Npgsql)
FlowOrchestrator.Dashboard FlowOrchestrator.Dashboard.* REST API and embedded SPA
FlowOrchestrator.Testing FlowOrchestrator.Testing.* FlowTestHost — runs flows in-process inside a test

Key Types

Defining Flows

Type Description
IFlowDefinition Contract for a flow definition class
FlowManifest Holds triggers and steps for a flow
StepMetadata Declares a step's type, inputs, and runAfter dependencies
LoopStepMetadata ForEach loop step definition
TriggerMetadata Declares a trigger (manual, cron, or webhook)
RunAfterCollection Maps predecessor step keys to required statuses
StepStatus Enum: Pending, Running, Succeeded, Failed, Skipped

Implementing Step Handlers

Type Description
IStepHandler<TInput> Main interface for custom step logic — receives a strongly-typed, expression-resolved input
IStepHandler Non-generic base the engine dispatches through; implement the generic form unless you need the raw payload
PollableStepHandler<TInput> Base class for steps that poll an external system
IPollableInput Input contract for pollable steps
IExecutionContext Run-scoped context passed to every handler
IExecutionContextAccessor DI-injectable accessor for the current execution context

Storage Abstractions

Type Description
IFlowStore Persists flow definitions
IFlowRunStore Persists run state and step records
IFlowRunRuntimeStore Dispatch ledger + claim guard — the "dispatch many, execute once" primitives
IFlowRunControlStore Per-run cancel latch, timeout deadline, and ExtendDeadlineAsync
IOutputsRepository Stores and retrieves per-step outputs keyed by RunId
IFlowEventReader Reads the per-run event stream for the dashboard timeline
IFlowSignalStore Signal waiters and delivery for WaitForSignal steps
IFlowRetentionStore Backs the background retention sweep
IFlowScheduleStateStore Persists cron overrides and enable/disable state across restarts (optional)

DI Registration

Type Description
FlowOrchestratorBuilder Returned by AddFlowOrchestrator() — configure storage, the runtime adapter, and flows

See Also