Channel Integration Framework (I)

So for starters, the title is somewhat of a mouthful, right? Try saying ‘Channel Integration Framework’ several times fast, and you’ll end up with some VERY interesting sounding words. Thankfully, people and organisations working with it usually shorten it to ‘CIF’. So that’s what I’m going to do as well (which will also hopefully prevent any RSI whilst I’m typing this all out).

The definition of CIF according to Microsoft is:

The Dynamics 365 Channel Integration Framework is a cloud-to-cloud extensible framework to integrate third-party channel providers with Dynamics 365 model-driven app using a browser-based JavaScript API library.

Now, for the technically minded (isn’t that all of us?), CIF is a set of API’s (methods, events & protocols) that enable developers to build their own solutions, and integrate them with Dynamics 365.
Examples of these would be a communication widget that’s running on a 3rd party provider cloud system, but that can surface and interact with Dynamics 365.

There are multiple partners out there who are doing this, such as Solgari. The immediate benefits of this is that additional functionality can be provided for customers that Microsoft hasn’t built into the system (yet!). An example of one of the functionalities provided by Solgari is the ability to dial a number directly from the Contact record (telephony):

Before CIF was available, it was usually an immense headache to integrate a 3rd party application solution into the system. It could be done of course, but was something that you had to be REALLY dedicated to doing, with all of the time, efforts and costs that it would involve.

With it being launched, many people breathed a massive sigh of relief, and then started to look around for partners who had solutions that supported it. There are now several Microsoft partners who offer solutions that integrate with CIF, and through this extend the functionality.

The CIF framework offered the following benefits:

  • It provides an extensible framework to integrate third-party cloud-based channel providers or channel aggregators with Dynamics 365 model-driven app (not Canvas)
  • It’s channel agnostic. Ie channels such as voice, video, chat, co-browse etc can be built as long as there’s a Javascript-based widget available
  • It’s not just a single direction flow of data; it allows two way communication. This therefore allows both inbound and outbound data
  • It exposes Javascript API’s (note the item above about it being a Javascript based widget)
  • Deployment is easy (well, as easy as any deployment can be!). Deployment is also the same across all apps/widgets – it follows a standard process
  • Plug & Play! It’s now very easy to have multiple different providers integrated, rather than being limited to a single provider
  • Dynamics 365 model driven app agnostic – once the channel has been built and deployed, you can then enable it on the model-driven app that you’re wanting to use it with, based on business requirements
  • Not reliant on operating system or web browser – it’s not reliant on a specific hardware/OS/browser configuration (obviously the browser needs to have the appropriate Javascript security settings enabled, or else it won’t work)
  • Screen pop! Popouts are available to display customer information that can help agents with their customer conversations and service.

The architecture behind CIF is as follows:

High-level architecture diagram of Dynamics 365 Channel Integration Framework
  1. The Dynamics 365 environment is where the CIF app is present to create and manage the required configurations
  2. The single-session Dynamics 365 model-driven app exposes the CIF panel to host the 3rd party widget
  3. The CIF Adapter enables the communication between a single-session model-driven app and the channel provider solution
  4. The web-based communication channel (2rd party) is hosted in the widget that the CIF provides. This is multi-purpose; it’s possible to host chat, email, or telephony channels of your choice
  5. The Channel Provider is the service that you want to integrate and interact with using the CIF. Channel capabilities are specific to the channel provider (ie a 3rd party solution that only supports chat won’t be able to support telephony etc!)

So essentially by using 3rd party solutions that integrate with CIF, it’s possible to have customer service offerings covering things like:

  • Telephony
  • SMS
  • Chat
  • Social media

This is really great, and is really the starting point for taking customer service to the next level. Companies want to be able to easily and quickly support their customers across all possible channels, as forcing them into using a specific channel doesn’t always work well, and can in fact be counter-productive.

Now, all of the above is of course amazing, and really great. The MAIN drawback is that this was CIF 1.0…..and it’s not possible to load a CIF 1.0 widget into Omnichannel! Aarghhh!!! It’s only possible to use 1.0 widgets with model-driven apps, which Omnichannel is not (more on that another time). So it’s possible to have chat or telephony integrating with Accounts, Contacts etc.

However, don’t despair yet. Microsoft has released CIF 2.0, which DOES integrate with Omnichannel. So stick around, and I’ll be putting up a post around how that works (I know – such a teaser!).

7 thoughts on “Channel Integration Framework (I)

  1. that’s very informative. I would also like to know, if we can customize the agent’s experience when the third party widget/frame which opens at extreme right side is in minimizedmode. Can we add some logo and buttons when minimized .

    1. Hi Swapnil. Could you possibly provide some more information around your scenario, as it sounds quite cool. Would love to see if I could help you discover about it!

Leave a Reply