Low-Code BPM Platform
No code required for workflows, forms, permissions, or entity management. Visual designers produce YAML & BPMN artifacts that the runtime reads on startup.
java -jar pleodox.jar -Dapp.external-resources=file:/opt/workspace/
Core Concepts
From organisational structure to granular task permissions — all defined in YAML, all loaded at startup.
Virtual KEYs group real directory groups into an org tree. A user in frontend-team resolves upward to KEY engineering, then expands down to see tasks assigned to frontend-team and backend-team.
org:
hierarchy:
company: [engineering, hr, finance, management]
engineering: [frontend-team, backend-team]
finance: [finance-team, finance-managers]
management: [directors]
access:
task_management: [engineering, finance, hr, management]
case_management: [finance, hr, management]
entity_admin: [company]
BPM-driven tasks with a 4-tier permission model. Permissions resolve in strict priority — the first matching tier wins.
12 permission flags per task • 3 case-specific permissions • Group participants inherit the highest-privilege matching role.
Long-running cases group tasks, processes, and entities. Each case type defines its own numbering pattern, allowed processes, and associated form.
id: fraud-investigation
displayName: Fraud Investigation
icon: bx-search-alt
numberPrefix: FRD
numberMode: auto
formId: fraud-investigation
allowedProcesses:
- contract-approval
Schema-driven data objects with five pluggable data sources. All expose the same interface — controllers and services never know which backend is in use.
Only JDBC supports create/update/delete. All others are read-only with configurable caching. Environment variables resolve at fetch time for credentials.
YAML-defined forms with 12 field types, column layouts, and outcomes. Rendered dynamically at runtime.
id: contract-approval
displayName: Contract Approval
fields:
- name: contractTitle
label: Contract Title
type: TEXT
required: true
col: col-8
- name: amount
label: Amount
type: NUMBER
required: true
col: col-4
- name: supplier
label: Supplier
type: REFERENCE
referencedEntityTypeId: supplier
Five standard roles with ascending privilege. Each defined in its own YAML file. Custom roles are auto-discovered at startup.
Studio Designer
Each designer produces YAML or BPMN files that the runtime reads at startup. Cross-designer discovery keeps everything in sync. Or skip the GUI — use AI skills to generate artifacts from natural language.
org-config/org-structure.yaml
*.form.yaml from projectprocesses/*.bpmn
entity-schemas/*.entity.yaml
process-forms/*.form.yaml
*.form.yamlcase-types/*.case.yaml
roles/*.role.yaml
Pleodox Skills turn natural language into production-ready artifacts. Slash commands in Claude Code generate entities, forms, processes, and entire workflows from a single description.
Skills automatically resolve cross-references. Forms link to entities, processes bind to forms, cases reference processes.
/pleodox:create-workflow
Generate a complete workflow from a plain-language description — entities, forms, process, case type, and roles in one command.
/pleodox:create-entity
Define data models with typed fields, display templates, and optional external data sources (REST, LDAP, SQL).
/pleodox:create-form
Build process forms with field types, grid layout, validation rules, and entity REFERENCE lookups.
/pleodox:create-process
Design BPMN workflows with user tasks, gateways, timers, email notifications, and custom service tasks.
/pleodox:modify-process
Add tasks, gateways, timers, or error handling to existing processes. Describe the change, get valid BPMN.
/pleodox:list-resources
Scan the workspace, report all resources with cross-references, and flag broken links or missing dependencies.
Architecture
Studio writes artifacts to a workspace folder. The runtime reads them via app.external-resources. One property, all loaders pick up all artifact types.
Spring Boot application — everything included. Run as a JAR, native executable, or shell application. One -Dapp.external-resources property points to the workspace.
Org hierarchy, entity schemas, participant roles, case types, process forms, and BPMN processes. Each has a dedicated loader with consistent pattern: scan classpath + external path, register in a typed registry.
BPMN candidateGroups validated against org hierarchy KEYs. Case allowedProcesses validated against deployed definitions. Directory schema fields checked for required contract.
Integrations
LDAP / Active Directory for users and groups. The directory is backed by the entity system — swap data sources without changing Java code.
Dual-mode email handler: automatic assignment notifications on user tasks, and custom service task emails with {variable} token resolution in subject, body, and recipients.
Metadata in Flowable, bytes in pluggable providers. Configure multiple providers in YAML — local filesystem, Alfresco by node ID, or Alfresco by path. Migration service copies between stores.
Get in touch to discuss how Pleodox fits your organisation. No sales pitch — just a technical conversation.
daniel@pleosoft.comOn-premise deployment • Technical consultation • Custom integrations