All posts by dtAdmin

FreePBX Integration to Dynamics 365 CRM

Dynamics Telephony for FreePBX is a comprehensive integration yielding agent productivity improvements and customer service enhancements enabled by seamless integration between CRM and FreePBX, on both the agent desktop and server-side (e.g. IVR).

freePBX_plus_CRM

OUT OF THE BOX DYNAMICS 365 INTEGRATION
  • Unify FreePbx and Dynamics 365 in a single simple user interface
  • Embedded call controls in Microsoft Dynamics 365, unifying the desktop for your sales & service staff
  • Simplify your sales and service team’s workflow, reducing clicks, screens, and searches for up to 50% efficiency improvements
  • Pop relevant customer information at the moment of interaction for your staff on every call
  • Speed through outbound calling campaigns with the fully integrated progressive dialer
  • Capture call statistics, callbacks, next steps, call dispositions, automated follow ups & more within Dynamics 365
  • Auto-create links to call recordings in Dynamics 365 for easy access or connectivity to Microsoft Call Intelligence
  • Realtime dashboard of agents in CRM – Easy to listen-in to calls, whisper to agent or join the call
  • Centralised admin and simple install options
  • Comprehensive support options
UNIQUE FEATURES CREATED BY CLOSE INTEGRATION
  • Call recording playback in CRM of FreePbx call recordings
  • Per phone-call: click to listen to recording; queue, duration, agent, customer, transfers, outcome, IVR data,
  • Outbound Calling numbers based on CRM data
  • Use CRM data to route VIP callers to top of queue, or straight to their account manager
  • CRM data available for your IVR scripts.
  • Realtime display in CRM of calls with CRM data
  • Missed / abandoned calls – click in CRM to call them back
  • In-queue callback requests actioned in CRM.
  • Queue controls
RELATED POSTS

For full information on Dynamics Telephony, see https://dynamicstelephony.co.uk

Click-to-call for any phone.

This is a standalone feature that does not require the Dynamics Telephony Client.

This feature allows you to click on any phone number in a Dynamics 365 CRM entity, and the call is automatically dialed for you and ALSO logged in CRM for you automatically.

The system first rings your own phone (mobile, landline, smartphone app, anything). When you answer that, the system will bridge in the number you clicked on. So, no special integration or settings are required to get going. Simply provide your own phone number and you are ready to go.

CIF_C2D_01

Feature Highlights
  • Works on phone numbers within the following records: Contacts,  Accounts,  Phonecall activities,  Leads,  Opportunities, and Cases.
  • You can set your “Calling Number” to any phone number that you own.
  • Logs each call in CRM
  • Pops a quick-form for adding a note to the call.
  • Quick-form includes a Mark Complete button to save the note and complete the phonecall activity
  • Enable just on the CRM User Roles you want
  • Enable just on the CRM Apps you want.
User Guide
  1. You will know this feature is enabled for you by the presence of an expand-button  ( < ) just under your name – top right of the CRM page.
  2. When you click on the phone icon beside a phone number, the system will dial it.
  3. A panel will open on the right, to allow you change the call log. You can change the subject or notes (Description) of the call
  4. Click Mark Complete in the side panel when done to save the call log. the panel will close (hide).

Per Team Settings

Dynamics Telephony settings out-of-the box are either Global or per-user. However, the Global settings are really for the default team called Global. You can add more teams, each with their own set of “global” settings. We call this a Settings Team

To add a new Settings Team

Go to Customize the System > Option Sets and find the option set “Dynamics Telephony Team”. Add a value to it (e.g. Team22 below) for your new Settings Team. Save – Publish All customizations.

Settings Team Optionset

If you have not already done so, Add the Dynamics Telephony Team optionset to your User Form in CRM.

Edit the CRM user you want to be the first member of your new Settings Team and select the value of Dynamics Telephony Team. NOTE the initial settings for the new Settings Team will be the same as this user.

For new or changed users

Set the users team:

Start the DT Client for this user and logon. You should get a message like this (if the selected team was Team22, for example):

Settings Team Changed

When you restart DT Client for the user, they are now in the new Settings Team. You can check the Settings Team in the About box. Any changes to their settings are now applied to everyone in the new Settings Team.

Settings Team About Box

Ghost Calls

Ghost Calls are calls to your DT Client, when in SIP or Asterisk mode, that are dead air. You can get lots of these calls when it happens. It is due to an attack by a port scanner. the calls are not coming from the Phone System, but rather directly from the scanner to your public IP address.

Change IP Address

The quickest, but non-permanent fix, is to change your public IP address. For home users this might be simply rebooting your home router, or contacting your ISP to have it changed.

Block using Windows Firewall

A more permanent fix is to block traffic on the ports used for SIP traffic using your Windows Firewall. The steps are to 1) create a rule to block all traffic on ports 5060-5063 and then 2) create another rule to allow SIP traffic from the phone system. Here are the detailed steps:

1. Find Windows Firewall on your PC and go to Inbound Rules and click New Rule

a New Rule 1 b Rule 1 Type c Rule 1 ports d Rule 1 Action e Rule 1 Domains f Rule 1 Name

