Portal Community

Widgets vs. Forms

AspectForms CapabilityWidgets Capability
UI complexityData entry fieldsFull interactive UI (charts, maps, custom layouts)
Interaction modelForm fields + Submit buttonAny user action (click, select, drag-drop)
Output triggerSubmit/CancelAny configured interaction event
ExamplesExpense claim formMap pin selection, data table editor, approval dashboard

Widget Node Flow


[WidgetNode]
    │ Suspends; creates inbox task
    │ Passes widgetProps (workflow data) to widget
    │
Actor opens task → WidgetRenderer mounts widget
    │
User interacts with widget (clicks, selects, etc.)
    │
Widget fires interaction event
    │
WidgetRenderer calls: POST /api/executions/{id}/resume
{ action: "interaction", interactionData: { ... } }
    │
[WidgetNode resumes] — interactionData is node output
  

Platform Widgets Available

Widget IDPurpose
data-approval-widgetTabular data review with row-level approve/reject
map-location-pickerInteractive map for selecting a location
document-reviewerPDF/document viewer with annotation and decision capture
comparison-widgetSide-by-side data comparison with selection
kanban-boardDrag-and-drop card assignment
Custom widgets: Platform teams can register custom widgets by implementing IWidgetDefinition and providing a frontend bundle URL. See the Custom Widget page for the full implementation pattern.