composer
Capability blocks
Workflow, Actions, Approvals, Checklist, Comments, Attachments, Signatures, Reviews — the reusable "chunks of behaviour" that compose a module.
10 min read · 3 sections
Why capabilities and not just fields?
Capabilities are behaviour, not data. A field stores a value. A capability attaches reusable UI + logic — e.g. adding the Approvals capability gives you a reviewer queue, SLA timer, reassign flow, and audit trail, without you composing them field-by-field.
Built-in capabilities
| Capability | What it adds |
|---|---|
| Workflow | State machine + transitions + guards + transition buttons. |
| Approvals | Reviewer assignment, SLA, reassign, approve/reject with reason. |
| Actions (CAPA) | Corrective/preventive action subrecords linked back to parent. |
| Checklist | Ordered list of items with pass/fail/na + remediation loop. |
| Comments | Threaded comments with @-mentions and email notifications. |
| Attachments | File/photo uploads with AV scan + thumbnail generation. |
| Signatures | Multiple signers with role-specific signing order. |
| Reviews | Periodic re-review cadence (annual/quarterly) with automated assignment. |
| Notifications | Email + in-app push on specific events (state change, @-mention, SLA warn). |
| Reminders | Scheduled reminders tied to due dates or workflow ages. |
Adding a capability
- Open the Composer for your module.
- Click "Add capability" in the toolbar.
- Pick from the catalogue. Each capability has its own mini-editor.
- Configure — e.g. for Approvals: required roles, SLA hours, reassign policy.
- Preview — the form rebuilds with the new capability rendered in situ.
- Publish. Existing records gain access to the new capability; historical state is preserved.