Best practices and considerations for Unified customer/client profile design


Crafting an effective Unified customer/client profile solution requires careful planning and strategic implementation. This article explores the best practices and key considerations for designing a robust Unified customer/client profile. By following these guidelines, implementors can unlock the full potential of Microsoft Cloud for Financial Services and reduce the risk of errors and oversights during the design and development process, as it provides a clear set of guidelines to follow.

This article guides you with key considerations and best practices while configuring and extending Unified customer/client profile solutions.

Core design considerations

The Unified customer/client profile scenario in Microsoft Cloud for Financial Services provides financial institutions with a 360-degree perspective of their customers to enable a more engaged interaction and higher customer satisfaction. The solution has Summary, Financial Holdings, Connections tabs and Investment details for Unified client profile app. This section provides configuration considerations for each of these tabs.

Configuring customer summary

The Customer summary capability provides a holistic overview of the customer including their personal details, demographics, life moments, income, financial holdings, credit & debit cards and preferred channel of communication. Following are some items to consider while configuring customer summary components:

Customer snapshot

You can design Customer Snapshot view by configuring a quick view form and consider design details outlined here.

  • Life events

    You can configure the Life events component by considering the following aspects:

    • Life Events can be set up at the environment level to define the supported categories and types of events within the institution. Additionally, configuration at the app or form level allows for tailored control over the accessibility of specific personas and experiences across the organization.
    • The life event category fields Name and Value are used for identification in different capabilities offered by Microsoft Cloud for Financial Services, such as churn models. Therefore, you must not modify these fields or use them in custom values.
    • The Birthday life event is unique and derived from the corresponding field in the Contacts entity (birthdate). Therefore, you can't replace or modify it with a custom value.
    • You can show/hide specific categories using Hide life events categories control.
    • You can switch the capturing and management of financial goals on or off by Financial Goals control.
    • You can use "Life events configuration" table to define "New event indication period days" and "Focus indication period days" parameters to display warnings accordingly.
    • You can use "Life event type config" table to change type display order and "Life event category config" table to change category display order and icon. These configurations tables are not-solution aware, therefore you should use configuration migration tool / XRM Toolbox community tool to promote these configurations between environments.
  • Financial holdings summary

    • Financial holding type can be added. You can map which type belongs to which category.
    • Financial holding category or type can be renamed.
    • Financial holding category and type can be hidden on app-level configuration.
    • You can hide the indicators appearing in the Financial holdings summary
  • Main households

    If you hide a specific category at the app level, the Household summary control indicates that some of the holdings might be hidden from view.

  • Cards

    • The Active, Expires soon, and Expired statuses can either be directly assigned to each card by the financial institution or calculated. For example, Expires soon can be triggered 60 days before the expiration date, and after the expiration date the status changes to Expired.
    • Card stolen and Card lost statuses need to be synchronized from a master system of record.

Configuring Financial holdings and investment details

Financial holdings provide a detailed overview of financial holdings of the respective customer. Following are some items to consider while configuring financial holdings components:

  • Financial holdings in Unified customer/client profile

    • You can't add financial holding categories but you can change existing Financial holding category or you can map an extra financial product, like a specific type of loan, to an existing type.
    • You can add, delete, or rename financial holding roles. However, Owner, Joint owner and Card holder roles directly affect calculations and rendering while all other new or existing roles are associated holdings and aren’t considered when calculating a client’s assets and liabilities.
    • The monetary values in financial holdings are using the organization’s default currency. A holding in a different currency than the default currency must be loaded correctly into the respective financial holdings table in the data model. Display balance fields have to be explicitly loaded, while the “XXX balance (base)” fields are being calculated based on the entries in the Currency table. The setup of the Currency table also determines how Currencies are being displayed in the system (for example, Currency Name vs. ISO 4217 code).
    • Removing a financial holdings category and all its instruments from the data model also removes the category from both the Summary and the Extended financial holdings tabs.
    • Card number field (msfsi_fi_card.msfsi_cardnumber) should be masked prior to migrate / integrate data to data model.
    • Components such as Cards, Financial holdings, and Connections display only financial holdings with an Active status.
    • You can add, delete, or rename financial holding roles depending on your requirements. New added roles are categorized as associated holdings, and they appear in appropriate locations on the detailed Financial Holdings view. Associated holdings aren’t considered when calculating a client’s assets and liabilities.
    • In the case where you remove the Lines of credit category, the Cards component carousel shows an empty state, but isn't hidden.
    • The app must display at least one financial holding category.
    • Financial holdings present assets that the customers own and other holdings that are associated with the customer (that is, beneficiary)

Configuring connections

You can create new groups, select members and newly created groups show up on the Groups section and on the summarized Financial Strength controls

Extending Unified customer/client profile

Due to recent updates in the packaging model of Microsoft Cloud for Financial Services, specific solution components of the Unified customer profile for Retail Banking and Unified client profile for Wealth Management are made available as open-source on GitHub, providing enhanced flexibility for our customers and partners to extend first-party components such as PCF controls, plugins and web resources with customization.

If the functional requirements can't be met with the configure-first and low-code approach, you can extend the open-source project by setting up your development environment, importing and extending the open-sourced project and packaging it for deployment.

This section walks you through some common extension scenarios and provides you design considerations and recommendations for each scenario.

