BPMN Kit Blog

Guides on generating, simulating, and deploying BPMN 2.0 diagrams with TypeScript. RSS feed

Building a Camunda 8 connector from an OpenAPI spec

Generate a Camunda 8 element template — ready to apply to a BPMN service task — directly from an OpenAPI/Swagger spec with @bpmnkit/connector-gen.

BPMN boundary events, explained with code

What a boundary event actually models, interrupting vs. non-interrupting, and how @bpmnkit/core's withBoundary() attaches an error path without losing the main flow.

Embedding a BPMN viewer in React

How to wrap @bpmnkit/canvas — a zero-dependency SVG BPMN viewer — in a React component, with correct mount/unmount and prop-change handling.

Generating BPMN from natural language with an LLM

Why raw BPMN XML is the wrong interface for an LLM, and how @bpmnkit/core's compact format lets a model describe a whole process in a single prompt.

Evaluating FEEL expressions in TypeScript

How to parse and evaluate FEEL — the expression language behind DMN decision tables and BPMN gateway conditions — using the zero-dependency @bpmnkit/feel package.

Migrating from bpmn-js: a headless alternative

How to move BPMN rendering and generation off bpmn-js and onto a zero-dependency, isomorphic stack — what maps directly, and what changes.

Connect to Camunda 8 from Node.js with a typed REST client

Deploy processes, start instances, and react to lifecycle events against Camunda 8 (Zeebe) using @bpmnkit/api's typed REST client.

Simulate a BPMN process without Camunda

Run and test a BPMN process end-to-end with @bpmnkit/engine — a zero-dependency simulation engine that needs no Camunda deployment.

Auto-layout BPMN diagrams with the Sugiyama algorithm — no coordinate math

How @bpmnkit/core lays out generated BPMN diagrams automatically, so you never have to compute x/y coordinates by hand.

Generate BPMN 2.0 diagrams programmatically in TypeScript

How to build valid, production-ready BPMN 2.0 XML from a fluent TypeScript API — no drag-and-drop editor required — using @bpmnkit/core.