Process Engine
The tSM Process Engine designs, executes, and operates durable business processes across people, services, integrations, time, and bounded AI agents. It uses BPMN for orchestration and DMN for decisions, extended with tSM tasks, forms, skills, statuses, privileges, scripts, templates, versioning, and operational controls.
Processes coordinate work in Ticketing, Ordering, Customer Management, Inventory, WFM, and project-specific modules while preserving one visible business lifecycle and audit trail.
Platform Capabilities
| Area | Capabilities |
|---|---|
| Modeling | Graphical BPMN Process Designer, DMN decisions, validation, import/export, and reusable Task Templates |
| Human work | User Tasks, forms, assignment, skills, statuses, transitions, due dates, and approvals |
| Automated work | Service, External, Kafka, Agent, and A2A Agent Tasks |
| Flow control | Gateways, events, messages, signals, timers, subprocesses, call activities, and multi-instance execution |
| Agentic automation | Bounded Agent Tasks and Agentic Subprocesses with typed tools, limits, approvals, and Agent Runs |
| Integration | Public API, scripts, REST, Kafka, external workers, MCP, A2A Script Bindings, and outbound A2A |
| Reliability | Wait states, transactions, retries, incidents, idempotency, cancellation, and SAGA compensation |
| Lifecycle and operations | Versioned deployment, migration checks, instance path, tasks, variables, evidence, audit, and metrics |
Embedded Execution Topology
A Process Type selects the domain microservice that runs a definition. The Process Engine embedded in that service owns its instances, tasks, jobs, incidents, history, and process schema.
Process state and business changes in one service can share a local transaction between wait states. Cross-service and long-running work uses explicit durable boundaries. See Process Transactions and Process Engine Internals.
Choosing a Task
| Task | Work owner | Use it for |
|---|---|---|
| [User Task](02_User task.md) | Person or authorized group | Review, input, decision, approval, or field work |
| Service Task | Local tSM service or certified script | Short deterministic work in the process microservice |
| Business Rule Task | DMN runtime | Deterministic decision table |
| Send / Receive Task | Message producer or consumer | Publish or await a correlated message |
| External Task | Separately deployed fetch-and-lock worker | Independently scaled integration or specialized runtime |
| Kafka Task | Event-driven consumer | Durable asynchronous request/result through Kafka |
| Agent Task | Agent Runtime in tsm-ai | One bounded classification, extraction, summary, draft, or recommendation |
| A2A Agent Task | Registered remote agent through tsm-ai | Stateful delegation through A2A Protocol 1.0 |
tSM represents managed human work with User Tasks. Task Templates provide guided, versioned design-time configuration for supported tasks and write inspectable BPMN and tSM extension properties.
Choosing a Subprocess
| Subprocess | Use it for |
|---|---|
| Embedded Subprocess | Group steps and variables inside one definition |
| Call Activity | Invoke a reusable, separately versioned process |
| Event Subprocess | React while the containing scope is active |
| Ad-hoc Subprocess | Enable activities in a flexible order |
| Agentic Subprocess | Let a bounded agent select from explicitly published child activities |
| Transaction Subprocess | Model cancellation and compensation |
| Multi-instance Activity/Subprocess | Repeat work sequentially or with bounded parallelism |
See Subprocesses for scope and lifecycle semantics.
Agentic Process Automation
Agentic elements place nondeterministic reasoning inside deterministic process boundaries. The process specifies the goal, typed inputs and results, permitted activities, approvals, limits, and recovery paths; Agent Runtime or a registered remote agent performs only the delegated work.
Start with Agentic Process Automation, then configure the specific Agent Task, Agentic Subprocess, or A2A Agent Task. Inbound A2A capabilities are configured as A2A Script Bindings.
Designer, Start, and Versioning
The Process Designer creates executable BPMN definitions and validates referenced forms, groups, skills, scripts, profiles, tools, agents, messages, expressions, and templates before deployment. DMN Designer is used for decisions expressible as stable inputs, rules, and outputs.
Processes usually start for a business entity and use its ID or code as the business key. They can also start from an authorized API, message, timer, signal, or condition. See Starting a Process.
A Process Definition has a permanent code and version label. Deployment creates an immutable runtime version. New instances use the selected current version; running instances keep their deployed version until an explicit compatibility-checked migration. Referenced profiles, tools, remote agents, forms, scripts, templates, and schemas are pinned by the deployed definition. See Process Versioning.