Data model extension

  • Managed solution: The Microsoft Cloud for Financial Services data model is installed as a managed solution. For future compatibility and to avoid solution segmentation issues, we recommend the following measures:

    • Creating new data elements when you need to change existing managed data elements.
    • Adding only solution components that are new or changed. You shouldn't select Include all objects while adding an existing table to your custom solution.
  • New data elements: You can add new columns to existing tables and create new tables to extend the data model. You should consider not to change existing columns’ data types, but you can still add new options to existing choices such as life event types, life event categories, financial instrument type, and financial holding categories, or increase the length of text fields. You can access data model details from here.

  • Polymorphic relationships: The industry data model includes polymorphic relationships, such as those found in the Groups table, which involve several lookups. Currently, there are no constraints in place to restrict you from extending these polymorphic relationships. However, it’s important to note that such extensions can affect the ability to upgrade and might not be reflected in the existing components (such as Financial holdings), and aren't advisable.

  • Integration key: Use the integration key field in the tables for traceability and mapping to master systems.

  • Reference tables: reference data is data used to classify or categorize other data. Typically, they're static or slowly changing over time.

User interface extension

Financial institutions might need to extend the Unified customer/client profile solution user interface to support scenarios like;

  • extending user interface with new data elements and visuals such as next best action items
  • retrieving some data elements real-time from system of records such as current limit
  • showing alerts to notice or call for action for the selected customer such as missing documents, incorrect address or due payment warnings.

These user interface extensions can be developed using the configuration and customization capabilities of PowerApps detailed in the following sections.

  • Configuration extensions

PowerApps enables the configuration of model-driven app extensions for forms, views, and sitemaps. For any changes to existing forms and views, consider not to change them directly. Consider creating a clone of the existing form or view and make the desired changes to the newly created clone to de-risk solution segmentation issues.

  • Customization extensions

PowerApps comes with various ways for user interface customization by creating web resources(html/JS), custom pages and code components using Power Apps Component Framework. The following table compiles key considerations and scenarios to pick the right option for extension.

Extension Option Description Advantages Considerations Use-When
Web Resource Embedding external web content (HTML, JavaScript, CSS) within the app using iFrames. 1. Allows integration with external services and content.
2. Flexibility in UI design.
- Ensure secure and responsive, accessible web resources. – Assess cross-origin restrictions.

Refer to best practices shared
When you need to integrate external web content or have complex UI requirements.
Custom Pages Creating custom pages within the app with a custom layout and logic. 1. Full control over the page layout and functionality.
2. Can create custom navigation within the app.
- Requires development expertise in Canvas Apps. - Plan for user-friendly navigation within the app.

Refer to considerations
When you need a highly customized user interface and user experience.
Code Components (Power Apps Component Framework) Developing custom controls using TypeScript and the PowerApps Control Framework. 1. Reusable components with tailored functionality.
2. Seamless integration into the model-driven app.
- Familiarity with TypeScript and PCF. - Test thoroughly for compatibility and performance.

Refer to best practices shared
When you need custom controls that can be reused across the app for specific data manipulation or user interaction.

In general, use of Power Apps component framework and custom pages is encouraged to build configurable, reusable and more tighter external integrations. More information: iFrame component

Following are some scenarios where customization is required:

Scenario: Real-time data or sensitive data access needs

Based on your business requirements for the Unified customer profile view, the following situations might arise when presenting the data elements:

  • Some of the data elements might necessitate real-time integration with core systems.
  • In some cases, accessing sensitive information can be restricted when accessing over the public cloud (where Power Platform runs).

In both these scenarios, reading data from the Dataverse data model might not address the need.

For this type of a data persistency scenario, PCF controls or custom pages should be considered as an option for user interface extension. This approach is also beneficial for users connected via domain-joint devices and corporate networks, as it allows integration with Enterprise APIs without exposing them to the public cloud. Additionally, it eliminates the need to duplicate data to the Microsoft Cloud for Financial Services data model.

However, choosing not to copy data to the data model limits the use of certain built-in controls. To address this limitation, a hybrid approach can be considered, where real-time access is achieved through PCF controls while data synchronization procedures still replicate data to the data model for other scenarios.

Scenario: Alerts and notifications

Alerts and notifications serve as an excellent method to gather essential information for the user while they swiftly navigate through the customer 360 view. There are built-in indicators in the financial holdings view and you can add different kinds of alerts and notifications based on the triggers as follows:

  • On-demand: Real-time status checks and alerts to present such as declined transactions.
  • Event-based notification: Notifications that generated based-on specific events such as life events and financial events (past-due payments)
  • Time-triggered notification: Notifications scheduled to display at a given time or starting to display X days prior or after a certain date such as payment due.
  • Propagated notification: Notifications that are calculated at some other systems that need to be imported to present such as document missing.

These alerts can be developed using Power Automate and you can use the in-app notifications features of model-driven apps to display them to app users.

Analytics extension

You can extend the analytics by creating custom Dynamics 365 dashboards, charts and Power BI embedded dashboards.

You can find further detail guidance on how to extend analytics capabilities within the Analytics Data Estate article.

Collaboration extension

The Collaboration controls (preview) help you to build custom collaborative experiences that can be surfaced right in Teams.

Screenshot shows the Collaboration lifecycle.

These controls enable applying Microsoft 365 and Microsoft Teams for Approvals, Files, Meetings, Notes, and Tasks to enable contextual collaboration around business processes.

Next step