Skip to the content.

ADR-0008: hercules-workflow-server as separate .NET service

Status: Accepted Date: 2026-08-14

Context

BPMN-like multi-agent workflow orchestration needs:

Options: (a) part of Hercules.WebApi, (b) separate .NET service, (c) Node-сервис, (d) Studio-orchestrated (renderer/main).

Decision

Separate .NET service: hercules-workflow-server.

Two-phase approach:

Rationale for separate .NET service

Architecture (Stage 8b)

Studio ──(REST, apiKey)──▶ hercules-workflow-server
                                │
                                │ (mesh intent envelope)
                                ▼
                          Agent A, Agent B, Agent C
                          (HTTP /api/mesh/intent)

Workflow-server API

Endpoint Auth Description
POST /api/workflows clientId/secret Save workflow definition
GET /api/workflows clientId/secret List definitions
POST /api/workflows/{id}/run clientId/secret Start execution
GET /api/workflows/{id}/executions clientId/secret List executions
GET /api/workflows/executions/{eid} clientId/secret Execution status (node states)
POST /api/workflows/triggers/webhook/{token} public (token) Webhook trigger
GET /api/workflows/triggers/cron clientId/secret List cron triggers

Triggers (MVP)

Triggers (future)

Auth model

Consequences

Alternatives considered