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 Teams group real directory groups into an org tree. A user in frontend-team resolves upward to team engineering, then expands down to see tasks assigned to frontend-team and backend-team.
org:
hierarchy:
company:
groups: [engineering, hr, finance, management]
permissions: [entity_admin]
engineering:
groups: [frontend-team, backend-team]
permissions: [task_view, task_create]
finance:
groups: [finance-team, finance-managers]
permissions: [task_view, task_create, case_view, case_create]
management:
groups: [directors]
permissions: [task_view, task_create, case_view, case_create]
BPM-driven tasks with a 4-tier permission model. Permissions resolve in strict priority — the first matching tier wins.
13 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 numbering, allowed processes, associated form, and participant team/role assignments.
id: fraud-investigation
displayName: Fraud Investigation
icon: bx-search-alt
numberPrefix: FRD
numberMode: auto
formId: fraud-investigation
allowedProcesses:
- contract-approval
participants:
- team: legal
role: collaborator
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. All defined in the participant-roles block of org-structure.yaml. Auto-discovered at startup.
Multi-source search across Alfresco CMIS and REST APIs. Configurable engines, filters, metadata display, tags, view modes, and per-result actions — all in a single YAML file.
id: unified
engines:
alfresco:
main:
url: http://localhost:8080/alfresco
queryTemplate: "SELECT * FROM {nodeType|cmis:document} WHERE {where}"
rest:
products:
url: "https://api.example.com/search?q={query}"
ui:
globalFilters:
- id: query
type: EMPTY
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
org-structure.yaml teams and rolescase-types/*.case.yaml
search-configs/*.search.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.
/pleodox:create-search-config
Generate federated search configs — define Alfresco CMIS and REST engines, filters, metadata lines, tags, and actions.
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 (including participant roles), entity schemas, case types, process forms, BPMN processes, and federated search configs. Each has a dedicated loader with consistent pattern: scan classpath + external path, register in a typed registry.
BPMN candidateGroups validated against org hierarchy Teams. 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