Conigma Connect
UI Rendering
Overview
Interactive UI Rendering lets you build rich user interfaces for your interactive flows. You can display custom UIs while a flow is running (e.g. progress dashboards, live data) or after a flow completes (e.g. result summaries, reports, action buttons that chain into other flows).
You define the UI as a component tree in JSON. Each component has a component type (e.g. "stack", "label", "card") and a set of properties that control its appearance and behavior. At runtime, Connect renders these components using the Fluent UI Blazor component library, giving your output a consistent, modern look and feel.
Defining a Component Tree
The UI is defined as a JSON tree. Every node in the tree is a component identified by a component property (the type discriminator). Components can be nested — containers like stack and card accept children.
Example
Rendering...
This produces a vertical layout with a header label, a horizontal divider, and a card containing a body text label.
Data Binding and Interaction
Components are not just for display — some can collect data and validate user input:
Data-providing components (DataGrid, JsonSchemaForm) collect user input such as selected rows or form values. You assign them a unique
idso that buttons can reference them.Action components (LinkButton, FlowStartButton) can bind to data-providing components to gather their data when clicked. They can also validate those components before performing their action, showing a warning if validation fails.
Container components (Stack, Card) automatically aggregate data and validation from all their children.
This enables powerful patterns like: a form + a "Submit" button that validates the form and starts another flow with the form data as input.
Available Components
Component | Type Discriminator | Based on | Description |
|---|---|---|---|
| Layout container that arranges children horizontally or vertically | ||
| Text display with typography, color, and alignment options | ||
| Styled container with optional minimal appearance | ||
| Horizontal or vertical visual separator | ||
| Icon with configurable variant, size, and color | ||
| Data table with sorting, filtering, pagination, and row selection | ||
| JSON Schema Form | Auto-generated form from a JSON Schema definition | |
| Button that opens a URL, with optional data-driven placeholders | ||
| Button that starts another flow with configurable start mode |
Common Properties
Every component supports the following base properties:
Property | Type | Required | Default | Description |
|---|---|---|---|---|
|
| ✅ Yes | — | The component type (see table above) |
|
| No |
| Inline CSS style applied to the rendered element (e.g. |
|
| No |
| Unique identifier used for data binding and validation |
Important: The
idproperty is required when a component needs to provide data to a button. For example, a DataGrid must have anidso that a FlowStartButton can bind to its selected rows. Without anid, the component cannot participate in data binding.
Visual Editor
Connect includes a built-in visual editor for designing and previewing interactive UI output templates. The editor has two panels:
JSON editor (left) — Write or paste the JSON component tree. Syntax highlighting and validation are provided.
Live preview (right) — The component tree is rendered in real time as you edit the JSON.
The editor runs in preview mode: clicking a FlowStartButton shows an informational toast with the flow details instead of actually starting a flow, so you can safely test your UI without side effects.
Predefined Templates
The visual editor offers ready-made templates to help you get started. Select a template to load its JSON into the editor and see the result instantly.
Template | Description |
|---|---|
Label | Simple label with header typography and accent color |
Stack | Vertical stack with multiple label items |
Card | Card with title, divider, and content |
Divider | Horizontal divider between two sections |
Icon | Row of icons in different colors (success, warning, error, info) |
LinkButton | Button that opens an external URL |
FlowStartButton | Button configured to start a flow |
DataGrid | Data grid with sortable columns and pagination |
JsonSchemaForm | Auto-generated contact form from a JSON Schema |
Layout Showcase | Complex dashboard with nested stacks, cards, icons, and link buttons |
DataGrid Showcase | Feature-rich data grid with filtering, selection, and pagination |
Form Showcase | Form with data binding to a flow start button |
FlowStartButton Showcase | Multiple flow start buttons with different start modes |
Display Settings
You can customize the appearance of the interactive flow run page to tailor the end-user experience.
Flow-Level Settings
These are configured in the flow's interactive settings:
Setting | Default | Description |
|---|---|---|
Hide Flow Title | Off | Hides the flow title, flow ID, and checkpoint ID at the top of the page |
Hide Navigation Bar | Off | Hides the application navigation sidebar, giving the output full-width space |
Hide Status Card | Off | Hides the execution status card (progress ring, elapsed time, Rerun / New Inputs buttons) |
Query Parameter Overrides
Display settings can be overridden on a per-link basis using URL query parameters. When set, these take precedence over the flow-level settings.
Query Parameter | Values | Description |
|---|---|---|
|
| Override the flow title visibility |
|
| Override the navigation bar visibility |
|
| Override the status card visibility |
Example:
Rendering...
This is useful for embedding interactive flow outputs in iframes, kiosk displays, or external portals where the Connect navigation is not needed.
Shared Value Types
Several components share common value types for alignment, color, and orientation. These are listed here for reference and linked from individual component pages.
Orientation
Value | Description |
|---|---|
| Arrange items side by side |
| Arrange items top to bottom |
HorizontalAlignment
Value | Description |
|---|---|
| Align to the left |
| Align to the start (locale-aware) |
| Center-align |
| Align to the right |
| Align to the end (locale-aware) |
| Stretch to fill the available space |
| Distribute items evenly with space between them |
VerticalAlignment
Value | Description |
|---|---|
| Align to the top |
| Center-align |
| Align to the bottom |
| Stretch to fill the available space |
| Distribute items evenly with space between them |
Color
Value | Usage |
|---|---|
| Default / neutral tone |
| Primary accent color |
| Warnings (yellow / orange) |
| Informational messages (blue) |
| Errors (red) |
| Success indicators (green) |
| Filled background |
| Inverted fill |
| Subtle / lightweight tone |
| Muted / disabled appearance |
| Custom CSS color — use the |
Further Reading
Fluent UI Blazor Components — The component library that powers the rendered output
Fluent UI Icon Search — Browse available icon names for the Icon component
JSON Schema Specification — Reference for defining JsonSchemaForm schemas