This is the guide you need to keep a link to for a quick reminder of all features
All posts by dtAdmin
Sales Call Accelerator – Welcome
You have just installed Sales Call Accelerator (SCA) from Microsoft AppSource. Here are your next steps
Summary of next steps
1. Read about your SCA trial period.
2. Set which Unified Apps and Users can use SCA
3. Set the phone number of the users that will use SCA
4. Make your first test call – get “Welcome” announcement
5. More test calls – get connected to your customers
IMPORTANT: For now, we have a firewall protecting this service. In order for your app to work correctly, you need to send us your public IP address. Simply Google “Whats my ip” to get it. Please email this to us now and we will add it to our firewall
1. Your Sales Call Accelerator Trial
During your free trial period of 14 days, you will be able to make up to 30 calls for free. After that, you can get a further trial period by simply contacting us to extend the trial.
When you are happy with the trial, we will set you up with a permanent licence – free – no monthly charge or anything. You just pay a competitive rate for the calls you make. If you make no calls in a month, you pay nothing for that month! How fair is that?
2. Configure SCA
Select the Unified Interface app called Channel Integration Framework
In the app, click New on the toolbar. See instructions under this image for filling the fields
Name: Sales Call Accelerator
Label: Sales Call Accelerator
Channel URL: Substitute your Dynamics 365 URL in the following example: https://your_company.crm11.dynamics.com//WebResources/cts_layout.html
Enable Outbound Communication: Yes
Channel Order: 0
API Version: 1.0
Custom Parameters: enter exactly as shown here – do not change anything… {“f” : true, “a”: “user@customer.com”, “b”: “qW23E1as90frt-der”, “c”: “dtps-dtps-sh.dynamicstelephony.com”, “d”: “wd3”}
3. Set Dynamics 365 User Phone Number
When SCA makes a call, it first calls your own phone. So, you need to tell SCA what your own phone number is. You do this by setting it in Other Phone (address1_telephone2) in the User record in Dynamics 365.
You need to do this for each user that will use SCA
4. Make Your First Test Call
Logon to Dynamics 365 as a user with the Unified App and Security Role configured in step 1 above.
Go to a lead, contact, account, opportunity or quote that has a phone number field. Click on the phone icon beside that field.
The Sales Call Accelerator side-panel will open. A few seconds later, your phone (as configured in the previous step will ring). Answer your phone. You will hear the welcome announcement.
Add any notes you want and click Mark Complete. For the full user guide, see here.
Your trial has begun. Your next test calls are described in the next section.
5. Make More Test Calls
Calls after the first test call (previous section) will connect you with the phone number you clicked.
The procedure is the same. Click a phone number in Dynamics 365, answer your phone, you hear the call progressing and you can talk to your customer when they answer.
Check out the quick User Guide for full details.
Check out the Troubleshooting Guide if you have issues
Application (Client ID) and Client Secret
NOTE this user will expire every 2 years so you will need to renew in 2 years.
Steps in Microsoft Azure
- Navigate to portal.azure.com and login. ( This link might work: https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps )
- Navigate to Azure Active Directory > App Registrations > New Registration
- Register your Application.
- Enter an Application name. e.g. DT_Service
- Select which account types you wish to access this API.
- Click Register.
- Copy the Application (client) ID and note it for later use.
- Create a new Client Secret for the Application.
- Select Certificates & secrets > New Client Secret
- Enter a description, select an expiry duration and click Add.
- Copy the client secret and note it for later use. Make sure to copy the Value field.
- Grant Microsoft Dynamics permissions.
- Select API Permissions > Add a Permission > Dynamics CRM
- Select the checkbox for user_impersonation.
- Click Add permissions.
Steps in Microsoft Dynamics 365
- Login to your Dynamics 365 instance.
- Under Settings, select Security > Users. Change the view to Application Users (see below if view missing) and click New.
- Enter the Application user’s information.
- Paste the application ID previously noted in the Azure component into the Application ID field.
- Enter the user’s full name.
- Enter the Primary Email and click Save (User Name field should be automatically populated based on the primary email).
- Assign administrator permissions to the application user.
- Select the user and click Manage Roles > System Administrator > OK
IF VIEW IS MISSING…
Navigate to https://admin.powerplatform.microsoft.com/ and click Environments.
Open the Respective Environment where you want to create Application user.
Once Opened –> Click Settings.
Once Settings page Opened –> Click Users + permissions –> then Click Application Users.
Click Application User and add a new Application User
…RETURN TO STEP 3 ABOVE…
Phonecall Data Details
Dynamics Telephony will create a phonecall record for every inbound and outbound call it handles, and write detailed call data to it. The fields used are a mixture of standard and custom (those beginning with cts_) fields, as follows
- Items marked with * are only available when server-side integration is enabled.
Activity Status (statecode) The phonecall could be open (e.g. a callback or a queued dialer call), completed, or cancelled (* e.g. an abandon callback that was cancelled due to the customer calling in again).
Actual End (actualend) Date and time the call ended at, after any wrap time.
Actual Start (actualstart) Date and time the call started at, i.e. started to be offered to the user.
Alerting Time (cts_incomingtime) The number of seconds the inbound call was ringing the users phone before it was answered.
Arrival Time * (cts_arrivaltime) The date and time the inbound call first arrived into the phone system. From this time, the call will probably have queued before being presented to the user.
Attempt (cts_attempt) For repeated attempts to contact a customer, via automatic (e.g. No Answer) or user initiated callbacks.
Call From (from) Lookup to the customer (inbound calls) or user (outbound calls) that started the call.
Call Outcome (cts_outcome) The outcome of the call. It might be an automatic outcome (e.g. No Answer), or a user chosen outcome (e.g. Callback, Not Interested, etc.)
Call Tag (cts_calltag) This is not used by the DT Client. You can use it to tag the call.
Call To (to) Lookup to the customer (outbound calls) or user (inbound calls) that was called.
Created By (createdby) The user or process owner that created this call.
Created On (createdon) For inbound and click-to-dial calls, the date and time the call was started. For dialer calls, the date and time the call was created – usually some time before it was presented to the agent for dialing.
Description (description) The notes for the call. Part of the note can be auto-created by Dynamics Telephony Client.
Direction (directioncode) Inbound, or outbound for click-to-dial and dialer calls.
DNIS (cts_dnis) The DNIS (number the caller called for inbound calls) or queue or skillset for inbound calls.
Due (scheduledend) The time a callback should be made at. This is filled by the DT Client depending on the Call Outcome. For dialer calls, the process creating the call might fill this too.
Duration (actualdurationminutes) The total duration of the call in minutes, including any wrap time.
Dynamics Telephony Call (cts_is_dt_call) A boolean indicating this phonecall was created by DT Client, or a process that wants to set this to true.
Hold Time (cts_holdtime) The number of seconds this call was put on hold by the user. If the call was put on hold multiple times, these are summed here.
Inbound Queue * (cts_inboundqueue) The name (or number if no name) of the queue the inbound call arrived on.
Last On Hold Time (lastonholdtime) Time and date the call was last put on hold by the user.
Left Voice Mail (leftvoicemail) If the user selects an outcome for the call, that is configured to “Tag as voicemail”, then this boolean field will be set.
Modified By (modifiedby)
Modified On (modifiedon)
Offer Time (cts_offertime) For dialer calls, the number of seconds the call was offering to the user before they clicked accept, and entered the Preview state.
Original Phone Call (cts_originalphonecall) A lookup to the first call in a chain of call attempts to contact a customer.
Outbound Route (cts_outboundroute) The name of the outbound CLI (Calling Number) used by this outbound call.
Owner (ownerid)
Pause Time (cts_pasuetime) For dialer calls, the number of seconds the user had the call in Pause state. Pause is when the Preview or Wrap timers are paused.
Phone Number (phonenumber) The callers phone number (inbound), or the phone number a user called (outbound)
Preview Time (cts_previewtime) For dialer calls, the number of seconds spent previewing the customer record before the dialer auto-dialed the call.
Previous Phone Call (cts_previousphonecall) A lookup to the previous call in a chain of call attempts to contact a customer.
Queue (cts_queue) For dialer calls, a lookup to the CRM Queue that holds (or held) the queueitem linked to this phonecall.
Recording URL (cts_recordingurl) A URL link to the audio recording of this call. Display it on a CRM form in URL format and you will be able to cick it to follow it.
Regarding (regardingobjectid) Lookup to the customer record.
Ringing Time (cts_ringingtime) For outbound calls, the number of seconds the call was ringing before the customer answered, or the user hung up the call.
Status Reason (statuscode) Open or received (the call was completed).
Subject (subject) The subject text of the call. Often this is filled automatically by the DT Client.
Talk Time (cts_talktime) The number of seconds the user spent actually talking. Excludes, for example, hold time, wrap time etc.
Total Time (cts_totaltime) The number of seconds for the call, from the moment it was offered/presented to the end of Wrap Time
Wait Time * (cts_waittime) The number of seconds the inbound call was waiting in the inbound queue on the phone system, before it was presented to a user.
Wrap Time (cts_wraptime) The number of seconds the call was in Wrap state. Wrap, when configured, starts when the call is hung up. Wrap time is after call time for making notes etc.
System outcomes
Dynamics Telephony can automatically apply outcomes to a call, such as No Answer or Busy. You can see the configuration of most of these outcomes in the Outcome Settings. If you want to change one, click + (as if to add a new outcome), and select the outcome from the list at the top.
Here is the complete list of system outcomes:
noanswer. Outbound queues dialer. The called phone did not answer within the time limit – usually around 22 seconds (configurable). NOTE if you create an outcome called No Answer, it will supersede this system definition. You might do this so the users see No Answer, instead of noanswer, which is more user friendly.
Busy: Outbound. The call received busy signal. the called phone is busy or the network is congested.
EoD: Outbound. Error On dial. the call received an error. It is most likely a bad phone number. It can also happen when the users phone is not working correctly and cannot make calls.
None. Inbound or outbound. The user did not specify an outcome and no default defined for this call. Normally the user is prompted to enter an outcome if there is no default, and they have not chosen one by the end of the call. In this case, the user can choose to “Force End” the call and then “none” is the outcome logged.
Deflect. Inbound. The user clicked Reject when offered an inbound call. It can also happen if the user goes Not Ready / Unavailable during offer of an inbound call. The call bounced to another user.
Reject: Outbound queues dialer. The user clicked Reject when offered an outbound queues dialer call. It can also happen if the user goes Not Ready / Unavailable during offer of an outbound queues dialler call.
MissedCall: Inbound. The user missed a call. The call actually rang on the users phone, but the user did not answer the call before the call stopped ringing. It may be due to the call bouncing to another user after the ringing timeout, or due to the caller hanging up (see abandon).
Queued. Inbound queue calls. The caller joined a call queue on the phone system.
Abandoned. Inbound queue calls. The caller hung up while in the queue.
Default. Inbound or outbound. No outcome specified by the user. Normally this outcome is disabled, and other defaults with names such as “Inbound” or “Click-to-call” are specified instead as default for inbound or click-to-dial calls respectively.
NewdiallerCall. Applied to a newly created queues dialer call, when created by the Dialer Wizard in the DT Client.
transferTarget. Inbound or outbound. The call was transferred to this user, and no other outcome was specified by this user.
transferSource. Inbound or outbound. The call was transferred to another user. The final outcome of the call will be logged by the second user.
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).
OUT OF THE BOX DYNAMICS 365 INTEGRATION
- Unify FreePbx and Dynamics 365 in a single simple user interface for users
- 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
- Callers who abandon your queues captured in CRM for easy callback.
- Callers who request a callback in your queue (IVR) captured in CRM for easy callback management.
- 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
- Route VIP callers to top of queue based on CRM data
- Route callers straight to their account manager, using CRM data
- 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: join, leave, pause
- API for custom features
RELATED POSTS
For full information on Dynamics Telephony, see https://dynamicstelephony.com
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.
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
- 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.
- When you click on the phone icon beside a phone number, the system will dial it.
- 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
- 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.
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):
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.
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
2. Now add the second rule
3. Find the second rule in the list of rules and open its properties. Set the IP address to that of your phone system
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
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.