What is a project data model?


Key concepts
- Data Model Types
- Data Types & Attributes

Benefits of project data model
Consistency
Reusability
Efficiency
Maintainability
Standardization
How to use the project data model
Access the project data model
Open FlowX.AI Designer
Navigate to your project
Select Data Model

Define a project data model
Add a new data type

Name the data type
Add attributes
- Attribute name and type (string, number, boolean, object, array, enum)
- Validations, sensitive data, and reporting settings
- Example values for data mapping

Manage data types
Add a data type
- Click + in the Data Types panel.
- Enter the name and properties of the data type.
- Use the inline Add attribute button on the data type to add attributes.
- Save changes.
Edit a data type
Select the data type
Select an attribute
Edit the attribute
Attribute path
Each attribute displays a path button next to its name. Click it to view the full key path and copy it to your clipboard. This is useful when referencing keys in business rules, UI component bindings, or integration mappings.Remove a data type
Select the data type

Click remove
Confirm deletion
Working with referenced data types
When a data type from the Project Data Model is used in a Process Data Model:- The Process Data Model will display the referenced data type.
- The referenced data type cannot be modified at the process level.
- Changes to the data type in the Project Data Model will propagate to all referencing processes.
Common scenarios
- Edit a Key
- Remove a Key
- Change Type
Access PDM
Make changes
Propagation
Updates
Use the Project Data Model in processes
- Navigate to a process within your project.
- Open the Process Data Model.
- Project data types are available for selection.
- Select the desired project data type to use in your process.
- The data type is added to your Process Data Model, maintaining reference to the Project Data Model.
Work with libraries

Integrate Library Data Models
- Navigate to your project dependencies.
- Add a library as a dependency. The library must have a build created.

- Library data types become available in your Project Data Model.
- You can now use the library data types in your data model.

Handle duplicate types from libraries
When multiple libraries contain data types with the same name:- Both types will be visible in the Project Data Model with visual indicators.
- Namespacing functionality will prevent technical issues.

Configure reporting and sensitive data settings
You can configure reporting and sensitive data settings directly from the attribute settings side panel:- Go to the Project Data Model.
- Select an attribute to open the settings side panel.
- Toggle Sensitive data or Use in Reporting as needed.

Project Data Model after version commitment
After committing a project version:- The Project Data Model becomes read-only.
- You can still view the diagram and monitor usage.
- This read-only configuration is available for any configuration on committed versions and applies also to resource data models.

- To make changes to the data model, you will require a new project version.

Search and filter
The Project Data Model interface provides tools to help you find and work with your data types:- Navigate to the Project Data Model.
- By default, only project-level types are displayed.
- Use filters to view library types as well.
- Use the search function to find specific types by name.
Update library dependencies
When updating library dependencies:- Navigate to the dependencies section.
- Select the new library version.
- The system will inform you of any breaking changes to data types.
- You can decide whether to proceed with the update.
- If you proceed, changes will propagate to processes according to compatibility rules.
Real-world example: Insurance claims processing
Core data types in PDM
Core data types in PDM

-
Customer
customerId: stringfirstName: stringlastName: stringdateOfBirth: datecontactInformation: ContactInfo (reference)policyNumbers: array of stringcustomerSince: dateriskProfile: RiskProfile (reference)- Settings: Sensitive data = True, Used in reporting = True
-
ContactInfo
email: stringphone: stringaddress: Address (reference)- Settings: Sensitive data = True, Used in reporting = False
-
Claim
claimId: stringpolicyNumber: string (reference to Policy)claimType: enum [âAutoâ, âPropertyâ, âMedicalâ, âLiabilityâ]incidentDate: datereportedDate: datestatus: enum [âNewâ, âUnder Reviewâ, âPending Documentsâ, âApprovedâ, âDeniedâ, âClosedâ]estimatedAmount: numberapprovedAmount: numberdocuments: array of Document (reference)- Settings: Sensitive data = False, Used in reporting = True
-
Document
documentId: stringdocumentType: stringfileName: stringfileUrl: stringuploadDate: date- Settings: Sensitive data = False, Used in reporting = False
Process-specific data models
Process-specific data models
- Auto Claim Processing
- Policy Renewal Process

-
ClaimProcess (Process-specific type)
claim: Claim (reference from PDM)assignedAdjuster: stringvehicleInfo: AutoClaimDetails (reference)processingStage: enum [âInitial Reviewâ, âDamage Assessmentâ, âLiability Determinationâ, âSettlement Negotiationâ, âPayment Processingâ]
-
AutoClaimDetails (Process-specific type)
vehicleMake: stringvehicleModel: stringvehicleYear: numbervin: stringaccidentLocation: Address (reference from PDM)damageDescription: string
Example use cases
Example use cases
- Add an attribute
- Remove a field
- Library integration
- A configurator adds a new attribute
loyaltyTierto the Customer data type in the PDM. - This attribute is an enum [âBronzeâ, âSilverâ, âGoldâ, âPlatinumâ].
- The new attribute automatically propagates to all processes using the Customer data type.
- The Policy Renewal Process now has access to the customerâs loyalty tier without any process-level changes.
Benefits demonstrated
Benefits demonstrated
- Ensures data consistency: Core entities like Customer and Policy maintain consistent structures across all processes and resources.
- Promotes reusability: Common data types are defined once and reused in in multiple processes, business rules, and other resources.
- Simplifies changes: Updates to data types are propagated automatically to all processes.
- Enforces governance: Sensitive data is marked at the project level for consistent handling.
- Allows flexibility: Process-specific data can extend the PDM while maintaining core data integrity.
Export and import
You can export and import project data types to transfer them between projects or environments.Exporting
To export project data types:- Open the context menu on the Project Data Model page
- Select Export
- The data types are downloaded as a ZIP file
Importing
To import project data types:- Open the context menu on the Project Data Model page
- Select Import
- Select the ZIP file exported from another project or environment
- If data types with the same identifiers already exist, a Review Resource Identifiers Conflicts modal appears
- Choose a strategy for each conflicting data type (or use Apply to all):
- Keep both - imports the data type as a new copy alongside the existing one
- Replace - overwrites the existing data type with the imported version
- Skip this one - keeps the existing data type unchanged
- Click Continue to complete the import
Best practices
Limitations
Troubleshooting
Cannot modify a referenced data type in process
Cannot modify a referenced data type in process
Problem
Solution
- Navigate to the Project Data Model
- Locate and edit the data type
- Save changes
- The changes will propagate to all processes
Cannot delete a data type that is in use
Cannot delete a data type that is in use
Problem
Solution
- Remove all references to the data type first
- Create a new version of your project to make the change
References broken after type change
References broken after type change
Problem
Solution
- Check the warning message that lists affected processes
- Open each process
- Update UI templates or other components that referenced the changed attribute
Library update warning about breaking changes
Library update warning about breaking changes
Problem
Solution
- Check which data types are affected
- Review how these types are used in your processes
- Decide whether to proceed with the update or maintain the current version







