Before you begin
- A JDK, version 25, to run the server from source
gitcurl(any HTTP client works; the examples show plain HTTP requests as well)
1. Run the server
http://localhost:8080, on loopback only. Open that address for the web UI, or http://localhost:8080/swagger-ui.html for interactive API documentation.
2. Apply a session
A session groups workflows. This one holds a single workflow that reads a name from the start request and builds a greeting.curl, save the body as session.json and run:
API_TRIGGER receives the payload you send when you start it, MAPPER builds a new record from it, and CONSOLE_TERMINAL ends the branch by logging what arrives.
Sessions are held in memory by default, so apply them again after a restart. See Persistence to keep them on disk or in PostgreSQL.
3. Start the workflow
202 Accepted with an execution id in data.executionId. The execution runs in the background.
4. Watch it and read the result
Poll the status:status and every node has one. SUCCESS means the execution finished normally. To follow a run live instead of polling, open the status stream, which uses server-sent events:
Read the logs
Read the result
Logs are text for people. The result is what reached the terminal node, kept whole and typed:What just happened
- Applying the session validated and stored the workflow.
- Starting it checked the limits, took a slot and returned an execution id.
- The trigger emitted one message carrying your payload. The mapper derived a new message from it, and the terminal received it as the result.
- Every step produced events that the status, log and result streams carried to you.
Next steps
More examples
Ten workflows for CI, quality gates, data pipelines, retries, notifications and LLM agents.
Connect an AI agent
Point Claude or any MCP client at
/mcp and let it create and run workflows.Run operating-system commands
The process plugin refuses every command until you allow-list it.
Understand the model
Sessions, nodes, ports, messages and executions in depth.
Explore the REST API
Guides for every endpoint, plus an interactive endpoint reference.