Read this in Türkçe.
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.
- 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.
Run the stack with Docker Compose:
docker compose up -d --buildOpen:
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.
Requirements:
- .NET 10 SDK
- Docker, optional but useful for Redis and database services
Build:
dotnet restore
dotnet buildRun the Web app:
dotnet run --project src/FlowSharp.WebThat'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.WorkerWhen Web and Worker run separately they must share the same database, Security:CredentialEncryptionKey, and (ideally) a Redis instance. See Deployment.
FlowSharp is built on Entity Framework Core and supports three database providers out of the box:
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.
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.
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.
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.
Run the test suite:
dotnet testGenerate 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.ps1The script is cross-platform (PowerShell 7+). Use -NoOpen in CI to skip opening
the browser. Coverage output (TestResults/, CoverageReport/) is git-ignored.
Introduction
Building Workflows
- Built-in Nodes
- Triggers & Scheduling
- Expressions
- Credentials
- Webhooks
- AI Agents & RAG
- Executions & Data
Plugin System
Operations
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
FlowSharp is licensed under the Elastic License 2.0 (ELv2). See LICENSE.md.
Please read CONTRIBUTING.md before opening a pull request.




