Web Analytics
Skip to main content

Andosi - Blog

Where we discuss The Art of Great System Design

Differences and Limitations of Channel Integration Framework and Side Panes in Dynamics 365

Hamza Siddiqui

09 February 2023

Model-driven apps offer a wide range of features and tools to help users streamline their workflows and access important information. Two such features are the channel integration framework and side panes, if you are looking to integrate a communication (telephony/chat) channel. In this blog, we will explore the differences between these two features, as well as the limitations they may have when used in model-driven apps.

What is a Channel Integration Framework?

Channel integration framework allow users to integrate different communication channels, such as email, social media, and chat, into their model-driven apps. This allows users to interact with their apps through multiple channels, making it more convenient and accessible for them. For example, Dynamics 365 allows users to integrate email and chat channels to communicate with their customers and team members directly from within the model driven app.

It provides users with an app, in which users can define the following attributes to integrate their channels:

  1. Channel URL
  2. Roles, to which this channel would be visible
  3. Apps, to which this channel would be applicable

Channel Integration Framework 1.0

Channel integration framework 1.0 (CIF) was the first attempt to allow in-app, single-session channel integration. It allowed users to integrate third-party channels or custom channels of their own into both, out of the box apps by Microsoft, such as Field-Service hub, Customer Service, Project Service and Sales Hub. Moreover, it allows to add channels to your custom model driven apps as well.

Note: It is no longer a recommended method as its functionality is replaced by side panes, which we will discuss further in the blog.

Channel Integration Framework 2.0

Channel integration framework 2.0 (CIF 2.0) allows users to integrate communication channels’ integration with multi-session apps, such as Omni Channel for Customer Service and Customer Service Workplace. It further adds the capability to use cross-channel analytics, which enables you to monitor real-time contact centre performance, analyse agents’ behaviour and communication data and it’s correlation with other channels’ data, and other analytical capabilities.

Read more about Channel Integration Framework 2.0 and Channel Analytics in CIF 2.0.

Note: Although CIF 2.0 provides better integration capabilities and analytics, but it can only be used with multi-session apps and not with single session apps, such as sales-hub, for which you might need to opt for side panes.

You can find further information on differences between CIF 1.0 and CIF 2.0 in Microsoft’s documentation.

What are Side Panes?

Microsoft made side-panes generally available in March of 2022, which allows users to open multiple side panes using Xrm.App.sidePanes client API. CIF 1.0 also used to open a side pane for the channel you configured for a specific app, but you could not open more than one instance of the same channel. It allows you to instantiate multiple side panes, using different pane ids, of the same channel, web resource, views, forms and even another power app, without navigating  away from you main app or losing the context of what you have been working on.

Although, Dynamics 365 Channel Integration Framework (CIF) 1.0 also opens a similar window like side pane to the side of the screen and can be used to build custom integrations, but they are not as robust as CIF 1.0 and technically, not a complete replacement of CIF 1.0, which allowed to integrate with various channels such as e-commerce platforms, marketplaces, and point-of-sale systems in a configurable fashion from a separate app provided for configuration as shown above. However, CIF 1.0 is obsolete now and replaced by CIF 2.0, which has more enhanced, but different set of capabilities.

Following is a sample code snippet that can be used to open side panes using client API and the side pane it will open when the code executes:

Code Snippet

 

function openSidePane() {

  Xrm.App.sidePanes.createPane({

              title: 'Accounts',

              imageSrc: 'WebResources/sample_reservation_icon',

              paneId: 'Accounts',

              canClose: true,

}).then((pane) => {

pane.navigate({

pageType: 'entitylist',

entityName: 'account',

                            })

})

}

pageType attribute will be different for opening  different type of components in the side pane. For instance, for opening a view, ‘entitylist’ is used in the above example. If we need to open a custom page or a web resource, we will use ‘custom’ and ‘webresource’ respectively.

Expanded/Opened Side Pane

Limitations of Channel Integration Framework:

Integration of Social Media Channels

Not all social media channels are supported out-of-the-box by the Dynamics 365 Channel Integration Framework. The framework primarily supports popular social media platforms such as Facebook, Twitter, and LinkedIn. Viber and WhatsApp are not supported natively, but you can use 3rd party connectors or develop your custom connectors to integrate it. These connectors can be used to connect to these channels and retrieve or post information as needed. However, there may be limitations to what can be done with these channels and the functionality may not be as robust as with the supported platforms.

Authentication and Authorization

CIF 1.0 is obsolete after announcement of CIF 2.0 and side panes. If you still choose to go with it, you might fall prey to its design, which is opening an iframe to open a embedded channel window in model driven apps.

As per the industry’s latest security standards, it is not recommended to allow any website to be opened in an iFrame, which opens the door to Clickjacking, a very well known exploit. Following the same, Azure AD SSO, Google SSO or any well known authentication systems have X-Frame-Options set to DENY. This will restrict the page load, with the following error.

Refused to display 'https://login.microsoftonline.com/' in a frame because it set 'X-Frame-Options' to 'deny'

If you are integrating your own custom channel and you are allowing your app to be opened in an embedded iFrame, you can work around the sign in problem. You can open Microsoft or Google sign-in screen, in a separate pop-up window. Once you are authorized, you can continue to use your embedded custom channel.

Limitations of Side Panes:

Xrm.App.sidePanes client API is not supported on Dynamics 365 mobile app. So, during design phase, it needs to evaluated, whether the customer will need to access the functionality on mobile app. If the answer is yes, side panes are not an option to consider.

Side panes can take up a significant portion of the screen and may make the screen look cluttered, if you have a lot of components on a form. For example, having side panes, timeline, assistant and fields, all on the same form can make it difficult to find relevant information immediately.

Also, if too many side panes open at once, it can be challenging to find the information or ‘call to action’.

Support on Dynamics 365 mobile app:

It's important to note that both channel integration framework and side panes are not fully supported on Dynamics 365 mobile app. The mobile app is designed to provide a simplified and streamlined user experience, whereas the web version provides more functionality. When planning to integrate communication channels or use side panes, it is recommended to consider the specific use cases and user needs of your mobile app, and evaluate if the integration of certain channels or use of side panes is necessary or beneficial for your mobile app users.

Conclusion:

While both channel integration framework and side panes can add value to a model-driven app, they each have their own set of limitations. It's important to carefully consider the needs and goals of your app before deciding which of these features to use. Additionally, it is recommended to keep user experience in mind while developing these features to ensure they are easy to use and understand. Additionally, it is important to keep in mind that these features may not be fully supported on the Dynamics 365 mobile app and their usage should be evaluated based on specific use cases and user needs.

In conclusion, while channel integration framework and side panes can be powerful tools for model-driven apps such as Dynamics 365, it is important to understand their limitations and evaluate their usefulness based on specific use cases and user needs. Whether you are looking to integrate communication channels or provide additional functionality within your app, it is important to carefully consider the user experience before implementing these features.

More Blog Posts


Easily Generate PDF Documents in Dynamics 365 Sales

Sara Airgood
Now it is easier than ever to generate a PDF document of a quote, invoice or other records in Dynamics 365 Sales using Export to PDF. In this article we will walk through how to Export to PDF and the options available through Export to PDF.

Best Management Practices for Dynamics

Mark Johnston
This series will focus on using best practices to improve your company’s use of the Microsoft Power Platform, including Dynamics 365 Customer Experience (formerly CRM). Some organizations start their journey with Microsoft Power Platform, or othe...