2. Now add the second rule

g New Rule 2 h Rule 2 Type i Rule 2 ports j Rule 2 Action k Rule 2 Users l Rule 2 Computers m Rule 2 Domains n Rule 2 Name

3. Find the second rule in the list of rules and open its properties. Set the IP address to that of your phone system

o Rule 2 Scope

There is no need to reboot your PC – the rules are automatically in place.

Audio Troubleshooting

Use the audio control to make sure the right devices are set to speakers and microphone for DT Client

audio_controls

Make sure the correct ones are in use – marked with a green tick.

Clicking on the audio control button will MUTE / UNMUTE the call

If audio controls are not available on the DT Client toolbar, then you can enable them in Advanced Configuration. You need to restart your DT Client to see it. This is a global setting.

enable_audio_controls

Setup Omnichannel Chat

These are notes to quickly set up Microsoft Omnichannel for chat.

The overall process is add a snippet of code to your website, enable agents for chat and understand the “Capacity” number. If you do not have Omnichannel, then get a free trial from Microsoft here: https://docs.microsoft.com/en-us/dynamics365/omnichannel/try-channels

Also, for use with Dynamics Telephony, I will show how to set up a custom presence value that will be auto-selected to prevent chats being delivered when you are on a voice call.

When you enable the Omnichannel license, you will see you have 2 new applications, one for Omnichannel Administration and one for the agents (Omnichannel for Customer Service).

MS_Omni_Apps

 

When you go into Administration, you will see your admin modules down the left side.

First, go to Chat and add a new widget. Make sure Work Stream is Live Chat Workstream. That’s all you really need. Save.

Now grab the Code Snippet that is shown and copy it to your website page you want chat on. Just place it, as it is, straight before  the </head> tag you will find on your current webpage.

MS_Omni_Chat_Config

 

In Users add in existing users of your Dynamics 365 and set their Capacity to 100, assign a queue and maybe the default presence for chat.

Later, we will set the Capacity of a Chat to 50. So with the agent set to 100 this means an agents capacity is full when they are on 2 chats and Omnichannel will not send them another chat until they are back on only one chat.

MS_Omni_User_Config

 

Now go to Workstreams and edit the default workstream. Set capacity to 50 and mode to push.

In the Allowed Presences select all but Busy – DND. This means you can get a chat in any presence except Busy – DND.
MS_Omni_Workstream_Config

 

When configuring for use with Dynamics Telephony, in the Custom Presence module, add a custom presence as shown below. Dynamics Telephony will select this custom presence when on a phone call, to prevent Omnichannel sending a chat to the user during a phone call.

MS_Omni_Presence_Config

Now, to understand and configure the Dynamics Telephony integration with Omnichannel, click here.

First Call Resolution Rate

First Call Resolution (FCR) is a measure of how well you are doing in solving customer issues on the same call as they first report the issue. Obviously, customers are delighted if their issues are solved on the first call and will be more likely to recommend your company to a friend.

FCR rate is one of the most important metrics you should measure in your contact center. If you don’t measure it you can’t improve it. I outline here how Dynamics Telephony has the tools and data you need to do this successfully.

FCR Definition

FCR% = 100 X ( Calls resolved on “Call 1” ) / ( Number of “Call 1” calls – issue resolved or not )
Where “Call 1” is the first call an issue is raised in.

Phonecall Activity

The phonecall activity record in CRM is where you collect the data necessary for measuring FCR. You can use agents to fill the data or Dynamics Telephony can automate most of the data collection.

Outcome: This simple text field is linked to the Outcome the user chooses in Dynamics Telephony Toolbar. You can define as many outcomes as you like. In the definition of the Outcome you set whether “Is Resolved” is true or not for this outcome. This will thus auto-populate the next field described below.

Is Resolved. This is a boolean (two option) field in the phonecall entity. The default value is NO. It will automatically be set depending on the Outcome chosen by the agent for the call.

Call Number for Issue: This integer field is automatically incremented by Dynamics Telephony if the previous call to/from this customer was less than N hours ago and marked Is Resolved NO. N is configurable per DNIS. If there was no call in the last N hours then it is set to 1.

Customer view via SMS

Optionally, you can add to your FCR solution by using Dynamics Telephony SMS Service to send the customer an SMS to find out if they agree that the issue was resolved on the last call. Dynamics Telephony SMS Service has the following features you will need:

Send SMS
– specify related entity (e.g. phonecall, case, account contact, ..)
– From phonenumber, to phonenumber,

Receive SMS with parsing
– “Value” populated in related entity field1
– “comment” populated in related entity field2

Your CRM partner will be able to construct an FCR survey using this service by making a workflow in CRM to trigger a survey for the right conditions and use the service to send the SMS. The reply from the customer will be automatically added to the related customer record. For example, in the case of FCR, it would probably attach to a phonecall record.

FCR Reporting

With the above data, you are now in a position to report on your FCR rate, using your favorite CRM reporting tool, such as Power BI. You set up the report to use phonecalls as the source of data.

Referring back to the definition above…

For “Calls resolved on Call 1”, you count the phonecalls with Call Number for Issue = 1 AND Is Resolved = YES.

