A quick look into Elsa Workflows

Razvan Predescu
2 min readFeb 21, 2021

Overview

Elsa is an open-source effort to bring workflows back into the latest .NET versions. The project is led by Sipke Schoorstra and it attracted the growing interest of .NET enthusiasts.

In the process of remaking with version 2 scheduled to blast off around the end of Q1 2021, Elsa is supposed to bring relief to developers looking to integrate workflows into their .NET Core or .NET 5 stack.

Features

Here are some of the features early adopters would be able to integrate with their work (make sure to check for more on Elsa Github page):

  • Create Programmatic workflows with a neat and clean syntax or use Designer and Dashboard to manage declarative workflows visually.
  • Persistence providers abstract workflows into memory, JSON files, SQL Light, SQL Server, MongoDB or YesSql database.
  • Workflow Host REST API to handle workflows from outside your application
  • Long-running Workflows can span a predefined time while waiting for an event to resume.
  • Predefined activities (control flow, timer, HTTP, email) help crafting complex workflows while custom activities implement your business logic.
  • Javascript and Liquid expressions allows handling Input and Output variables in a human readable way.
  • Elsa’s modularity allows for easy integration of components like Designer, Dashboard, or API into your own projects.

Elsa 2.0 Designer look and feel

The upcoming Elsa 2 Designer look is nicely showcased below by Sipke Schoorstra in a short demonstration. It may be a bit different when ready, but that’s the feeling.

Elsa Workflows 2 Designer showcase by Sipke Schoorstra

A code example

Below you can see how clean and easy an Elsa declarative workflow is in code behind (the sample is taken from Elsa’s 2.0 Feature Github branch). You can see the prerequisites and how the workflow is crafted before being run.

Resources

Summary

This short article is supposed to bring Elsa Workflows to the attention of .NET enthusiasts as an alternative to the now old Microsoft Workflows framework. Have fun!

--

--