Microsoft Dynamics Integration Guide
Microsoft Dynamics Integration Guide
Audience
This document is directed to customers and prospective customers interested in using Tenfold in a Microsoft Dynamics environment. Those who will perform the procedures described in this guide should have a basic level of familiarity with Microsoft Dynamics APIs, Microsoft Dynamics administration, general networking, and Tenfold.
Goals
The goal of this document is to provide knowledge, reference, and procedural information necessary to understand a proposed Microsoft Dynamics/Tenfold integration.
This document is NOT intended as a specific system or network design document. If further clarification is needed, consult with a Tenfold representative.
Terminology
To ensure a common frame of reference, this guide uses the following terms in conjunction with this Microsoft Dynamics integration:
- Application Programming Interface (API): A set of clearly defined methods of communication used by Tenfold for reading and writing data.
- Click to Dial: A feature in the Tenfold UI which allows agents to click a phone number to dial a contact.
- Tenfold Cloud: A set of Web Services that receives events from the telephony system and takes further action such as querying and saving to the CRM.
- Tenfold User Interface (TUI): An agent facing user interface which agents will interact with for identifying callers, viewing recent activities, saving notes, dispositioning calls, etc.
Customer responsibility
You are responsible for supplying the physical and/or IP connection(s) to Microsoft Dynamics and LAN, and for obtaining and loading any licensing required by Microsoft Dynamics. You are also responsible for configuring Microsoft Dynamics to support the Tenfold integration.
Dynamics requirements
Version requirements
Microsoft Dynamics 365 8.2.1.0176 or later
Microsoft Dynamics USD 4.1 or later
Connection requirements
Accessible via TCP port 443 (https) to Tenfold Cloud
Dedicated Service Account (i.e. API User)
Permissions
The tables shown below outline the out of the box entities and respective field permissions required for the core Tenfold integration. Read and/or write permissions for additional fields, both standard and custom, may be required for your Tenfold deployment.
Legend:
Table 1. Core Records Tab
Entity | Privilege | Access Level |
Account | Create | Organization |
Account | Read | Organization |
Account | Write | Organization |
Account | Delete | User |
Account | Append | Organization |
Account | Append To | Organization |
Action Card | Create | User |
Action Card | Read | User |
Action Card User Settings | Read | User |
Activity | Create | Organization |
Activity | Read | Organization |
Activity | Write | Organization |
Category | Read | User |
Connection | Read | User |
Connection Role | Read | Organization |
Contact | Create | Organization |
Contact | Read | Organization |
Contact | Write | Organization |
Contact | Delete | User |
Contact | Append | Organization |
Contact | Append To | Organization |
Customer Relationship | Read | User |
Data Import | Read | User |
Data Map | Read | User |
Duplicate Detection Rule | Read | User |
Email Signature | Read | User |
Email Template | Read | User |
Feedback | Read | User |
Follow | Read | User |
Import Source File | Read | User |
Lead | Create | Organization |
Lead | Read | Organization |
Lead | Write | Organization |
Lead | Delete | User |
Lead | Append | Organization |
Lead | Append To | Organization |
Mail Merge Template | Read | User |
Note | Read | Organization |
Opportunity | Create | Organization |
Opportunity | Read | Organization |
Opportunity | Write | Organization |
Opportunity | Delete | User |
Opportunity | Append | Organization |
Opportunity | Append To | Organization |
Opportunity Relationship | Read | User |
Queue | Read | User |
Report | Read | User |
Saved View | Create | User |
Saved View | Read | User |
Saved View | Write | User |
Saved View | Delete | User |
Saved View | Append | User |
Saved View | Append to | User |
Saved View | Share | User |
SharePoint Site | Read | Organization |
Sync Error | Read | User |
Trace | Read | Organization |
User Chard | Read | User |
User Dashboard | Read | User |
User Entity Instance Data | Read | User |
User Entity UI Settings | Create | User |
User Entity UI Settings | Read | User |
User Entity UI Settings | Write | User |
User Entity UI Settings | Delete | User |
User Entity UI Settings | Share | User |
Table 2. Sales Tab
Entity | Privilege | Access Level |
Competitor | Read | Organization |
Product | Read | Organization |
Product | Append | Organization |
Product | Append To | Organization |
Product | Append To | Organization |
Quote | Read | Organization |
Table 3. Service Tab
Entity | Privilege | Access Level |
Case | Write | Organization |
Case | Read | Organization |
Case | Write | Organization |
Case | Delete | User |
Case | Append | Organization |
Case | Append To | Organization |
Knowledge Article | Read | Business Unit |
Knowledge Article Image | Read | Business Unit |
Knowledge Article Views | Read | Business Unit |
Knowledge Interaction Insight | Read | Business Unit |
Knowledge Search Insight | Read | Business Unit |
Table 4. Business Management Tab
Entity | Privilege | Access Level |
Business Unit | Read | Organization |
Currency | Read | Organization |
Organization | Read | Organization |
Security Role | Read | Organization |
Team | Read | Organization |
User | Read | Organization |
User Settings | Create | Parent: Child Business Units |
Table 5. Service Management Tab
Entity | Privilege | Access Level |
Entitlement | Read | Organization |
Entitlement | Write | Organization |
Entitlement | Append | Organization |
Entitlement | Append To | Organization |
Entitlement | Assign | Organization |
Entitlement Template | Read | Organization |
Entitlement Template | Write | Organization |
Entitlement Template | Append | Organization |
Entitlement Template | Append To | Organization |
Knowledge Article Template | Read | Organization |
Knowledge Base Record | Read | Organization |
Knowledge Search Model | Read | Organization |
Routing Rule Set | Read | User |
Table 6. Customization Tab
Entity | Privilege | Access Level |
App Config Master | Read | Organization |
Attribute Map | Read | Organization |
Customizations | Read | Organization |
Entity | Read | Organization |
Entity Key | Read | Organization |
Entity Map | Read | Organization |
Field | Read | Organization |
Hierarchy Rule | Read | Organization |
Model-driven App | Read | Organization |
Option Set | Read | Organization |
Plug-in Assembly | Read | Organization |
Plug-in Trace Log | Read | Organization |
Plug-in Type | Read | Organization |
Process | Create | User |
Process | Read | Organization |
Process | Write | User |
Process | Delete | User |
Process | Append | User |
Process | Append To | User |
Process | Assign | User |
Process | Share | User |
Process Configuration | Read | Organization |
Process Session | Create | User |
Process Session | Read | Organization |
Process Session | Write | User |
Process Session | Delete | User |
Process Session | Append | User |
Process Session | Append To | User |
Process Session | Assign | User |
Process Session | Share | User |
Relationship | Read | Organization |
Sdk Message | Read | Organization |
Sdk Message Processing Step | Read | Organization |
Sdk Message Processing Step Image | Read | Organization |
Solution | Read | Organization |
System Application Metadata | Read | Organization |
System Chart | Read | Organization |
System Form | Read | Organization |
System Job | Read | User |
System Job | Write | User |
System Job | Append | User |
System Job | Append To | User |
User Application Metadata | Create | User |
User Application Metadata | Read | User |
User Application Metadata | Write | User |
User Application Metadata | Delete | User |
View | Read | Organization |
Web Resource | Read | Organization |
Activate Real-time Processes | N/A | User |
Execute Workflow Job | N/A | Organization |
Run Flows | N/A | Organization |
Table 7. Custom Entities Tab
Entity | Privilege | Access Level |
Account Project Price List | Create | Organization |
Account Project Price List | Read | Organization |
Account Project Price List | Write | Organization |
Account Project Price List | Delete | Organization |
Account Project Price List | Append | Organization |
Account Project Price List | Append To | Organization |
Account Project Price List | Assign | Organization |
Account Project Price List | Share | Organization |
Channel Integration Framework v1.0 Provider | Read | Organization |
Channel Integration Framework v2.0 Provider | Read | Organization |
flowcardtype | Read | Organization |
icebreakersconfig | Read | Organization |
KPI Event Definition | Read | User |
Notification Field | Read | Organization |
Notification Field (Deprecated) | Read | Organization |
Notification Template | Read | Organization |
Notification Template (Deprecated) | Read | Organization |
Post Configuration | Read | Organization |
Recording | Read | Organization |
Scheduling Parameter | Read | Organization |
Teams Dialer Admin settings | Read | Organization |
Template Tag (Deprecated) | Read | Organization |
Tour | Read | Organization |
App Profile | Read | Organization |
App Extension | Read | Organization |
Work Stream | Read | Organization |
Session Template | Read | Organization |
Application App Template | Read | Organization |
Productivity pane configuration | Read | Organization |
Pane tab configuration | Read | Organization |
Pane tool configuration | Read | Organization |
Suggestion Setting | Read | Organization |
Macro Connector | Read | Organization |
Macro Action Template | Read | Organization |
Macro Solution Configuration | Read | Organization |
Smartassist configuration | Read | Organization |
Adaptive Card Configuration | Read | Organization |
Installation
Required information
Dynamics Hostname | Hostname of your Microsoft Dynamics Instance |
Dynamics Service Account Username | The username for the dedicated Tenfold service account (i.e. API User) |
Dynamics Service Account Password | The password for the dedicated Tenfold service account (i.e. API User) |
Installation procedure
Establishing the initial connection from Tenfold to Microsoft Dynamics takes only a few minutes.
- Navigate to your Tenfold dashboard at https://dashboard.tenfold.com.
- Click Company Settings in the top navigation.
- In the sub-navigation, click CRM.
- Select Microsoft Dynamics as your CRM.
- Select the authentication method: OAuth or Credentials. To use credentials, input the following information into the form:
- Hostname
- Service Account Username
- Service Account Password To use OAuth, input the following information into the form:
- Hostname
- Under Change Advanced Options
- OAuth Client ID
- OAuth Client Secret
- OAuth Tenant ID
- Click Save. If the information provided is correct, Tenfold tests the connection and presents a success message.
Embedding within Channel Integration Framework
- Install Channel Integration Framework from the Microsoft Appsource store.
- Ensure non-admins have read access to the msdyn_ciprovider entity.
- Open the Apps menu within the Dynamics instance, it can be opened by clicking on the drop down arrow in the top left corner of the screen.
- Select Channel Integration Framework
- Select +New.
- Apply the following within in the Channel Provider Configuration
- Name: Tenfold Embedded UI
- Label: Embedded UI
- Channel URL: https://app.tenfold.com/dynamics.html?base=<your_dynamics_instance_URL> Example: https://app.tenfold.com/dynamics.html?base=https://mydynamics.dynamics.com
- Enable Outbound Communication: Yes
- Channel order: 0
- API Version: 1.0
- Trusted Domain: ""
- Custom Parameters: width=283 rich_context=true NOTE: The Dynamics instance URL can be sourced from the Tenfold CRM configuration page h ere. The Custom Parameters section can have any desired width, however, smaller width parameters may skew different image assets or truncate parts of the Tenfold UI.
- Select which Unified Interface App the Embedded UI is to be added to.
- Select the Roles that are going to use/see the Tenfold Embedded UI.
- Click Save & Close on the bottom right corner.
- Lastly, if using Google Chrome, each user's browser will need to have the "SameSite by default cookies" setting disabled otherwise dependencies of the CIF framework may not load.
- In the Google Chrome browser navigate to chrome://flags via the address bar.
- Search for "SameSite by default cookies."
- Disable the "SameSite by default cookies" setting. The browser relaunches automatically.
Permissions Troubleshooting
The following steps will help you find any missing privileges.
- Open up the Developer Tools of the browser and inspect the element (Ctrl + Shift + C in Chrome) to see the backend privilege name.
- In most cases, requests with a status of 403 may mean that you need to configure additional permissions. To verify exactly which permission is required click on the request with status 403 and then the details of the particular request should be displayed.
- Then move to the right and look for the missing permission. Each missing permission is described according to the following scheme: prvActionPrivilegeName, where Action is what privilege is missing, e.g. Read/Write/Create, etc. For example, as you can see in the screenshot below, the prvReadmsdyn_panetabconfiguration privilege is missing so we must set Read permission to the msdyn_panetabconfiguration field.
- If you go further to the right, you will find the "LocalizedName" field, which indicates the name of the field for which we need to set the permission in our settings.
If you need any assistance completing these steps or if you encounter any trouble, please reach out to our
Missing Something?
Check out our Developer Center for more in-depth documentation. Please share your documentation feedback with us using the feedback button. We'd be happy to hear from you.