FlowSharp (FlowSharp) · GitHub
Skip to content
View FlowSharp's full-sized avatar
🎯
Focusing
🎯
Focusing
  • Türkiye
  • Joined May 31, 2026

Block or report FlowSharp

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
FlowSharp/README.md

FlowSharp

Read this in Türkçe.

FlowSharp workflow automation hero

FlowSharp is a node-based workflow automation platform built with C#, .NET 10, and Blazor. It includes a visual workflow designer, executable automation nodes, AI agents with RAG, webhook and schedule triggers, background workers, and runtime-loadable C# plugins.

FlowSharp workflow designer

Highlights

  • Visual workflow designer with node palette, connections, parameters, and live run status.
  • Executable nodes for HTTP, databases (PostgreSQL, SQL Server, MySQL, SQLite), email and messaging (Slack, Discord, Telegram, WhatsApp), logic, data transforms, and sandboxed JavaScript.
  • AI agents powered by Semantic Kernel with model, tool (incl. MCP), and memory sub-nodes, plus a local-embedding vector store for RAG. Providers include OpenAI, Azure OpenAI, Anthropic, Gemini, Groq, Mistral, Cohere, Ollama, and more.
  • Manual, schedule (cron), webhook, IMAP, chat, WhatsApp, workflow, and error triggers — with synchronous webhook responses.
  • Runtime plugin system: drop C# source files into plugins/ and load new nodes (compiled with Roslyn) without rebuilding the app.
  • ASP.NET Core Identity, role/permission policies, AES-GCM encrypted credentials, owner-scoped data isolation, SignalR live events, Serilog logs, and optional OpenTelemetry.

Quick Start

Run the stack with Docker Compose:

docker compose up -d --build

Open:

http://localhost:8080

Default admin account:

admin@flowsharp.local
Admin!2345

The default Docker Compose setup uses SQLite for the application database and Redis for cross-process workflow events.

Local Development

Requirements:

  • .NET 10 SDK
  • Docker, optional but useful for Redis and database services

Build:

dotnet restore
dotnet build

Run the Web app:

dotnet run --project src/FlowSharp.Web

That's all you need for development: by default Worker:RunInWebProcess is true, so the queue worker, scheduler, and trigger services run inside the web process. The SQLite schema is created automatically on startup — there is no separate migration step.

To run the worker as its own scalable process (production-like), set Worker:RunInWebProcess to false and start it in another terminal:

dotnet run --project src/FlowSharp.Worker

When Web and Worker run separately they must share the same database, Security:CredentialEncryptionKey, and (ideally) a Redis instance. See Deployment.

Database & Migrations

FlowSharp is built on Entity Framework Core and supports three database providers out of the box:

Provider Database:Provider Recommended use
SQLite Sqlite Local development and single-node / small-team self-hosting
PostgreSQL Postgres Production and multi-user deployments
SQL Server SqlServer Environments standardised on Microsoft SQL Server

Selecting a provider

The active provider is determined entirely by configuration — no code changes are required. Set the provider key and a matching connection string:

{
  "Database": { "Provider": "Postgres", "ApplyMigrationsOnStartup": true },
  "ConnectionStrings": { "DefaultConnection": "Host=...;Database=...;Username=...;Password=..." }
}

When ApplyMigrationsOnStartup is true, the application applies the selected provider's migrations automatically at startup. A new database receives the full schema; an existing database receives only the pending migrations, enabling safe, non-destructive schema upgrades. Concurrent instances are coordinated through EF Core's migration lock.

Provider-specific migration sets

Each provider maintains its own native migration assembly, so column types are always correct for the target engine (for example jsonb on PostgreSQL, TEXT on SQLite, nvarchar(max) on SQL Server):

src/FlowSharp.Migrations.Sqlite
src/FlowSharp.Migrations.Postgres
src/FlowSharp.Migrations.SqlServer

At runtime the matching set is selected automatically based on the configured provider.

Operators

No migration commands are ever required. Select a provider, supply a connection string, and start the application — the schema is created and kept up to date automatically.

Contributors

When the data model changes (a new or modified entity), generate a migration for all three providers so the sets stay in sync. The exact commands are documented in Database & Migrations.

Testing

Run the test suite:

dotnet test

Generate a browsable HTML code coverage report (cleans old results, restores the local reportgenerator tool, runs tests with coverage, writes the report to tests/FlowSharp.Tests/CoverageReport/index.html):

./scripts/coverage.ps1

The script is cross-platform (PowerShell 7+). Use -NoOpen in CI to skip opening the browser. Coverage output (TestResults/, CoverageReport/) is git-ignored.

Documentation

Introduction

Building Workflows

Plugin System

Operations

Project Structure

src/
|-- FlowSharp.Web            Blazor UI, Identity, designer, webhooks, marketplace
|-- FlowSharp.Worker         Background worker for queued and scheduled jobs
|-- FlowSharp.Domain         Workflow, execution, queue, credential, and node models
|-- FlowSharp.Application    Interfaces and application contracts
|-- FlowSharp.Infrastructure EF Core, workflow engine, queue, plugins, scheduler
|-- FlowSharp.Nodes          Built-in workflow nodes

License

FlowSharp is licensed under the Elastic License 2.0 (ELv2). See LICENSE.md.

Contributing

Please read CONTRIBUTING.md before opening a pull request.

Pinned Loading

  1. FlowSharp FlowSharp Public

    Visual workflow automation platform for .NET with AI agents, webhooks, plugins, and a Blazor node designer.

    C# 3 1