Important changes coming in Dynamics 365 Customer Engagement
The announcements and deprecations described in this topic apply to Dynamics 365 Customer Engagement as of version 9. Administrators and IT professionals should use this information to prepare for future releases of Dynamics 365. Customer Engagement refers to the applications that make up the CRM portion of Dynamics 365, which includes the Sales, Customer Service, Field Service, and Project Service Automation applications.
“Deprecated” means we intend to remove the feature or capability from a future major release of Dynamics 365. The feature or capability will continue to work and is fully supported until it is officially removed. This deprecation notification can span a few years. After removal, the feature or capability will no longer work. We are notifying you now so you have sufficient time to plan and update your code before the feature or capability is removed.
For information on past deprecations, see:
Dynamics 365 for Outlook (Outlook client) is deprecated
Dynamics 365 App for Outlook, introduced with Dynamics CRM 2016 (version 8.0), is our most up-to-date offering for pairing Dynamics 365 with Microsoft Outlook. With Dynamics 365 App for Outlook, you can see contextual information from Dynamics 365 right inside your Outlook Inbox. With a single click, you can link an Outlook email message or appointment to a specific Dynamics 365 record. Dynamics 365 App for Outlook works together with server-side sync.
As such, the legacy Outlook add-in—Dynamics 365 for Outlook—is deprecated with the Dynamics 365 (online), version 9.0 and will be removed in a future major release. This deprecation includes Offline mode and synchronization in Dynamics 365 for Outlook.
Service scheduling in Dynamics 365 for Customer Service is deprecated
The Unified Resource Scheduling solution is included with Dynamics 365 for Field Service. With this solution, you can automatically set up the system to schedule multiple booking requirements on a recurring basis. This minimizes overall travel time and maximizes efficient use of all resources. It takes many constraints into account, such as resource availability, skills required, working hours, duration, and time windows to optimize the schedule.
The existing service scheduling functionality using the Service activity is deprecated and will be removed in a future major release. Service scheduling features will be included in the Unified Resource Scheduling solution. This solution integrates seamlessly with Dynamics 365, and will work with Dynamics 365 for Customer Service. The Unified Resource Scheduling solution will provide feature parity with the existing service scheduling feature.
Existing service scheduling users will be provided advance notice for a timebound migration to the new service-scheduling capabilities.
Dialogs are deprecated
You can use a Dialog process to create an interactive step-by-step data entry form that requires user input to start and run to completion. When you start the dialog process, a wizard-like interface is presented; users make selections or enter data as they progress through each page of the wizard.
Dialogs are deprecated and are replaced by mobile task flows (available as of the December 2016 update), and business process flows. Both task flows and business process flows will continue to evolve to make the transition easier.
Usage of Parature knowledgebase as the Dynamics 365 knowledge management solution is deprecated
Usage of Parature from Microsoft knowledgebase as the Dynamics 365 knowledge management solution is deprecated. This feature is replaced by Knowledge Management features in Dynamics 365.
The Knowledge Solution setting in the Knowledge Base Management Settings dialog box, which provides a connection between Dynamics 365 and Parature from Microsoft, will be removed in a future major release of Dynamics 365.
Project Service Finder app is deprecated
The Project Service Finder App, available for use with Dynamics 365 for Project Service Automation, is deprecated. The legacy application will be supported for associated legacy Project Service Automation releases in accordance with Microsoft’s Modern Lifecycle Policy. The functionality available through this app will be available in a future release of Dynamics 365 in the Dynamics 365 for Project Service Automation application.
Contracts, Contract Line Items, and Contract Templates entities are deprecated
The Contracts, Contract Line Items, and Contract Templates entities are deprecated and will be removed in a future major release of Dynamics 365. This functionality has been replaced by entitlements in Dynamics 365 for Customer Service.
Standard SLAs in Dynamics 365 for Customer Service are deprecated
Standard service level agreements (SLA Type field is set to Standard) are deprecated and will be removed in a future major release of Dynamics 365. Standard SLAs are replaced by enhanced SLAs. More information: TechNet: Enhanced service level agreements
Relationship Roles are deprecated
Relationship Roles (Settings>Business Management>Relationship Roles) are deprecated and will be removed in a future major release of Dynamics 365. This feature is replaced by Connection Roles. More information: Help and Training: Create connections to view relationships between records.
Mail Merge is deprecated
In Dynamics CRM 2016 (version 8.0), we introduced server-side document generation using Word and Excel templates. You can use these templates to provide standardized documents or customized data analysis for your organization.
Mail merge from previous versions is deprecated. This includes the mail-merge Word add-in as well as mail-merge templates (Settings>Templates>Mail Merge Templates).
More information: Help & Training: Create Word and Excel templates from Dynamics 365 data
Announcements are deprecated
Announcements (Settings>Administration>Announcements) are deprecated and will be removed in a future major release of Dynamics 365.
Ready-to-use business processes available through Add Ready to Use Business Processes setting are deprecated
Ready-to-use business processes available through the Add Ready-to-Use Business Processes setting (Settings>Data Management>Add Ready-to-Use Business Processes) are deprecated and will be removed in a future major release of Dynamics 365. You can find ready-to-use business processes on Microsoft AppSource.
Some client APIs are deprecated
The following client APIs are deprecated in the current release to reorganize the Xrm client API object model to better align with the need of using the same client scripts without having to change them based on the context or the client (web client or the new Unified Interface) where they run. You should plan to use the new client APIs mentioned in the Replacement Client API column instead of the deprecated ones. The deprecated client APIs will continue to be available and supported until they are officially removed from a future major release of Dynamics 365.
|Deprecated Client API||Replacement Client API||Comments|
Commands: Send it as the PrimaryControl parameter
|Xrm.Page is the primary form context. If a script is run on a secondary context (grid row, quick form, related entity) then Xrm.Page will be for the wrong form context. By using alternate methods of getting the form context we allow the same script to be used without modification in all contexts.|
|Xrm.Page.context||Xrm.Utility.getGlobalContext||Allows access to the global context without going through the form context.|
|Xrm.Page.context.getQueryStringParameters||formContext.data.attributes||The formContext.data.attributes API will make retrieval of non-entity bound data consistent across entity forms, metadata-driven dialogs, and task-based flows. The data will be a combination of custom values sent using the query string and what was specified in the parameters in the openForm method.|
|Xrm.Page.context.getTimeZoneOffsetMinutes||globalContext.userSettings.getTimeZoneOffsetMinutes||Moved to globalContext.userSettings|
|Xrm.Page.context.getUserId||globalContext.userSettings.userId||Moved to globalContext.userSettings|
|Xrm.Page.context.getUserLcid||globalContext.userSetings.languageId||Moved to globalContext.userSettings|
|Xrm.Page.context.getUserName||globalContext.userSettings.userName||Moved to globalContext.userSettings|
|Xrm.Page.context.getUserRoles||globalContext.userSettings.securityRoles||Moved to globalContext.userSettings|
|Xrm.Page.context.getIsAutoSaveEnabled||globalContext.organizationSettings.isAutoSaveEnabled||Moved to globalContext.organizationSettings|
|Xrm.Page.context.getOrgLcid||globalContext.organizationSettings.languageId||Moved to globalContext.organizationSettings|
|Xrm.Page.context.getOrgUniqueName||globalContext.organizationSettings.uniqueName||Moved to globalContext.organizationSettings|
|Xrm.Page.data.entity.getDataXml||No change in the method, but use "typename" instead of type for lookup attributes.|
|GridRow.getData||GridRow.data||GridRow is essentially a form context. This change unifies the interface of GridRow with formContext.|
|GridRowData.getEntity||GridRowData.entity||GridRowData is form data. This change unifies the interface of GridRowData with formContextData.|
|Xrm.Mobile.offline||Xrm.WebApi.offline||Moved the offline-related methods under Xrm.WebApi.offline|
|parent.Xrm||Earlier: An HTML web resource may interact with the Xrm.Page or Xrm.Utility objects within the form by using parent.Xrm.Page or parent.Xrm.Utility. Now: parent.Xrm.* will work if the HTML web resource is loaded in a form container. For other places, such as loading an HTML web resource as part of the SiteMap, parent.Xrm.* won’t work.|
|addOnKeyPress||Use a custom control|
|removeOnKeyPress||Use a custom control|
|showAutoComplete||Use a custom control and corresponding UI|
|hideAutoComplete||Use a custom control and corresponding UI|
|Xrm.Utility.alertDialog||Xrm.Navigation.openAlertDialog||The new signature is consistent with other APIs (openForm) and takes a new set of parameters for flexibility.|
|Xrm.Utility.confirmDialog||Xrm.Navigation.openConfirmDialog||The new signature is consistent with other APIs (openForm) and takes a new set of parameters for flexibility.|
|Xrm.Utility.isActivityType||Xrm.Utility.getEntityMetadata||The isActivityType method is synchronous so it was suitable for ribbon rules. However, the replacement method, getEntityMetadata, is asynchronous, and is not suitable for ribbon rules.|
|Xrm.Utility.openEntityForm||Xrm.Navigation.openForm||Moving navigation actions to Xrm.Navigation|
|Xrm.Utility.openQuickCreate||Xrm.Navigation.openForm||Moving navigation actions to Xrm.Navigation|
|Xrm.Utility.openWebResource||Xrm.Navigation.openWebResource||Moving navigation actions to Xrm.Navigation
Note: This API returns VOID in Unified Interface.
EntityMetadata.IsInteractionCentricEnabled property is deprecated
All entities supported in the Unified Interface are now enabled for the interactive experience in the new Customer Service Hub app. This implies that the EntityMetadata.IsInteractionCentricEnabled property, which indicates whether an entity can be enabled for interactive experience, is no longer relevant. The corresponding setting for this property in the Customization tool, Enable for interactive experience, is removed in the current release, and the EntityMetadata.IsInteractionCentricEnabled property will be removed from the future version of Dynamics 365 SDK for Customer Engagement.
Silverlight (XAP) web resource is deprecated
The Silverlight (XAP) web resource is deprecated on the web client, and is not supported on the new Unified Interface introduced in the Dynamics 365 (online), version 9.0. Instead of Silverlight web resources, you must use custom controls created using the HTML web resources with HTML5 to create UI components to visualize and interact with data.