Security Roles

Once PowerCTI is imported you will notice a new security role in your system named, PowerCTI User. This security role will need to be applied to each CRM user that you would like to have access to the solution.

Configuring PowerCTI

This guide will walk you through how to configure and use the PowerCTI add-on for Microsoft Dynamics CRM. Before you start using PowerCTI, please make sure the solution is imported into the CRM system and that the PowerCTI agent is installed on each machine you would like to use PowerCTI on. For instructions on how to import PowerCTI into your CRM system, please see the PowerCTI import guide.

Setup tab

To configure PowerCTI navigate to the ‘Setup’ tab to define which entities you would like the PowerCTI solution to search for when there is an incoming call. This could be accounts, contacts, leads, cases, or any other custom entities that will provide useful results to your end users. Out of the box we have configured PowerCTI with the most common entities, but you are free to change or remove these settings.

To add an entity to the setup, simply select the ‘+ Add Entity’ button in the upper left corner. To view or delete an entity from the list select the dropdown. The ‘x’ next to each entity will delete the entity and its configuration.

Grid Mapping

Under the Grid Mapping section you can define what information you want to display in the ‘Name’ and ‘Detail’ columns of the results grid. Users will see the results grid when PowerCTI finds multiple matches for an incoming caller. To change the default options simply select the new field from the list of options on the right and drag it on top of the grey section shown next to the ‘Map Name’ and ‘Map Detail’ fields.


Under the Search section of the Setup tab you will define which fields of the selected entity will be searched by PowerCTI upon an incoming call. You can add as many fields as you would like here but they should be relevant to the incoming phone number such as, “Main Phone,” “Business Phone,” or “Mobile Phone.”

The phone number you configure in the search section are also the phone numbers that will be available for the click-to-dial functionality of PowerCTI.

Also, you can now specify an extended filter on the search rule in the configuration setup PowerCTI.

Note: Not to be used for everyone. It allows developers to filters more specific rules.

Record to Pop

In the Record to Pop section of the setup tab you can choose what record type you want to pop when PowerCTI finds an exact match for an incoming caller. In this section you have two options; the first is to pop the “default” entity. This means if a call comes in and an exact match is found, PowerCTI will pop the entity that the match was found on. The second option is to pop a “related” record; this means that if a call comes in and an exact match is found, if the exact match is on the “Contact” entity and you have defined the solution to pop the related “Company Name,” then PowerCTI will pop the corresponding Account record for that contact.

Reading Pane

The last section is for configuring what you want to show in the side reading pane. The reading pane is an area on the search grid, that gives CRM users the ability to view details of records, without having to actually open the record. This reduces clicks and saves users from having to open multiple windows to access pertainent information.

When PowerCTI finds multiple matches for an incoming caller, it will pull a list of associated records. As you click through this list you can have the side reading pane open that will give you information about the record without having to actually open each record that was populated.

To configure, simply drag and drop the information that you would like to see in the reading pane from the list on the right. To delete a field from the reading pane, click on the ‘x’ next to the name of the field. The “Subject” and “Regarding” fields are the header and sub-hear filed that will display at the top of the reading pane for the selected entity. If you have a longer display field, you can add that to the description field.

Note: You will need to complete the setup steps for each entity you want PowerCTI to search incoming callers against.

Settings tab

The settings tab is where you can setup the Record Page and Search Page settings.

Record Page

In the Record Page section you can choose to open the default record page, or if you have a custom page that you would like to be opened you can select Custom Record URL, this will then open your custom record when an incoming call comes in.

Search Page

In the Search Page section you can choose which search tool to open when no associated records are found in regards to the incoming caller.


If you choose the Default for your search tool, an Advanced Find will be opened if no records are found for the incoming caller.

Custom URL

If you have a custom search built for your system, you can add the URL in this field so that your custom search opens when no associated records are found. Setting up a custom URL and passing parameters along with it will take some additional steps:

                  a) Building the URL

Example: Pass “ani” and CTIData to the original URL

Syntax: ../WebResources/pocall_/PowerPhone.html?data=ani%3D895%26CTIData%3Dfinesse

Note: We are passing encoded URI after data= ..

& > %26

= > %3D

              b) Setting up the parameters
  • In the configuration tab > Settings tab, Add Search Result Parameters separated by commas

2) Now add same parameters for the desired entity

Form > Form Properties >Parameters

