Share This Post

MSD CRM Updates

CRM Phone Integration for Flexible Deployment

Dynamics CRM Phone Integration

CRM Phone Integration is sure to increase the efficiency of your CRM deployment. There are many automation options that are available with this type of integration.

For incoming calls, there are virtually endless options available to you. As with any project you’ll want to be sure to spend a sufficient amount of time exploring exactly what your users need in a CRM Phone Integration prior to building anything. Upon receiving a phone call, you may want to automatically open the Contact or Account record of the person calling. You may choose to automatically create a Phone Call Activity as well.
For outbound calls, there will likely be a custom button added to the ribbon that can automatically dial the phone for you.  You may have a Phone Call Activity automatically created here as well.
This type of functionality is quite common for CTI and if done properly can greatly increase the efficiency of your team.

Screen Pop

Frequently with a CRM Phone Integration, the user needs to be notified and provided information. One notification method is to create a screen pop when a call comes in or vice versa. A screen pop will contain information about the call that you are receiving. For example, you may want to see the phone number they are dialing from.  Below are the screen pop steps.

Screen Pop Steps

Sending Information to an Application

Different phone systems provide different values. From inbound calls, you would most likely get the phone number of the caller from the phone system.  You are able to query CRM using a query expression to determine if the caller exists in CRM. Usually the person who is calling is a contact so you would search against the contact home phone, business phone number or Mobile phone number. You can also search other entities such as Accounts, or even a custom entity if necessary.

Data Dipping

Data Dipping can be defined as the action of querying the data in Microsoft Dynamics CRM in order to find a corresponding Account or Contact (or any custom entity depending on the requirements) and is dependent upon the information coming from the phone system. Querying CRM to find a corresponding Account or Contact record will likely result in one of 3 scenarios:

Action Based on the Call

One of the benefits of using CRM Phone Integration is that we can set field values using parameters passed to a form. By this way we will get more information about the phone call and display it.

Screen Pop Detail

The screen pop should provide details about the call.  For example, it may include when the call was placed, who placed the call, if the caller-id exists, data about the contact, and verification of information with the caller.  This will save some time manually populating the data.  In addition, if you can get what number the caller dialed then there is the possibility to decide what the purpose of the call is based on the number dialed. With this information, you may be able to introduce further automation.
You can use a soap call in order to query additional data. However, you don’t want to query too much data that might slow the process of the pop or the data the shows up.


One of the features of the phone integration is the ability to “Click to Dial” from within CRM. The first part is to add a ribbon button on the form that will contain the click to dial code. The button will make a call to a link where the phone app has a “listener” available. Once we click the button the listener will place a call. Different phone systems can have different mechanisms of adding the IP listener but what this essentially does is give the capability to call an entity (such as a contact or any entity configured with a phone number) directly from CRM.

Web App vs. Windows App

There are two options to build the API for the phone integration, the Web App and The Windows App. There are several advantages for Windows App vs. Web App.
Windows App
The pros of using a windows app are that you can catch when the call was ended, without refreshing the page, and present some live information. Also, we can load some custom screens. It is also easier to create a log with a Windows App to facilitate troubleshooting.One drawback to a Windows App is that you will have to install the application on every computer. If designed correctly any updates can be automatically installed via “One Click Deployment”. One Click Deployment will automatically install any updates when the application is launched.
Another small drawback is that you must ensure that the PC has the appropriate Dll’s present in order to work with the API in each computer.

Web App

A Web App can work when the call is passed while not using the TSAPI Dll. One of the advantages of this approach is that you don’t need to install it on every computer.
It sits on the server. However we will probably have to configure the Phone API of our phone system (Avaya, Cisco ETC…).
The environment that will be tested is mainly against the server and all of the Dll’s will be hosted there. In this case the log file will sit on the server as well. Since the web will pop the moment the call was answered or rang,  the user will not be able to log when the call was ended automatically.

Cortana Integration

With the latest update of Microsoft Dynamics CRM, you now have the ability to integrate your system with Microsoft’s Cortana voice recognition system. The Cortana integration will now let you embed sales Activities, Accounts and Opportunities directly into Cortana.

Cortana integration

Cortana integration

Phone System Types

There are a wide array of available phone systems to consider. Cisco is an extremely popular option that offers a lot of customization and configuration options. There is also excellent documentation available on their website.  With Cisco and Astrix we will end up putting more effort into building the application that interacts with TAPI. Also, different types of Cisco versions/models support varying versions of TAPI. This will make the application more custom. Avaya has some great pre-built tools that should result in less programming and more designing the flow of the phone call and how it will operate. Lync also provides good documentation for writing code in C#.
To learn more about Lync SDK go here:

Share This Post

Leave a Reply

Notify of
Skip to toolbar