For “Number of “Call 1″ calls – issue resolved or not”, you count the phonecalls with Call Number for Issue = 1

 

Omnichannel & Avaya AACC Blended

Currently, users on Avaya AACC and Microsoft Dynamics 365 Omnichannel, have to manually keep themselves in the right status on each system. So, when they are on a voice call in Avaya, they have to manually set themselves to Do Not Disturb in Omnichannel. And when they are too busy on Omnichannel, they have to manually go Not Ready in Avaya AACC.

Furthermore, the real-time displays and reporting on each of the two systems is completely unaware of the other system. So, a supervisor might think a user is simply “Not Ready”, when in fact they are very busy on chats with customers.

These are major pains and leads to lack of adoption of one system or the other.

Now, Dynamics Telephony does the synchronization automatically for you. When you are on a voice call, your status in Omnichannel will show “On Phone Call”, and you will not be sent any chats. When you are busy on chats in Omnichannel, your status in AACC will be “Not Ready – On 2 Chats” and AACC will not send you any voice calls. NOTE these features are in addition to our other AACC Features

omnichannel_status

This is a major innovation allowing users to seamlessly work on Omnichannel and Avaya AACC in the one blended environment.

See a short presentation of this feature on YouTube here.

How It works

Because Dynamics Telephony has access to both Avaya AACC status and Omnichannel status, it can monitor and control both systems. Using this capability, it implements 2 rules:

  1. When you are on N chats in Omnichannel, it will auto-select a status (e.g. Not Ready – On 2 Chats) for you in Avaya AACC. When you are back on <N chats, it reverts you to Ready in AACC.
  2. When you are on a voice call in AACC, it will select a particular presence (e.g. Do Not Disturb – On Phone Call) for you in Omnichannel. When you end the voice call, it will make you available in Omnichannel again. You need to define a custom presence in Omnichannel Admin of type Do Not Disturb with a label such as “On Phone Call”.
Reports & Realtime Displays

Because Dynamics Telephony is keeping your status in each system correctly synchronized, your reports and real-time displays in each system can show the full picture. So, your Omnichannel report can include the number of times and duration of the “On Phone Call” presence. Similarly, your data in Avaya AACC can include the number and duration of “On 2 Chats”.

Settings

The following settings control how the blending works.

OC Omnichannel – Check this box to enable the Omnichannel (OC) blending features.

OC Max Chats and OC Max Chats Reason – When the number of chats being handled by the user in Omnichannel gets to OC Max Chats, then the Not Ready reason in AACC is automatically selected. The reason selected is the one with label defined in OC Max Chats Reason (case sensitive)

OC Voice Call Presence – When the user is on a voice call in AACC, this presence is automatically selected in Omnichannel. Case sensitive. Leave blank to disable this feature.

OC Voice Application – From the list, select the Dynamics 365 Application to use for Avaya AACC voice calls. It is very unlikely you will want to use the Omnichannel Application with voice calls.

omnichannel_config

 

Automatic Phonecall Subject and Description

Dynamics Telephony can automatically create a subject and/or description for every call. It can also create a Note. This is useful so that agents do not have to enter details for every call.

The settings to control this are under Advanced Configuration: Phone Subject, Phonecall Description and OtherParty Note. The settings apply to all auto-created phonecalls.

The text you put in the setting is the text that will be put in the auto-created item.

NOTE: You can stop Dynamics Telephony from making the Note, Subject or Description by blanking out the setting.

Placeholders

You can use placeholders in the text for gathering other information about the call. For example, “The result of the call was <<outcome.name>>”

The list of placeholders is:

  • <<agent>>          – The agents name
  • <<direction>>  – inbound, clicktocall, transfer, queue (dialer)
  • <<otherParty>>
  • <<phone>>        – phone number
  • <<queueName>>
  • <<dnis>>             – The DNIS number
  • <<dnisName>>
  • <<lastCallTime>>
  • <<retryTime>>  – For callbacks and auto-retries
  • <<outcome.name>>
  • <<regarding>>
  • <<phonecallid>>
  • <<originalcallid>>
  • <<diallercallid>>
  • <<queueid>>
  • <<queueitemid>>

If there is another item of data you think should be available for the phonecall, please ask as it may be available.

 

Outcome Triggerd Workflows

You can trigger a workflow to do such things as disqualify a lead, convert a lead to an opportunity or send an email to the customer.

You set the workflow to trigger off our dialerCall entity field called “outcome”. In the workflow, you use our plugin (see below) to get a reference to the phonecall, To Party or Regarding entity.

The plugin you need in the workflow is in a solution file you need to import to CRM. You can find it HERE

NOTE: You cannot use Flow / Power Automate as it does not support plugins.

Create the workflow

In Processes, make a workflow to trigger off change of field outcome in dialerCall entity.

To get a reference to the phonecall activity that Dynamics Telephony used for the call, add a step like this

workflow_plugin_dtiCommand

Set the properties like this:

workflow_dtiCommand_toEntityRef

Now you can use that entity reference to update the entity.

Similarly, you can get a reference to the To Party (ToId in dialerCall) and Regarding