Note: Following CRM rule parameters need “_”, so append underscore to the parameters that will be created.

Other Options
Strip Prefix for Number

This setting will allow you to strip prefixes from a number before the search for that phone number is done inside of CRM. For example, let’s say that all of the phone numbers are coming from your phone system with "*1" at the beginning (*13334445555). So, you would want to strip the *1 when searching for a record with that phone number, so that the record in CRM doesn’t have to have a “*1” in front of it. If this is the case, you would just enter *1 into this box.

If you would like more than one prefix to be ignored, please enter them with a comma in between. For example, if you want to strip *1 and *2, then you would input "*1,*2" in the “Strip Prefix for Number” box.

Pop New Phone Call Record

When using the click-to-dial feature of PowerCTI, you can decide if you’d like to have a phone call record pop open automatically, or not.

Note: Make sure that any changes made to the configuration on the setup and settings tabs are saved or the click to dial functionality will not work.

Log Incoming Call

PowerCTI is now able to log incoming phone calls and pop open the created phone call activity.

In the other hand, users can decide to not log incoming phone calls, then option incoming calls will be grayed out.

When a phone call is incoming and the end user picks up the phone a phone activity record will be created.



  • The Actual Start and End Time is not added to the form by default. You will need to add those fields in order to see the start and end time of the call.
  • The duration is not calculated by PowerCTI. A workflow can be created to calculate the duration if needed.
  • The Call From and Regarding must be populated by the end user. PowerCTI will not pre-fill these fields.


Additional Setup

In order to use PowerCTI, each user must have the TAPI driver and the PowerCTI Agent installed on their machine.

TAPI Driver

The TAPI 2.x  driver is acquired from your phone provider. The TAPI driver is what connects your phone system with the PowerCTI agent. Each person who would like to use PowerCTI will need a TAPI driver installed on their machine. PowerObjects does not assist with acquiring or installing TAPI drivers.

PowerCTI Agent

The PowerCTI agent install file can be located on the PowerCTI web page. This agent is what connects the TAPI driver to the CRM system. Each user that would like to use PowerCTI will need to install the PowerCTI agent on their machine. After you’ve downloaded the PowerCTI agent, unzip the file and open the PowerCTI application. Here, you will be asked to choose if you are using a TAPI driver or Skype/Lync for Business and the phone line attached to the phone system, as well as the CRM’s URL and your username & password to log into CRM.

Setting Up the PowerCTI Agent

As of 7/1/2021 if you are D365 online, you will need to download version of the PowerCTI agent or above, which also requires that you create an application ID and add that to the PowerCTI agent login page. Please note that this version is only for D365 online. If your D365 system is on-premise, you should continue to use version

Application ID for PowerCTI

Step 1: Create New Registration in Azure AD Directory in Azure tenant.

Step 2:

Provide appropriate details as follows and click on ‘Register’

Step 3:

Once created, grant API Permissions as follows by clicking on ‘Add Permission’

Step 4:

Select ‘Dynamics CRM’ in Microsoft APIs tab

Step 5:

Step 6:

Select "Grant admin consent" 

Step 7:

Change ‘allowPublicClient’ to true in manifest

Step 8:

Copy Application (Client) ID from the Overview tab and Redirect URI from the Authentication. This will be required in PowerCTI Agent Connection window.


Step 9:

Once you have the PowerCTI agent open (see steps below), paste the Application (Client) ID into the filed "Enter Azure AD Application ID" and the redirect URI into the "Enter Redirect URI" field.

1. After Downloading the PowerCTI agent from the website you can locate the PowerCTI Agent on your machine, unzip the file, and open the PowerCTI Application (highlighted in yellow).
** Note: You will need to have the PowerCTI solution and the TAPI Driver, (if using PowerCTI with a phone line) needs to be installed prior to setting up the PowerCTI agent. Another option is using a Skype for Business line with a registered phone number.

2. Once you have opened the PowerCTI Agent both the ‘Select Phone System’ and ‘Select Phone Line’ fields will be empty by default. Please use the dropdown menu in the first field to specify which type of phone system you would like to use, (TAPI is to connect to a TAPI driver on your computer, which connects to your VOIP phone system, and Skype is to connect to Skype for Business, if you use that to make/receive phone calls.)

3. After selecting your preferred Phone System you will see a message stating, “Please restart for changes to take effect.” Close the phone agent and then reopen it.

