This guide walks through creating a custom Flowable form component library, adding a component, and testing it in the playground.
Before you start: Complete Custom Components – Frontend Environment Setup first.
Run the following in the folder where you want the library to live (e.g. the root of the training project):
flowable components initWhen prompted for a name, enter:
training-components
This creates a new training-components/ folder with the project scaffold.
Once done, verify your library appears in Flowable Design: http://localhost:8091/#/custom-components/training-components
cd training-components
npm installflowable components createWhen prompted for a name, enter:
CreditCardSOLUTION
This generates training-components/components/CreditCardSOLUTION/CreditCardSOLUTION.tsx and registers the component in your library.
Before writing any code, define what the modeller will see when they drop the component onto a form.
Open the component configuration: http://localhost:8091/#/custom-components/training-components/CreditCard
flowable components watchThis starts a live-reload dev server. Any changes you make to CreditCardSOLUTION.tsx are reflected immediately inside Flowable Design without a rebuild.
Open training-components/components/CreditCardSOLUTION/CreditCardSOLUTION.tsx in your IDE and implement the component logic.
Test it in the Form Playground (with dev mode enabled so your local dev server is used): http://localhost:8091/#/workspace/playground/apps/playground-app/editor/form/playground-admin?devMode=true
Tip: The playground lets you drop your component onto a form and see its output in real time without deploying a process.
When your component is ready:
flowable components buildTo upload as a draft (visible only to you for review):
flowable components upload --draftTo publish the component to all users:
flowable components upload --patchVersion note:
--patchincrements the patch version (e.g.1.0.0→1.0.1). Use--minoror--majorfor larger changes.
| Command | What it does |
|---|---|
flowable components init |
Scaffold a new component library |
flowable components create |
Add a new component to the library |
flowable components watch |
Start live-reload dev server |
flowable components build |
Build the library for upload |
flowable components upload --draft |
Upload as draft (author only) |
flowable components upload --patch |
Publish with patch version bump |
flowable components types |
Regenerate TypeScript types from Design config |