Skip to main content


The powerful sequential workflow machine for frontend and backend applications. It provides a simple API for creating own step execution handlers (activities). It supports multiple types of activities. Internally is uses the xstate library.

This engine uses the same data model as the Sequential Workflow Designer. So you can create a workflow definition in the designer and then run it by this engine easily.

The project introduces very simple API for creating activities.

const downloadHtmlActivity = createAtomActivity('downloadHtml', {
init: () => ({ attempt: 0, }),
handler: async (step, globalState, activityState) => {
globalState.html = await downloadHtml(;

Check list of all supported activities.

What's next?