explaingit

danielgerlag/workflow-core

5,852C#Audience · developerComplexity · 3/5Setup · moderate

TLDR

Workflow Core is a .NET library for defining and running long-running multi-step processes in C#, with state saved to a database so work is not lost if the app restarts, plus automatic rollback on failure.

Mindmap

mindmap
  root((workflow-core))
    What it does
      Long-running workflows
      State persistence
      Saga rollback
    Definition formats
      C# fluent API
      JSON definition
      YAML definition
    Step patterns
      Sequential steps
      Parallel steps
      Wait for event
    Storage backends
      SQL Server PostgreSQL
      MongoDB Redis SQLite
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a multi-step order processing workflow in .NET that waits for payment confirmation before continuing to the next step.

USE CASE 2

Implement a user onboarding flow that creates accounts across multiple services and rolls back everything if one step fails.

USE CASE 3

Define a background data processing pipeline in YAML that runs steps in parallel and retries on failure without writing custom tracking logic.

Tech stack

C#.NETSQL ServerPostgreSQLMongoDBRedisSQLite

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires a database (SQL Server, PostgreSQL, MongoDB, or SQLite) to store workflow state between steps.

License not explicitly stated in the explanation.

In plain English

Workflow Core is a library for .NET applications that helps developers describe and run multi-step processes that can take a long time to complete. Instead of writing custom logic to track what step a process is on, or what to do if a step fails, you define the steps once and the library handles the rest, including saving state between steps so work is not lost if the application restarts. You can describe a workflow in C# code using a fluent style where each step follows the previous one, or you can write the definition in JSON or YAML if you want to keep the process description separate from the application code. A workflow can run tasks in sequence, in parallel, loop over items, wait for an external event before continuing, or branch based on the outcome of a step. One notable feature is saga support. A saga is a pattern for handling situations where several steps need to succeed as a group: if one step fails, the library can automatically run compensating actions to undo the earlier steps. This is useful for things like creating an account across multiple services, where a partial failure would leave data in an inconsistent state. Workflow Core is designed to be embedded in a .NET application rather than run as a separate service. It stores workflow state in a database you provide, with official support for SQL Server, PostgreSQL, SQLite, MongoDB, MySQL, Redis, and several cloud databases. A related project called Conductor wraps the same engine in a standalone HTTP server for those who prefer that approach. The library also has ports for Java, Node.js, and Python listed in the repository.

Copy-paste prompts

Prompt 1
Using Workflow Core in C#, define a three-step approval workflow where each step saves state to PostgreSQL and waits for an external event before continuing.
Prompt 2
Show me how to implement a saga in Workflow Core that creates a user account in three services and compensates (rolls back) if any step fails.
Prompt 3
How do I define a Workflow Core workflow using YAML instead of C# code, and load it dynamically at runtime in a .NET application?
Prompt 4
Using Workflow Core, build a workflow that processes a list of items in parallel and waits for all of them to complete before moving to the next step.
Open on GitHub → Explain another repo

← danielgerlag on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.