What are Reusable UI Templates?
Reusable UI Templates are self-contained UI component hierarchies that you design once and instantiate multiple times throughout your application. They solve common UI development challenges:- Repetitive styling: No more redoing component styles and properties for similar UI patterns
- Manual updates: Reduce the need to manually change components across multiple locations
- Template management: Centralized configuration and management of UI templates

Key benefits
Consistency
Efficiency
Maintainability
Omnichannel support
Template types
FlowX.AI supports two main types of reusable UI templates:- Dynamic Templates (with inputs)
- Static Templates (without inputs)
- Include input parameters that receive data from the process
- Support output parameters that send data back to the process
- Contextualized based on runtime data
- Ideal for forms and data-driven interfaces
Template structure
A reusable template consists of:- Root component: A single container (Card, Container, or Custom Component)
- UI hierarchy: Child components arranged in a hierarchical structure
- Event handlers: Interactive elements that can trigger process actions
- Data model: Input and output parameters for template configuration
- Configuration: Name, description, and resource metadata

Before you begin
Make sure you have:- Access to FlowX.AI Designer
- Appropriate permissions to create and manage reusable resources
- A clear understanding of the UI pattern you want to standardize
Create a reusable template
Access template management
- In FlowX.AI Designer, go to your project
- Navigate to Reusable Resources > Templates
- Click + New Reusable Template
Configure basic settings
-
Enter a descriptive name for your template (required)
- β
Good:
PersonalDetailsCard,User_Registration_Form - β Avoid:
Personal Details Card,user-form
- β
Good:

- Add an optional description explaining the templateβs purpose
- Choose your root component type:
- Card: Best for content needing visual separation and styling
- Container: Ideal for layout and grouping without visual styling
- Configure the data model with input and output parameters
Define the data model
- Set the root element (e.g.,
applicationUI) - Define field attributes with appropriate data types:
Configure input and output parameters
- Data that flows INTO the template from the process
- Example:
ssn(pre-filled from existing process data)
- Data that flows OUT of the template back to the process
- Example:
firstName_UI,lastName_UI,emailAddress_UI,phoneNumber_UI,dob_UI,gender_UI,consent_UI
Design the UI hierarchy
Configure event handlers (optional)
- Template-defined actions
- Form-centric actions
- Define event handlers within the reusable template
- Assign node actions when instantiated in User Tasks
- Use for standard actions like βSaveβ, βSubmitβ, or βCancelβ
Test your template
- Use Preview Mode to see how your template renders
- Verify component hierarchy and basic functionality
- Test with different themes and configurations
- Save your template when testing is successful
Use templates in User Tasks
To integrate reusable templates into your processes, follow this complete workflow:Prerequisites: Set up data models
Configure Project Data Model
- In your project, define the main entity (e.g.,
Application) - Add child objects that match your template structure (e.g.,
Client) - Include all fields from your templateβs data model:
firstName,lastName,emailAddressphoneNumber,dob,gender,consent,ssn
Configure Process Data Model
- Reference the project entity in your process
- Select
applicationas the root entity - Include
Clientas a child object - The data model will automatically populate with the correct entities
Add and configure templates
Add template to User Task
- Open the UI Designer for your User Task
- In the component panel, locate Reusable Templates
- Drag and drop your desired template into the UI hierarchy
- The template will appear with red warning icons indicating unmapped parameters
Map input parameters
- Select the template instance in the UI hierarchy
- Navigate to the template settings panel
- Click Define Parameters for Input Parameters
-
Map each input to process data using dynamic keys:
Example mapping:
Map output parameters
- Click Define Parameters for Output Parameters
- Select all fields that should return data to the process
-
Map each output to the corresponding process data structure:
Example mappings:
- Test the parameter mappings to ensure data flows correctly
Connect template actions to process
- Define process action: In Process Designer, create a node action (e.g.,
saveData) - Link to template: Return to UI Designer, select the action button within the template
- Configure the handler: In the Event Handlers section, add a handler with Node Action as the action type and select your node action
- FlowX.AI automatically fills in the action identifier and establishes the connection
Runtime behavior
At runtime, the process engine expands reusable templates by:- Replacing the
REUSABLE_TEMPLATEplaceholder with the actual component hierarchy - Maintaining proper parent-child relationships
- Ensuring unique identifiers for each instance
- Preserving configured event handlers and data bindings
Manage templates
View template usage
To see where a template is used:- Go to Reusable Resources > Templates
- Select your template
- Click the Usages tab
- Review all processes and User Tasks using the template
Update templates
When you modify a reusable template:- Changes automatically propagate to all instances
- Existing process instances may need to restart for updates
- Instance-specific configurations are preserved
- The system validates changes to prevent breaking existing implementations
Template dependencies
Reusable templates can reference these project resources:Enumerations
Enumerations
Media items
Media items
Themes
Themes
Event handlers in templates
Current capabilities
Event handlers in reusable templates support basic interactive functionality. The system handles:- Action context management: Unique identification for template instances
- Form submission: Automatic identification of form elements within template context
- Data mapping: Proper mapping of data keys to process variables
- Validation preservation: Template validation rules are maintained across instances
Planned scenarios
- Template-defined actions
- Form-centric actions
- Define an event handler within the reusable template
- Assign the node action when instantiated in a User Task
- Use for standard actions needing different backend connections
Troubleshooting
Template not displaying
Template not displaying
- Invalid template hierarchy
- Missing dependencies (enumerations, media, themes)
- Insufficient permissions
- Invalid component configurations
- Verify template structure in the designer
- Check all referenced resources exist
- Confirm user permissions for template access
- Validate component property settings
Event handlers not working
Event handlers not working
- Incorrect action context configuration
- Invalid form submission setup
- Data model compatibility issues
- Missing action permissions
- Verify action context is properly set
- Check form submission configuration
- Ensure data models match between template and process
- Review user permissions for action execution
Data binding issues
Data binding issues
- Invalid key mappings in template instances
- Mismatched process data model structure
- Data type incompatibilities
- Incorrect substitution tag usage
- Validate key mappings match expected data structure
- Check process data model compatibility
- Ensure data types align between components and data sources
- Review substitution tag configurations
Reusable UI Templates vs. Reusable Functions
Understanding the difference between these two reusable components is crucial:- Reusable UI Templates
- Reusable Functions
- Visual components and layout
- Styling and basic UI interactions
- Form structure and input patterns
Advanced features
Planned enhancements
Template nesting
Enhanced data model
Advanced testing
Cross-project sharing
Export and import
You can export and import reusable UI templates to transfer them between projects or environments.Exporting
- Navigate to Reusable Resources > UI Templates
- Open the context menu for the template you want to export
- Select Export
- The template is downloaded as a ZIP file
Importing
- Navigate to Reusable Resources > UI Templates
- Open the context menu and select Import
- Select the ZIP file exported from another project or environment
- If templates with the same identifiers already exist, a Review Resource Identifiers Conflicts modal appears
- Choose a strategy for each conflicting template (or use Apply to all):
- Keep both - imports the template as a new copy alongside the existing one
- Replace - overwrites the existing template with the imported version
- Skip this one - keeps the existing template unchanged
- Click Continue to complete the import