4. You will notice that after reopening the phone agent the dropdown menu for ‘Select Phone Line’ will now display your options for completing the Phone Agent set up. Now that you have selected your Phone System and Phone Line you can connect the PowerCTI Agent to your CRM environment by clicking ‘Connect’

5. When you click connect you will be asked to specify the ‘Deployment Type. There are two options for both an on-premises CRM and Online CRM (Office 365). You will need to use the appropriate CRM credentials to connect the Phone Agent to your CRM environment. After you have successfully connected the Phone Agent to your CRM system you’ll want to make sure to have it open when using PowerCTI to pop records for incoming calls, and when making outgoing calls from Dynamics 365.



After you’ve logged in, click on the icon in the top right corner, and click on Settings.

This is where you can set up what types of phone numbers you want to pop screens for.


This is where you can update the URL for the CRM that your agent will connect to.

Caller ID Query Name

This is the attribute name of what the phone number will be passed to. This is pre-set for you and should not be changed.

Ignore Numbers Less Than

You can choose for PowerCTI to ignore phone numbers that are less than a certain amount of digits long.

Ignore Call Number Starts With

If you would like PowerCTI to ignore incoming phone calls that start with a specific number, you can input that number here.

Dial # for Outgoing Calls

If you normally dial a “9” or a “7” before outgoing calls, you can place that number here and, when using the PowerCTI dialer, the agent will dial this number automatically for you.

Allow Only One Instance

If you check this box, then PowerCTI will automatically look to see if there is another instance of the agent running and pop it open, when you try to open the PowerCTI agent.

Log Verbose

Checking this box will log not only the phone number coming in, within the agent’s log, but also all actions being done behind the scenes. This detailed log is meant for developer analysis.

Using PowerCTI_UCI

PowerCTI will work in the UCI, with the installation of any version after To use PowerCTI in the UCI, click on the PowerCTI model driven app as shown in the figure below:

From there, copy the Appid GUID from the address bar as shown in the figure below:

Then, open up the PowerCTI configuration page, and paste the appid GUID under the UCI AppID field and click on the Save button. This is required for incoming calls to open under the UCI.

Using PowerCTI

To start using PowerCTI, open the PowerCTI agent, and log into Dynamics CRM in your default browser.

Note: If you’re not logged into your CRM but the agent is open, PowerCTI will still work. It will simply make you log in when a screen is popped, upon an incoming call.

Next, wait for an incoming call. When a call comes in, one of three things will happen.

One record is found

If only one record with that phone number is found, that record will be pop open on your screen.

Multiple records are found

If multiple records with that phone number are found, a list of those records will appear on your screen.

No record is found

If no record is found, depending on your configurations, an advanced find, or PowerFind or PowerGlobalSearch will pop open, allowing you to manually search for that record.

Phone Call

If you’d like to use PowerCTI to dial out from your machine, you can do so by using the dialer of the PowerCTI agent.

Call Log

Every time there is an incoming or out call, the PowerCTI log will log the call.

Note: You must have the PowerCTI agent open for PowerCTI to function. If you do not have the agent open, no record will pop.

Click to Dial

On the records that you have chosen to set up PowerCTI for, you will see a new button in the upper ribbon that says “Call”. If you click on this button, you will be able to choose to call any phone numbers that have been set up to be dialed on that record.

Note: In order for the “Call” button to show up in the ribbon of an entity, that entity must be added in the Setup tab of the PowerCTI solution. You will also need to add additional phone number fields to the “search” section of the entity in the setup tab, if you’d like to be able to “click-to-dial” that number.

When you click to dial a phone number, your phone will ring. You can then pick it up, and it will dial the number you chose. If you’ve configured PowerCTI to pop open a phone call record, you will also see a phone call record pop open on your screen, which you can then fill in with information about the call, and save.

Note: It can take a few seconds for the TAPI driver to dial the number. Please be patient.

Uninstalling PowerCTI

To uninstall, simply navigate to Settings > Solutions and delete PowerCTI. Deleting the solution from your system will remove all of its components.

Uninstalling the solution does not unsubscribe the solution.  If you're discontinuing use of the add-on, you must first unsubscribe in the solution.

Thank you for your interest in PowerCTI, should you choose to subscribe you will be charged $1.50/enabled CRM user/month. If you have any questions or run into any issues with PowerCTI, our friendly support team is here to help!

PowerCTI User Guide