/Wexflow

A high-performance, extensible, modular and cross-platform workflow engine. Built for automation and optimized for SaaS.

Primary LanguageC#MIT LicenseMIT

Downloads Release Nuget License Follow

You can download the latest stable release from here.

You can find the documentation here.

Docker

Wexflow runs also on Docker. Here is a Dockerfile for creating and building Docker images.

What's New?

Take a look at the version 5.2. This version includes an upgrade to .NET Core 3.1 LTS, support for PostgreSQL, SQL Server, MySQL and SQLite, JSON editor, display of server logs in the backend, parallel jobs of the same workflow definition, date interpolation, bug fixes, performance enhancements and under the hood updates.

This version has been depthly tested on Windows, Linux, macOS and the cloud, and runs 100% on Windows, Linux, macOS and the cloud.

Continuous Integration

Server Platform Project Status
Azure Pipelines (.NET and .NET Core) Windows Wexflow.sln Build Status
AppVeyor (.NET and .NET Core) Windows Wexflow.sln Build Status
GitHub Actions (.NET Core) Linux Wexflow.Server.csproj Actions Status
Travis (Android) Linux src/android Build Status
Bitrise (Android) Linux src/android Build Status
CircleCI (Android) Linux src/android CircleCI
Bitrise (iOS) macOS src/ios Build Status
CircleCI (iOS) macOS src/ios CircleCI
FOSSA (All projects) Linux All projects FOSSA Status

Wexflow

Wexflow is a high-performance, extensible, modular and cross-platform workflow engine. The goal of Wexflow is to automate recurring tasks. With the help of Wexflow, building automation and workflow processes become easy. Wexflow also helps in making the long-running processes straightforward. The communication between systems or applications becomes easy through this powerful workflow engine.

Wexflow makes use of .NET Core, a cross-platform version of .NET for building websites, services, and console apps. Thus, Wexflow provides a cross-platform workflow server and a cross-platform backend for managing, designing and tracking workflows with ease and flexibility. Wexflow server and its backend run on Windows, Linux and macOS.

Wexflow also makes use of Quartz.NET open source job scheduling system that is used in large scale enterprise systems. Thus, Wexflow offers flexibility in planning workflow jobs such as cron workflows.

Since workflows are typically long running processes, they will need to be persisted to storage between tasks. There are several persistence providers available. Wexflow provides LiteDB, MongoDB, RavenDB, CosmosDB, PostgreSQL, SQL Server, MySQL and SQLite persistence providers which enhance and improve the performance of this workflow engine. The user can choose the persistence provider of his choice at the installation.

Wexflow comes with a backend too, so you can search and filter among all your workflows, have real-time statistics on your workflows, manage your workflows with ease, design your workflows with ease, and track your workflows with ease:

Dashboard

Just to give you an idea of what Wexflow does, this is a screenshot from the "Designer" page. Using the "Designer" page, we get a nice visual overview of the dependency graph of the workflow. Each node represents a task which has to be run:

Designer

Moreover, the "Designer" page allows to edit workflows through its XML/JSON editor or its WYSIWYG form based editor:

Designer

Table Of Contents

Why Wexflow?

Discover more about the features in details.

Real Life Examples

  • Orchestration engine.
  • Form submission approval processes.
  • Batch recording live video feeds.
  • Batch transcoding audio and video files.
  • Batch uploading videos and their metadata to YouTube SFTP dropbox.
  • YouTube integration: Automatically upload, search for content and list uploaded videos on YouTube through YouTube Data API.
  • Vimeo integration: Automatically upload and list uploaded videos on Vimeo through Vimeo API.
  • Instagram integration: Automatically upload images and videos to Instagram through Instagram API.
  • Twitter integration: Automatically send tweets through Twitter API.
  • Reddit integration: Automatically send posts and links to Reddit through Reddit API.
  • Slack integration: Automatically send messages to Slack channels.
  • Twilio integration: Automatically send SMS messages.
  • Batch encrypting and decrypting large files.
  • Batch converting, resizing and cropping images.
  • Creating and sending reports and invoices by email.
  • Connecting systems and applications via watch folders.
  • Batch downloading files over FTP/FTPS/SFTP/HTTP/HTTPS/Torrent.
  • Batch uploading files over FTP/FTPS/SFTP.
  • Database administration and maintenance.
  • Synchronizing the content of local or remote directories.
  • Optimizing PDF files.

Benefits

  • Gain time by automating repetitive tasks.
  • Save money by avoiding re-work and corrections.
  • Reduce human error.
  • Become more efficient and effective in completing your tasks.
  • Become more productive in what you do.
  • Become consistent in what you do.

Who's Using Wexflow?

Workiom


Assurant


BHV-Automation


Datalogics


eandbsoftware


glinksolutions


Yandex


AK

Get Started

Building From Source

To build from source, follow these instructions.

Contribute

  1. Turn off autocrlf:
    git config core.autocrlf false
    
  2. Hack!
  3. Make a pull request.

After your pull request has been reviewed, it can be merged into the repository.

To run unit tests, follow these guidelines.

Changelog

The changelog is available in the release history.

License

Wexflow is licensed under the MIT License. Wexflow contains other libraries with their individual licenses. More details about these licenses can be found in the wiki.

FOSSA Status

Credits

Thanks to JetBrains for the free open source licenses.

Improved and optimized using:

Resharper