go-bpm RU

Live demo

Start a process and follow the engine

This server runs the PostgreSQL-backed examples/demo service from the go-bpm repository. Choose a process, start an instance and follow its status, executed elements and variables. Open the console for full diagram history and all instances. The shared console and diagram labels are in Russian.

Checking demo availability…

Request approval

TestUserTask
TestUserTask: approval, decision gateway and correction loop

User tasks work like Camunda 7. A manager from the managers group approves the request. Returning it for correction assigns it to the initiator, alice; after correction, it goes back for approval.

Process walkthrough

DMN business rules

TestDecision
TestDecision: two consecutive business rule tasks

Two business rule tasks in sequence: Decision_1 selects c from inputs a and b. The decision is compiled into a chain of Go if statements.

Process walkthrough

Gateways, scripts and call activity

TestBpmProcess
TestBpmProcess: method, service task, call activity, amount gateway and parallel branches

A method, service task, call to testSubProcess and exclusive gateway based on amount. With amount = 1, the default branch runs a script and two parallel branches with a join. A string value makes the first step fail: after 10 attempts over several minutes, fix the variables and retry from instance history.

Process walkthrough

Parallel service tasks

testSubProcess
testSubProcess: method and three parallel service task branches

Three parallel service task branches. Each enqueues a separate task; handlers for different job types run concurrently. The join waits for all three.

Process walkthrough

Timers and errors

TestTimerAndException
TestTimerAndException: boundary timers, errors and an intermediate timer

A three-second intermediate timer and boundary events. Demo methods are stubs, so the process follows its main path. See the walkthrough for ways to trigger boundary events.

Process walkthrough

Multi-instance: several rounds

TestMultiInstance
TestMultiInstance: sequential notifications and up to three reviews

Sequential multi-instance: the notification method runs three times, each as a separate queued step. The review task repeats until approved, up to three rounds. The completion condition is =approved; loopCounter holds the round number.

Process walkthrough

Waiting for a message

TestMessage
TestMessage: payment receive task between start and end

A receive task waits for paymentReceived from an external payment system. The message finds the instance by its business key. Send it with the button on the right or POST /api/v1/messages.

Process walkthrough

AI task: request triage

TestAiTask
TestAiTask: category and urgency AI tasks with a refusal boundary event

Two AI tasks send a prompt containing request and write a text category into category and JSON urgency data into triage. A model refusal follows the ai_refusal boundary error. The demo uses a stub; implement engine.AIClient to connect your own model.

Process walkthrough

Console /ui/

Built into go-bpm with webui.Register(mux, history). This is the same console used by the demo service, with all its processes and instances.

  • Heatmap: color elements by average, maximum or total duration, or execution count.
  • Statistics: instance outcomes by start date, median and p95 completion time.
  • Failed instances: inspect errors and attempts above the history diagram, retry steps, fix variables or cancel an instance.

Open console