Bikiran.Engine
1.7.1
dotnet add package Bikiran.Engine --version 1.7.1
NuGet\Install-Package Bikiran.Engine -Version 1.7.1
<PackageReference Include="Bikiran.Engine" Version="1.7.1" />
<PackageVersion Include="Bikiran.Engine" Version="1.7.1" />
<PackageReference Include="Bikiran.Engine" />
paket add Bikiran.Engine --version 1.7.1
#r "nuget: Bikiran.Engine, 1.7.1"
#:package Bikiran.Engine@1.7.1
#addin nuget:?package=Bikiran.Engine&version=1.7.1
#tool nuget:?package=Bikiran.Engine&version=1.7.1
Bikiran.Engine
Bikiran.Engine is a workflow automation engine for .NET 8 applications. It lets you chain together multiple steps — HTTP calls, emails, database queries, conditions, loops, and custom logic — into automated background flows that run inside your own app.
Think of it as n8n or Zapier embedded directly inside your .NET application, sharing your database, services, and HTTP pipeline.
Features
- Fluent Builder API — build workflows by chaining method calls in C#
- 11 Built-in Node Types — start/end markers, HTTP requests, emails, conditions, loops, retries, parallel execution, and more
- Background Execution — flows run asynchronously without blocking the caller
- Persistent Logging — every step is recorded in the database with timing and error details
- Time-Weighted Progress — track live progress percentages weighted by each node's declared
ApproxExecutionTime - Lifecycle Events — run handlers on success, failure, or always after a flow completes
- Reusable JSON Definitions — save flow templates as JSON and trigger them without redeploying code
- Scheduled Execution — run flows on a cron schedule, at fixed intervals, or at a specific future time
- Custom Nodes — create your own node types for any business logic
- Named Credentials — register SMTP or API credentials once and reference them by name
- Admin REST API — monitor, manage, and trigger flows through built-in endpoints
- Auto Database Migration — schema is created and updated automatically on startup
Installation
dotnet add package Bikiran.Engine
Quick Setup
1 — Register Services
In Program.cs:
builder.Services.AddBikiranEngine(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("Default");
});
Note: You must also register your EF Core database provider (e.g.,
AddMySql,AddNpgsql, orAddSqlServer) and pass it toAddBikiranEngine. See the Getting Started guide for details.
2 — Map Admin Endpoints
app.MapBikiranEngineEndpoints();
That's it. On first startup, all required database tables are created automatically.
Your First Flow
var serviceId = await FlowBuilder
.Create("my_first_flow")
.StartingNode("Flow is starting")
.WaitingNode("Pausing briefly", TimeSpan.FromSeconds(1))
.AddNode(new HttpRequestNode("call_api") {
Url = "https://httpbin.org/get",
OutputKey = "api_response"
})
.EndingNode("Flow completed successfully.")
.StartAsync();
// Returns immediately — the flow runs in the background
Built-in Node Types
| Node | Purpose |
|---|---|
StartingNode |
Mark the start of a flow with an optional pause (optional) |
EndingNode |
Mark the successful end of a flow (optional) |
WaitNode |
Pause execution for a set duration |
HttpRequestNode |
Make an outbound HTTP call with retries |
EmailSendNode |
Send an email via SMTP |
IfElseNode |
Branch on a condition |
WhileLoopNode |
Repeat steps while a condition is true |
DatabaseQueryNode<T> |
Run an EF Core query |
TransformNode |
Reshape or derive values from context |
RetryNode |
Wrap any node with retry + backoff logic |
ParallelNode |
Run multiple branches concurrently |
Full Setup Example
builder.Services.AddBikiranEngine(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("Default");
options.DefaultMaxExecutionTime = TimeSpan.FromMinutes(10);
options.EnableNodeLogging = true;
options.AddCredential("smtp_primary", new SmtpCredential
{
Host = "smtp.example.com",
Port = 587,
Username = "noreply@example.com",
Password = builder.Configuration["Smtp:Password"],
UseSsl = true
});
});
app.MapBikiranEngineEndpoints();
Documentation
| Document | Topic |
|---|---|
| Introduction | Overview and architecture |
| Getting Started | Installation, setup, and your first flow |
| Building Flows | FlowBuilder API and execution model |
| Built-in Nodes | All 11 node types with examples |
| Flow Definitions | Reusable JSON flow templates |
| Scheduling | Cron, interval, and one-time scheduling |
| Custom Nodes | Creating your own node types |
| Admin API | REST endpoints for managing flows |
| Database Reference | Schema details |
| Examples | Practical code examples |
Admin API Endpoints
All routes are under /api/bikiran-engine/:
Flow Runs — /runs
| Method | Route | Description |
|---|---|---|
GET |
/runs |
List all runs (paginated) |
GET |
/runs/{serviceId} |
Get run details with node logs |
GET |
/runs/{serviceId}/progress |
Get progress percentage |
GET |
/runs/status/{status} |
Filter runs by status |
DELETE |
/runs/{serviceId} |
Soft-delete a run |
Flow Definitions — /definitions
| Method | Route | Description |
|---|---|---|
GET |
/definitions |
List definitions (latest versions) |
GET |
/definitions/{key} |
Get latest version |
GET |
/definitions/{key}/versions |
List all versions |
POST |
/definitions |
Create a definition |
PUT |
/definitions/{key} |
Update (auto-increments version) |
PATCH |
/definitions/{key}/toggle |
Enable or disable |
DELETE |
/definitions/{key} |
Soft-delete |
POST |
/definitions/{key}/trigger |
Trigger with parameters |
POST |
/definitions/{key}/dry-run |
Validate without executing |
GET |
/definitions/{key}/runs |
List runs from this definition |
POST |
/definitions/validate |
Validate FlowJson |
PATCH |
/definitions/{key}/versions/{ver}/activate |
Activate a specific version |
GET |
/definitions/{key}/versions/diff?v1=&v2= |
Compare two versions |
GET |
/definitions/{key}/export |
Export a definition |
GET |
/definitions/export-all |
Export all definitions |
POST |
/definitions/import |
Import a definition |
POST |
/definitions/extract-parameters |
Extract {{placeholder}} names |
Flow Schedules — /schedules
| Method | Route | Description |
|---|---|---|
GET |
/schedules |
List all schedules |
GET |
/schedules/{key} |
Get details with next fire time |
POST |
/schedules |
Create a schedule |
PUT |
/schedules/{key} |
Update and re-register in Quartz |
PATCH |
/schedules/{key}/toggle |
Enable or disable |
DELETE |
/schedules/{key} |
Soft-delete and unregister |
POST |
/schedules/{key}/run-now |
Trigger immediately |
GET |
/schedules/{key}/runs |
List runs from this schedule |
📄 License
MIT License - see the LICENSE file for details.
👨💻 Author
Developed by Bikiran
- 🌐 Website: bikiran.com
- 📧 Email: Contact
- 🐙 GitHub: @bikirandev
<div align="center">
Made with ❤️ for the .NET community
⭐ Star this repo • 🐛 Report Bug • 💡 Request Feature
</div>
🏢 About Bikiran
Bikiran is a software development and cloud infrastructure company founded in 2012, headquartered in Khulna, Bangladesh. With 15,000+ clients and over a decade of experience, Bikiran builds and operates a suite of products spanning domain services, cloud hosting, app deployment, workflow automation, and developer tools.
| SL | Topic | Product | Description |
|---|---|---|---|
| 1 | Website | Bikiran | Main platform — Domain, hosting & cloud services |
| 2 | Website | Edusoft | Education management software for institutions |
| 3 | Website | n8n Clouds | Managed n8n workflow automation hosting |
| 4 | Website | Timestamp Zone | Unix timestamp converter & timezone tool |
| 5 | Website | PDFpi | Online PDF processing & manipulation tool |
| 6 | Website | Blog | Technical articles, guides & tutorials |
| 7 | Website | Support | 24/7 customer support portal |
| 8 | Website | Probackup | Automated database backup for SQL, PostgreSQL & MongoDB |
| 9 | Service | Domain | Domain registration, transfer & DNS management |
| 10 | Service | Hosting | Web, app & email hosting on NVMe SSD |
| 11 | Service | Email & SMS | Bulk email & SMS notification service |
| 12 | npm | Chronopick | Date & time picker React component |
| 13 | npm | Rich Editor | WYSIWYG rich text editor for React |
| 14 | npm | Button | Reusable React button component library |
| 15 | npm | Electron Boilerplate | CLI to scaffold Electron.js project templates |
| 16 | NuGet | Bkash | bKash payment gateway integration for .NET |
| 17 | NuGet | Bikiran Engine | Core .NET engine library for Bikiran services |
| 18 | Open Source | PDFpi | PDF processing tool — open source |
| 19 | Open Source | Bikiran Engine | Core .NET engine — open source |
| 20 | Open Source | Drive CLI | CLI tool to manage Google Drive from terminal |
| 21 | Docker | Pgsql | Docker setup for PostgreSQL |
| 22 | Docker | n8n | Docker setup for n8n automation |
| 23 | Docker | Pgadmin | Docker setup for pgAdmin |
| 24 | Social Media | Bikiran on LinkedIn | |
| 25 | Social Media | Bikiran on Facebook | |
| 26 | Social Media | YouTube | Bikiran on YouTube |
| 27 | Social Media | FB n8nClouds | n8n Clouds on Facebook |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- MailKit (>= 4.16.0)
- Microsoft.EntityFrameworkCore (>= 8.0.0)
- Microsoft.EntityFrameworkCore.InMemory (>= 8.0.0)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Quartz.Extensions.Hosting (>= 3.18.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.1 | 123 | 4/22/2026 |
| 1.7.0 | 104 | 4/20/2026 |
| 1.6.1 | 92 | 4/20/2026 |
| 1.6.0 | 92 | 4/19/2026 |
| 1.5.1 | 101 | 4/19/2026 |
| 1.5.0 | 171 | 3/31/2026 |
| 1.4.0 | 150 | 3/24/2026 |
| 1.3.3 | 98 | 3/24/2026 |
| 1.3.2 | 103 | 3/24/2026 |
| 1.3.1 | 100 | 3/24/2026 |
| 1.3.0 | 101 | 3/24/2026 |
| 1.2.0 | 106 | 3/24/2026 |
| 1.1.0 | 108 | 3/24/2026 |
| 1.0.2 | 101 | 3/23/2026 |
| 1.0.1 | 100 | 3/23/2026 |
| 1.0.0 | 103 | 3/22/2026 |