What's new for developers: Microsoft Dynamics 365

 

Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365 provides a single development environment for cloud-based and on-premises deployments. Partners, including independent software vendors, global system integrators, and value-added resellers, can quickly create, package, and distribute Dynamics 365 extensions and custom solutions.

In this topic

What's new in December 2016 update for Dynamics 365 (online and on-premises)

What’s new for Microsoft Dynamics CRM Online 2016 Update 1 and Microsoft Dynamics CRM 2016 Service Pack 1

What's new for CRM Online 2016 Update and CRM 2016 on-premises

What's new in December 2016 update for Dynamics 365 (online and on-premises)

In this release, developers will be able to leverage the following enhancements and new capabilities:

  • Connected Field Service Developer Guide

  • Dynamics 365 Customer Insights Programming Reference

  • Manage configuration and administration of the Data Export service

  • Dynamics 365 Web API enhancements

  • Control how activities are sorted by date

  • Support for creating and managing product properties programmatically

  • Define access permission for modular business apps programmatically

  • Use form scripts to add icons with tooltip text for view columns

  • Introducing client APIs for creating and managing records in Dynamics 365 mobile clients while working offline

  • Introducing editable grids

  • Introducing Client APIs for using native device capabilities in Dynamics 365 mobile clients

  • Enhanced client API support in the interactive service hub

  • Server-to-server authentication

  • Process enhancements

  • New messages

  • New entities

  • New privileges

Connected Field Service Developer Guide

Connected Field Service for Microsoft Dynamics 365 integrates Internet of Things (IoT) devices with Microsoft Dynamics 365 (online) to enable integration of their registration, monitoring and management into established business processes. This guide explains the component architecture, supplied interfaces and customization points, and explains the approach develop customized IoT solutions. More information:  Connected Field Service Developer Guide

Dynamics 365 Customer Insights Programming Reference

Customer Insights is a Azure-based SaaS service that enables organizations of all sizes to bring together data from multiple sources, including Microsoft Dynamics 365, and generate knowledge and insights to build a holistic 360° view of their customers. The Customer Insights Programming Reference documents the two sets of REST interfaces provided by this service: the Azure Resource Manager (ARM) APIs and the Hub APIs. These interfaces enable developers to extend custom applications, as well as to automate Customer Insights Hub administrative operations.

Manage configuration and administration of the Data Export service

The ability to replicate Dynamics 365 data to an external SQL database provides a lot of flexibility for generating reports. Data Export is an add-on service made available as a Microsoft Dynamics 365 (online) solution that adds the ability to replicate Dynamics 365 (online) data to a Microsoft Azure SQL Database store in a customer-owned Microsoft Azure subscription. The supported target destinations are Microsoft Azure SQL Database and Microsoft Azure SQL Server on Microsoft Azure virtual machines. Data Export intelligently synchronizes the entire Dynamics 365 schema and data initially and thereafter synchronizes on a continuous basis as changes occur (delta changes) in the Microsoft Dynamics 365 (online) system. More information: TechNet: Replicate Microsoft Dynamics 365 (online) data to Microsoft Azure SQL Database

The Data Export service provides an interface for managing configuration and ongoing administration of this service from within Dynamics 365 (online). Developers can write code to interact with this service. More information:  Data Export service

Dynamics 365 Web API enhancements

With this release, the Dynamics 365 Web API supports:

Access to local data while Dynamics 365 for Outlook is offline

When you write form scripts that use the Web API, these scripts can work using the local data in Dynamics 365 for Outlook when the user is offline. This capability has been available for the Organization service (SOAP endpoint) and the Organization Data service (OData v2), but was not previously available with the Web API. The context.getClientUrl function automatically redirects requests to the local version of the service when Dynamics 365 for Outlook is offline.

Return entity data on create or update

Sometimes you want to retrieve an entity right after you create or update it. Before this release, you needed to use two operations. The POST request to create an entity returns an HTTP 204 (No content) status and a Uri to the entity created is returned in the OData-EntityId header property. You can then use this Uri with a GET request to retrieve the created entity. This is because the default preference is to apply the return=minimal preference.

A PATCH request applied to update an entity will simply return HTTP 204 (No content) status when successful.

With this release you can specify the return=representation preference in the header of the request. A successful POST request will return HTTP 201 (Created) and include the entity properties you select. You can select which properties are returned by using the $select system query option.

A successful PATCH request will return HTTP 200 (OK) with the full entity.

More information: Create with data returned , Update with data returned, and HTTP headers

Reference metadata by name

With this release, you can use the name of certain metadata properties as alternate keys to reference an item of metadata. This will make it easier to query metadata using the Web API. Before this, you needed to perform a query to access the MetadataId of a particular item of metadata before you could retrieve it using that MetadataId as the key.

More information: Retrieve metadata by name or MetadataId

Bug fixes

There have been numerous bug fixes applied for this release. More information: Limitations addressed in December 2016 update for Microsoft Dynamics 365 (online) and December 2016 Service Pack for Microsoft Dynamics 365 (on-premises)

Control how activities are sorted by date

There is a new sortdate attribute on the activitypointer entity that you can use to control how activities are sorted by date. For example, if you want to have email entities sorted by the senton attribute value rather than the modifiedon attribute value, create a plugin or workflow to set the sortdate value equal to the senton value only for email entities. Otherwise, set the sortdate attribute equal to the modifiedon value. Then use this sortdate attribute in the orderby criteria for your query. More information: Control how activities are sorted by date

Support for creating and managing product properties programmatically

You can now programmatically create and manage product properties in Dynamics 365, which enables you to completely automate the product catalog in Dynamics 365 and integrate it with third-party software. Earlier, you could programmatically create and manage product family, product or bundle, but not the product properties.

More information:  Define product properties

Define access permission for modular business apps programmatically

The new modular business apps are based on the concept of functional separation that let you choose to expose a limited set of functionality for users in Dynamics 365 depending on their area of work. Developers can programmatically retrieve and associate or dissociate a modular app with security roles in Dynamics 365 to define the app's access permission.

More information: Define access permission for modular business apps in Dynamics 365

Use form scripts to add icons with tooltip text for view columns

Use form scripting in Dynamics 365 to add icons with tooltip text that is based on the column value in the view. You can also specify localized tooltip text. More information:  Add custom icons with tooltip for a column

Introducing client APIs for creating and managing records in Dynamics 365 mobile clients while working offline

Use the new client APIs under the Xrm.Mobile.offline namespace to create, retrieve, update and delete records in Dynamics 365 for phones and Dynamics 365 for tablets while working in the offline mode. These new client APIs will work only if you are in the offline mode and for entities that are enabled for mobile offline synchronization.

More information: Xrm.Mobile.offline (client-side reference)

Introducing editable grids

The new editable grids feature provides inline editing capabilities in the main grid and subgrids without having to switch records or views. The new editable grids are supported in the web client, Dynamics 365 for phones and Dynamics 365 for tablets.

The editable grids also support client-side events and methods that can be used to write custom client extensions according to your business need.

More information:  Use editable grids and Editable grid objects and methods (client-side reference)

Introducing Client APIs for using native device capabilities in Dynamics 365 mobile clients

Use new client APIs for Dynamics 365 for phones and Dynamics 365 for tablets to help enrich the user experience for mobile business users in sales, field service, and other areas:

  • Xrm.Utility.getCurrentPosition: Returns the current location using the device geolocation capability.

  • Xrm.Utility.getBarcodeValue: Returns the barcode information, such as a product number, scanned using the device camera.

More information:  Native device capabilities (Dynamics 365 mobile clients)

Enhanced client API support in the interactive service hub

The interactive service hub now supports the following client APIs:

More information: Write and debug scripts for the interactive service hub

Server-to-server authentication

Use server-to-server (S2S) authentication to securely and seamlessly communicate with Microsoft Dynamics 365 (online & on-premises) with your web applications and services. S2S authentication is the common way that apps registered on Microsoft AppSource use to access the Dynamics 365 data of their subscribers. Both single-tenant and multi-tenant applications can use this feature.

S2S authentication means you don’t need to use a paid Dynamics 365 user license when you connect to Dynamics 365 tenants. There is no license fee for the special application user account you will use with S2S authentication. With S2S authentication a special Dynamics 365 unlicensed application user account is created and includes information about your application registered with Azure Active Directory (Azure AD). Rather than user credentials, the application is authenticated based on an application user identified by an Azure AD Object ID value which is stored in the Dynamics 365 user record. The Dynamics 365 application user is associated with a security role which controls the kinds of data and operations the application is allowed to perform. More information:  Build web applications using Server-to-Server (S2S) authentication

Process enhancements

Process enhancements in Dynamics 365 include the following:

Execute SDK messages and actions from processes

It is now possible to execute select SDK messages and custom actions from workflows, process dialogs, and other actions. More information:  Supported actions for processes

Access business process instances using the Web API

Business process flow instances are fully exposed through the Dynamics 365 Web API, allowing developers and system integrators to manipulate processes programmatically from an external custom application. The Web API allows you to apply new processes to entity records, switch the process status from Active to Finished or Aborted, and switch the stage of the process flow. More information:  Model business process flows

Associate multiple business processes with a single entity record

More than one business process can be associated with a single entity record. You can switch between the processes by using the extended SetProcess action or message. Switch between business processes without losing the state and progress of each process. Business processes now support security roles as a means of restricting user access to the process. More information:  Model business process flows

Client API enhancements for business processes

The setActiveProcess method is updated and some new client APIs are added under the Xrm.Page.data.process namespace to handle the new functionality for concurrent business flows and the ability to mark a process as Active, Finished or Abandoned.

More information: Xrm.Page.data.process (client-side reference)

Client API enhancements for adding notifications with actions

Earlier, you could set only an error type of notification for a control in Dynamics 365 using the setNotification client API. Now, you can add two types of notification for a control using the new addNotification method: error or recommendation.

More information:  Notification

New messages

The following table lists new messages included in this release.

Name

Reference Links

Description

RetrieveActivePath

RetrieveActivePath Function
RetrieveActivePathRequest Class

Retrieves a collection of stages currently in the active path for a business process flow instance.

RetrieveExchangeAppointments

RetrieveExchangeAppointments Function
RetrieveExchangeAppointmentsRequest Class

Retrieves the appointments for the current user for a specific date range from the exchange web service.

RetrieveProcessInstances

RetrieveProcessInstances Function
RetrieveProcessInstancesRequest Class

Retrieves all the business process flow instances for an entity record across all business process definitions.

SetFeatureStatus

SetFeatureStatus Action
SetFeatureStatusRequest Class

For internal use only.

UpdateFeatureConfig

UpdateFeatureConfig Action
UpdateFeatureConfigRequest Class

For internal use only.

New entities

The following table lists new entities included in this release.

Schema name

Display name

Description

More Information

ActionCard

Action Card

Action card entity to show action cards.

actioncard EntityType

ActionCardUserState

ActionCardUserState

actioncarduserstate EntityType

AppModuleRoles

App Module Roles

To provide specific Dynamics 365 UI context. For internal use only

appmoduleroles EntityType

ExpiredProcess

Expired Process

Expired Process Business Process Flow

expiredprocess EntityType

InteractionForEmail

Interaction for Email

interactionforemail EntityType

LeadToOpportunitySalesProcess

Lead To Opportunity Sales Process

Lead To Opportunity Sales Process Business Process Flow

leadtoopportunitysalesprocess EntityType

NewProcess

New Process

New Process Business Process Flow

newprocess EntityType

OpportunitySalesProcess

Opportunity Sales Process

Opportunity Sales Process Business Process Flow

opportunitysalesprocess EntityType

PhoneToCaseProcess

Phone To Case Process

Phone To Case Process Business Process Flow

phonetocaseprocess EntityType

TranslationProcess

Translation Process

Translation Process Business Process Flow

translationprocess EntityType

New privileges

The following privileges are new or changed in this release. For an overall view of how the security role editor maps to privilege names in this SDK, see Security role UI to privilege mapping

Privilege name

Name displayed in the security role UI

More Information

prv*ActionCard

Action Card

actioncard EntityType

prv*ExpiredProcess

Expired Process

expiredprocess EntityType

prv*LeadToOpportunitySalesProcess

Lead To Opportunity Sales Process

leadtoopportunitysalesprocess EntityType

prv*NewProcess

New Process

newprocess EntityType

prv*OpportunitySalesProcess

Opportunity Sales Process

opportunitysalesprocess EntityType

prv*PhoneToCaseProcess

Phone To Case Process

phonetocaseprocess EntityType

prv*TranslationProcess

Translation Process

translationprocess EntityType

prv*ActionCardUserSettings

Action Card User Settings

prv*AppModule

App

prv*BookableResourceBookingExchangeSyncIdMapping

BookableResourceBooking to Exchange Id Mapping

prvReadInteractionForEmail

Interaction for Email

interactionforemail EntityType

prvLearningPath

Learning Path Authoring

* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.

What’s new for Microsoft Dynamics CRM Online 2016 Update 1 and Microsoft Dynamics CRM 2016 Service Pack 1

In this release, developers will be able to leverage the following enhancements and new capabilities:

  • Create customer attributes for any entity

  • CRM Web API enhancements

  • Enhanced client API support in interactive service hub

  • Support for knowledge base search control client APIs on CRM mobile clients and the interactive service hub

  • Easily launch the interactive service hub using the CRM SiteMap

  • Apply SLAs to additional entities

  • Categorize entity records in CRM

  • Provide feedback and rating for entity records in CRM

  • Control how packages are deployed with the enhanced Package Deployer

  • XRM tools enhancements

  • Simplified FormXML for Stream items in the interactive dashboards

  • Entities updated for improved form rendering experience and new client APIs support

  • Add SAS authorization support to your CRM-Azure applications

  • Send CRM data in multiple formats to a Microsoft Azure hosted listener application

  • Integrate CRM with external event hub publishers

  • Client API support for quick view control and timer control on the new form rendering engine

  • New entities

  • New privileges

For a list of deprecated features, see Important changes coming in future releases of Microsoft Dynamics 365.

Create customer attributes for any entity

With this release, you can define customer lookup attributes on system and custom entities. Customer lookup attributes can be set to either a contact or an account record.

CRM has always had customer lookup attributes that are used for the Contract, Incident, Lead, Quote, Opportunity, and SalesOrder entities. These remain and work as they always have, except now you can create new ones.

You can create these attributes using the customization tools in the application, or programmatically using the new CreateCustomerRelationshipsRequest message. More information: Create a customer lookup attribute

CRM Web API enhancements

With this release, the CRM Web API supports:

Filtering records based on single-value navigation properties

Filter your records for entity sets or entity instances based on single-value navigation property values. You can only use the primary attribute value of the entity referenced by the single-value navigation property to filter records. More information: Filter records based on single-valued navigation property

Note

This partially addresses the following limitation in the previous version of the Web API: Can't filter queries based on the value of a single-valued navigation property

Expand single- and collection-valued navigation properties to retrieve related records for entity sets in CRM. For example, retrieve contacts for accounts or retrieve tasks for accounts. More information: Retrieve related entities by expanding navigation properties

Enhanced client API support in interactive service hub

The interactive service hub now also supports the following client APIs:

More information: Write and debug scripts for the interactive service hub

Support for knowledge base search control client APIs on CRM mobile clients and the interactive service hub

With this release, all the existing and the following new client APIs for the knowledge base search control are supported on the CRM mobile clients (phones and tablets) and the interactive service hub, along with the CRM web client: PostSearch event, addOnPostSearch, removeOnPostSearch, getTotalResultCount, and openSearchResult.

Easily launch the interactive service hub using the CRM SiteMap

With this release, the CRM SiteMap has been updated to include a navigation link for launching the interactive service hub. You can now launch the interactive service hub by selecting Settings > Application > Interactive Service Hub in CRM. More information: Default SiteMap XML

Apply SLAs to additional entities

You can now apply service level agreements (SLAs) to custom entities and specific system entities in CRM. Before this release, you could only apply SLAs to the Incident (Case) entity. More information: Apply SLAs to entities

Categorize entity records in CRM

Use the new Category entity to create and manage a hierarchical structure of categories, and then associate entity records to one or more categories. Categorizing entity records helps in logically grouping them so that it’s easier to organize and search them. More information: Use the Category entity to categorize Dynamics 365 records

Provide feedback and rating for entity records in CRM

Use the new Feedback entity to create and manage feedback and ratings for entity records in CRM. The Feedback entity is primarily used for capturing user feedback and ratings for knowledge articles to determine their effectiveness, but you can enable capturing feedback for other system and custom entities as well. Use the new HasFeedback property with the CreateEntity and UpdateEntity messages to enable feedback for a system or custom entity. More information: Use the Feedback entity to manage feedback and ratings for Dynamics 365 records

Control how packages are deployed with the enhanced Package Deployer

With Microsoft Dynamics CRM Package Deployer, you can bundle one or more solution files, configuration data files, and custom code into a "package" and deploy the package to a CRM instance (online or on-premises). Developers can now control how the packages will be deployed while creating packages using the updated CRM PackageVisual Studio project template. This project template allows you to:

  • Specify whether to maintain or overwrite customizations while updating existing solutions on a target CRM instance.

  • Specify whether to automatically activate plug-ins and workflows after solutions are imported.

  • Import data files exported from the Configuration Migration tool for various languages along with the user information.

  • Override the language for configuration data import by specifying the locale identifier (LCID) of the language to be imported.

  • Specify whether to skip importing the data during the solution deployment. Data includes CRM sample data, flat files, and data files exported from the Configuration Migration tool.

  • Specify whether to skip some safety checks while importing data to save time and improve the import performance.

  • Specify settings that can be passed to the Package Deployer at runtime. For example, add a runtime parameter to specify the LCID of the data file to be imported.

You can specify these settings using the updated ImportConfig.xml file or the new methods and properties that can be overridden in the Visual Studio project template.

Existing CRM Package projects can be updated to take advantage of the new feature set by updating the Package Deployer assemblies using NuGet to version 8.1 or later.

More information: Create packages for the Dynamics 365 Package Deployer

XRM tools enhancements

Xrm.Tooling.Connector has been improved to provide the following enhancements:

  • When using connection strings for CRM Online organizations where the URL of the organization has been customized using the CRM Online Administration Center, the connector will now correctly identify the organization instance, and connect successfully.

  • When using OAuth connections to Dynamics 365, timeout settings defined in a supporting app.config file for connections will now be honored correctly.

  • When creating a custom OAuth-based connection and passing it to the Xrm.Tooling.Connector, timeout settings defined in a supporting app.config file for connections will now be honored correctly.

  • The Xrm.Tooling.Connector.CrmServiceClient class can now be directly cast to an IOrganizationService Interface. This works for all authentication types, and allows you to take advantage of the threading, diagnostics, and logging capabilities of XRM tooling in your existing code.

More information: Build Windows client applications using the XRM tools

Simplified FormXML for Stream items in the interactive dashboards

Earlier, all the stream items (queue, entity view, and saved query) in the interactive dashboards were present under a single <Streams> tag separated by semicolons, and the item names were present under a single <StreamNames> tag separated by semicolons.

The FormXML structure for streams has been updated to have each stream item under a separate tag so customizers and developers can easily read and identify individual stream components in the FormXML. More information: Form XML reference

Entities updated for improved form rendering experience and new client APIs support

The following entities now use the improved form rendering experience in CRM, and support the client APIs that were introduced since the experience was introduced in CRM:

  • Invoice Product (InvoiceDetail)

  • Order Product (SalesOrderDetail)

  • Quote Product (QuoteDetail)

For the complete list of entities that use the improved form rendering infrastructure, see Updated entities.

Add SAS authorization support to your CRM-Azure applications

Do you have existing applications hosted in the Azure cloud that obtain data from CRM through the Microsoft Azure Service Bus? The new Shared Access Signature (SAS) authorization is now the recommended method for CRM-Azure authorization, and it comes with improved authorization performance. Consider updating your existing applications from using Access Control Service (ACS) to SAS. Learn how this change impacts your applications, and follow the revised registration and configuration process using the new version of the Plug-in Registration tool - now with SAS support.

More information: Azure integration with Microsoft Dynamics 365, Walkthrough: Update a service endpoint from ACS to SAS authorization, and Walkthrough: Configure Microsoft Azure (SAS) for integration with Dynamics 365.

Send CRM data in multiple formats to a Microsoft Azure hosted listener application

Introduced in this release is a new capability to format Microsoft Azure Service Bus message bodies as JSON or XML, instead of the default binary format, in support of improved cross-platform interoperability for non.NET programming languages and platforms. Learn how to configure, send, and receive Service Bus message bodies in those formats.

More information: Write a listener application for a Microsoft Azure solution.

Integrate CRM with external event hub publishers

Are you interested in making use of the Microsoft AzureEvent Hubs? Are you wondering how to push your CRM event data to an event hub? New in this release is the ability to easily connect CRM with event hubs. Learn how to use the new Plug-in Registration tool to configure this connection and then learn how to write a listener application for your Azure-hosted event hub that can read and process CRM event data.

More information: Work with Dynamics 365 event data in your Azure Event Hub solution.

Client API support for quick view control and timer control on the new form rendering engine

Introducing new client APIs to support accessing quick view controls on the new form rendering engine (also called "turbo forms") in CRM. More information: Xrm.Page.ui quickForms (client-side reference)

The following methods are now supported for the timer control on the new form rendering engine: getControlType, getName, getParent, getLabel, setLabel, getVisible, setVisible, and refresh. More information: Xrm.Page.ui control (client-side reference)

New entities

The following table lists new entities included in this release.

Schema name

Display name

Description

More Information

BookableResource

Bookable Resource

Represents the resource that has capacity which can be allocated to work.

bookableresource EntityType

BookableResourceBooking

Bookable Resource Booking

Represents the line details of a resource booking.

bookableresourcebooking EntityType

BookableResourceBookingHeader

Bookable Resource Booking Header

Reservation entity representing the summary of the associated resource bookings.

bookableresourcebookingheader EntityType

BookableResourceCategory

Bookable Resource Category

Categorize resources that have capacity into categories such as roles.

bookableresourcecategory EntityType

BookableResourceCategoryAssn

Bookable Resource Category Assn

Represents the association entity to model the categorization of resources.

bookableresourcecategoryassn EntityType

BookableResourceCharacteristic

Bookable Resource Characteristic

Associates resources with their characteristics and specifies the proficiency level of a resource for that characteristic.

bookableresourcecharacteristic EntityType

BookableResourceGroup

Bookable Resource Group

Associates resources with resource groups that they are a member of.

bookableresourcegroup EntityType

BookingStatus

Booking Status

Allows creation of multiple sub statuses mapped to a booking status option.

bookingstatus EntityType

Category

Category

Entity for categorizing records to make it easier for your customers to find them on portals and through search.

Use the Category entity to categorize Dynamics 365 records

Characteristic

Characteristic

Represents the skills, education, and certifications of resources.

characteristic EntityType

Feedback

Feedback

Container for feedback and ratings for knowledge articles.

Use the Feedback entity to manage feedback and ratings for Dynamics 365 records

KnowledgeArticlesCategories

Knowledge Article Category

Contains the associations between the Knowledge Article and Category records.

Use the Category entity to categorize Dynamics 365 records

RatingModel

Rating Model

Represents a model to evaluate skills or other related entities.

ratingmodel EntityType

RatingValue

Rating Value

Represents a unique value associated with a rating model that allows providing a user friendly rating value.

ratingvalue EntityType

RecommendedDocument

Document Recommendation

Recommended Document.

recommendeddocument EntityType

New privileges

The following privileges are new or changed in this release. For an overall view of how the security role editor maps to privilege names in this SDK, see Security role UI to privilege mapping

Privilege name

Name displayed in the security role UI

More Information

prv*BookableResource

Bookable Resource

bookableresource EntityType

prv*BookableResourceBooking

Bookable Resource Booking

bookableresourcebooking EntityType

prv*BookableResourceBookingHeader

Bookable Resource Booking Header

bookableresourcebookingheader EntityType

prv*BookableResourceCategory

Bookable Resource Category

bookableresourcecategory EntityType

prv*BookableResourceCategoryAssn

Bookable Resource Category Assn

bookableresourcecategoryassn EntityType

prv*BookableResourceCharacteristic

Bookable Resource Characteristic

bookableresourcecharacteristic EntityType

prv*BookableResourceGroup

Bookable Resource Group

bookableresourcegroup EntityType

prv*BookingStatus

Booking Status

bookingstatus EntityType

prv*Category

Category

Use the Category entity to categorize Dynamics 365 records

prv*Characteristic

Characteristic

characteristic EntityType

prvConfigureDocumentRecommendation

prvReadRecommendedDocument

Document Recommendation

recommendeddocument EntityType

prv*Feedback

Feedback

Use the Feedback entity to manage feedback and ratings for Dynamics 365 records

prv*RatingModel

Rating Model

ratingmodel EntityType

prv*RatingValue

Rating Value

ratingvalue EntityType

prv*SavedOrganizationInsightsConfiguration

Saved Organization Insights Configuration

TechNet: View metrics about your instance with Organization Insights dashboard

prv*SyncError

Sync Error

syncerror EntityType

prvUseOfficeApps

Use Dynamics 365 for Outlook

TechNet: Deploy CRM App for Outlook (lightweight app)

* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.

What's new for CRM Online 2016 Update and CRM 2016 on-premises

In this release, developers will be able to leverage the following enhancements and new capabilities:

  • CRM Online features now available for on-premises organizations

  • Introducing the Web API

  • Organization data service (OData v2 REST endpoint) deprecated

  • CORS Support added

  • Form script support for keypress events and auto-completion feature

  • CRM for phones and tablets enhancements

  • Knowledge management edit and search enhancements

  • Solution enhancements

  • Service level agreement enhancements

  • Upload and manage document templates

  • XRM Tooling controls now support OAuth authentication and connection strings

  • New entities in CRM 2016

  • New messages in CRM 2016

  • New privileges in CRM 2016

CRM Online features now available for on-premises organizations

New features that were added to Microsoft Dynamics CRM Online 2015 Update 1 are now available for on-premises organizations. One exception is the integration with Parature which is only available for CRM Online. For a summary of new features included in that release, see What’s new for Microsoft Dynamics CRM Online 2015 Update 1

Introducing the Web API

  • Why a new API?

  • Authentication using the Web API

  • CRM Web API Discovery service

Why a new API?

The Web API makes it easier to create applications across a wide variety of platforms, devices, and programming languages. The Web API will provide parity with the existing organization service (SOAP endpoint). You will be able to do anything using the Web API that you can do using the organization service, with a few differences. You won’t have to download any Microsoft Dynamics 365 SDK assemblies. You can perform all operations using HTTP requests with the Web API located at [organization uri]/api/data/v8.0/. The Web API implements OData version 4.0, an open standard for data access. For the list of third-party libraries that support OData, version 4.0, see https://www.odata.org/libraries/.

Use the Web API for integrations and modern applications. For code that will run in the context of a plug-in, you’ll continue to use the classes defined in the SDK assemblies to use the organization service. More information: Use the Microsoft Dynamics 365 Web API

Authentication using the Web API

To manage authentication, you can use the Web API from inside the CRM web application using JavaScript and HTML web resources without any code to authenticate, just as you can today with the organization (SOAP) or organization data service (Odata v2 REST) endpoints.

When you use the Web API to access CRM Online or Internet-facing deployment (IFD) web services from your own applications, you must first register your app with the Active Directory for your organization. Then you can use the Azure Active Directory Authentication Library (ADAL) to manage OAuth 2.0 authentication with the CRM web service identity provider. To access an on-premises CRM deployment from your own applications, you’d use your Windows network credentials to authenticate with the web services.

More information: Walkthrough: Register a Dynamics 365 app with Active Directory

CRM Web API Discovery service

To maintain parity with the Discovery service on the SOAP endpoint, we’ve added a Discovery service to the Web API. This service enables you to determine, at run-time, the organizations that the signed-in user belongs to. You can retrieve information about those organizations like the organization service URL, the CRM release version, and more. A new feature of the Web API Discovery service is the ability to filter the returned list of organizations by using OData filter parameters. The Discovery service is supported by all CRM deployment types. More information: Discover the URL for your organization using the Web API

Organization data service (OData v2 REST endpoint) deprecated

The new Web API provides better capabilities over the organization data service introduced with Microsoft Dynamics CRM 2011. We recommend any new code for this version use the Web API instead of the organization data service, so we’re deprecating the organization data service with this release. The organization data service, also known as the REST endpoint or the OData endpoint, will remain in the application for the foreseeable future to support backward capability. For information about using this deprecated endpoint, see the Microsoft Dynamics CRM 2015 SDK: Use the OData endpoint with web resources.

CORS Support added

The CRM Web API supports client-side cross-origin web resource requests when called using OAuth token authentication. This is accomplished by using a compatible implementation of cross-origin resource sharing (CORS). This Web API capability safely works around browser restrictions imposed to prevent cross-site scripting security issues. More information: Use OAuth with Cross-Origin Resource Sharing to connect a Single Page Application to Microsoft Dynamics 365

Form script support for keypress events and auto-completion feature

When a user presses keys in a number or text control, use the new getValue method to retrieve the value of a control. You can use this value to configure interactive experiences, such as data validation when a user types in a field, by configuring function handlers for keypress events using the new Keypress methods. In addition, you can use the new Auto-completion methods to configure the auto-completion feature for text controls in forms. These new methods aren’t supported for CRM mobile clients (phones and tablets), and are only available for Updated entities.

More information: Xrm.Page.ui control (client-side reference)

CRM for phones and tablets enhancements

  • Web resources and IFRAMEs

  • Form script support for new custom controls

  • Open records in CRM mobile client with a URL

Web resources and IFRAMEs

The ability to create web resources and IFRAMEs for use with Dynamics 365 for tablets is now fully supported in all Dynamics 365 for tablets forms: iOS, Android, and Windows 10. More information: Create web resources and IFrame content for use with the Dynamics 365 for tablets client

Form script support for new custom controls

Use new custom controls to configure a visually modern and richer experience for your users in CRM mobile clients (phones and tablets). More information: TechNet: Use the form editor

The new custom controls support the same client APIs as the CRM controls, except for the Auto-completion methods, getValue, Keypress methods and Lookup control methods and events. For the complete list of the client APIs supported by CRM controls, see Xrm.Page.ui control (client-side reference).

Open records in CRM mobile client with a URL

With the new application handler protocol in CRM 2016, you can use URLs to directly open records in CRM mobile clients (phones and tablets). You can also open an empty form for creating an entity record. To use this feature, you have to install CRM mobile client on your mobile device. More information: Open forms, views, and dashboards in Dynamics 365 mobile client with a URL

Knowledge management edit and search enhancements

The CRM Service module gets a boost in this release with the addition of powerful knowledge management capabilities. In addition to rich text, the new KnowledgeArticle entity supports multimedia data like pictures and videos. Articles have a lifecycle where they proceed through a publishing workflow.

Discover the answers to your questions using full text searches of knowledge base records for topics and products using the FullTextSearchKnowledgeArticleRequest message. This message provides systematic access to a keyword based search index of the article content. Use this message to access that search content and provide search results to customers and partners.

To support the knowledge management capability, new privileges named Publish Knowledge Articles and Approve Knowledge Articles were added. The Customer Service Representative and Customer Service Manager roles have these privileges, and a new Knowledge Manager role has been added.

For the CRM web client, the client-side form programming API has been updated to include additional properties in the object returned from the getSelectedResults function call. All other client APIs and events, which were supported by the knowledge base search control in the Microsoft Dynamics CRM 2015 release, continue to be supported.

For the new interactive service hub client, only the getSearchQuery and setSearchQuery methods are supported for the knowledge base search control.

For more information about the client-side APIs supported by knowledge base search control, see Knowledge base search control (client-side reference). For more information about knowledge management, see Knowledge management entities.

Solution enhancements

Previously, when an entity was added to a solution and that solution was exported, the entity and all of its assets were exported in that solution. This included attributes, forms, views, relationships, visualizations, and any other assets packaged with the entity. All objects were exported regardless of whether the developer actually wanted to ship the object. This process potentially carried dependencies or modified unintended objects on the target deployment.

Now, a developer or other application customizer can create and publish solution patches that contain sub-components of entities, as compared to publishing the entire entity and all of its assets. The original solution and multiple released patches can be rolled-up at a later time into an updated version of the original solution, which then can replace the original solution.

More information: Create patches to simplify solution updates.

Service level agreement enhancements

Service level agreements (SLAs) in CRM have been enhanced in the current release.

  • Manually apply SLAs to incidents (cases): You can now manually apply an SLA to a case by updating the case record, and specifying an active SLA in the Incident.SLAId attribute, for the case record.

  • Programmatically activate or deactivate SLAs: You can now use the UpdateRequest message to activate or deactivate an SLA record. You must activate an SLA record after creating it for the SLA record to be applied to cases. You typically deactivate SLAs during maintenance activities or when you're importing cases and you don't want the SLAs to apply to the cases.

    Note

    You can also use the UpdateRequest message to activate and deactivate automatic record creation and update rules (ConvertRule) and routing rule sets (RoutingRule). This wasn’t possible in the earlier versions.

    The SLA, ConvertRule, and RoutingRule entities are still for internal use only. Other SDK messages, except for the Update message, are still not supported for these entities. More information: Service entities (contract, incident, knowledge article, queue, calendar, entitlement, slakpiinstance)

Upload and manage document templates

You can now create document templates for Microsoft Excel or Word to have a standardized representation of your CRM data. These templates can be used by your team members to generate Excel or Word documents with up-to-date CRM data for analysis and reporting purposes. Use the SDK to programmatically upload and manage document templates.

More information: Upload and manage document templates in Dynamics 365

XRM Tooling controls now support OAuth authentication and connection strings

Microsoft.Xrm.Tooling.Connector is the primary interface to CRM for all tooling and Unified Service Desk operations. It is also provided as part of the Microsoft Dynamics 365 SDK to developers who want to build CRM connected Windows applications. Developers can use this updated API to allow the OAuth 2 protocol to be used to authenticate with CRM web services. Adding OAuth enables multi-factor authentication for improved security and access to CRM.

XRM tooling now also supports connection strings, which allow for the use of SQL-like connection strings in the CrmServiceClient class.

More information: Build Windows client applications using the XRM tools

New entities in CRM 2016

The following table lists new entities included in this release.

Schema name

Display name

Description

More Information

KnowledgeArticle

Knowledge Article

Describes articles that are organizational knowledge for internal and external use.

Work with knowledge articles in Dynamics 365

KnowledgeArticleIncident

Knowledge Article Incident

Contains the associations between a knowledge article and incident.

Work with knowledge articles in Dynamics 365

KnowledgeArticleViews

Knowledge Article Views

Tracks the number of times an article is viewed per day.

Work with knowledge articles in Dynamics 365

LanguageLocale

Language

Contains information about the supported languages for translating a knowledge article.

Work with knowledge articles in Dynamics 365

New messages in CRM 2016

The following table lists new messages included in this release.

Request class

Web API action

Description

More information

CloneAsPatchRequest

CloneAsPatch Action

Creates a solution patch from a managed or unmanaged solution.

Create patches to simplify solution updates

CloneAsSolutionRequest

CloneAsSolution Action

Creates a new copy of an unmanaged solution that contains the original solution plus all of its patches.

Create patches to simplify solution updates

CreateKnowledgeArticleTranslationRequest

CreateKnowledgeArticleTranslation Action

Creates a translation of a knowledge article record.

Create a knowledge article translation

CreateKnowledgeArticleVersionRequest

CreateKnowledgeArticleVersion Action

Creates a major or minor version of a knowledge article record.

Create major and minor versions of a knowledge article

DeleteAndPromoteRequest

DeleteAndPromote Action

Replaces a managed solution plus all of its patches.

Create patches to simplify solution updates

FullTextSearchKnowledgeArticleRequest

N/A

Performs a full-text search on knowledge articles in CRM using the specified search text.

Search knowledge articles using full-text search

IncrementKnowledgeArticleViewCountRequest

N/A

Increments the per day view count of a knowledge article record.

Increment knowledge article view count

SetProcessRequest

SetProcess Action

Sets the process that associates with a given target entity.

UpdateSolutionComponentRequest

UpdateSolutionComponent Action

Updates a component in an unmanaged solution.

Package and distribute extensions using solutions

New privileges in CRM 2016

The following privileges are new or changed in this release. For an overall view of how the security role editor maps to privilege names in this SDK, see Security role UI to privilege mapping.

Privilege name

Name displayed in the security role UI

More information

prv*AzureServiceConnection

Azure Service Connection

For internal use only.

prv*DataPerformance

Data Performance Dashboard

TechNet: Configure interactive experience dashboards

prv*LanguageLocale

Language

LanguageLocale (Language) entity messages and methods

prv*MobileOfflineProfile

Mobile Offline Profile

For internal use only.

prv*RecommendationModel

Product Recommendation Model

For internal use only.

prv*SimilarityRule

Similarity Rule

For internal use only.

prvConfigureSharePoint

Run SharePoint Integration Wizard

Define custom claim mapping for SharePoint server-based integration

prv*KnowledgeArticle

Knowledge Article

Work with knowledge articles in Dynamics 365

prv*KnowledgeArticleViews

Knowledge Article Views

Work with knowledge articles in Dynamics 365

prvApproveKnowledgeArticle

Approve Knowledge Articles

Work with knowledge articles in Dynamics 365

prvPublishKnowledgeArticle

Publish Knowledge Articles

Work with knowledge articles in Dynamics 365

prv*DocumentTemplate

Document Template

DocumentTemplate entity messages and methods

prv*PersonalDocumentTemplate

Personal Document Template

PersonalDocumentTemplate entity messages and methods

prvDocumentGeneration

Document Generation

Upload and manage document templates in Dynamics 365

prv*KnowledgeSearchModel

Knowledge Search Model

Search knowledge articles using full-text search

prv*TopicModel

Topic Model

For internal use only.

prv*CustomControl

Custom Control

TechNet: Additional controls for CRM for phones and tablets

prv*CustomControlDefaultConfig

Custom Control Default Config

TechNet: Additional controls for CRM for phones and tablets

prv*CustomControlResource

Custom Control Resource

TechNet: Additional controls for CRM for phones and tablets

* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.

See Also

Software Development Kit for Microsoft Dynamics 365 (online) and Dynamics 365 (on-premises)
Release history
How do I?
Connect to Microsoft Dynamics 365
The security model of Microsoft Dynamics 365
Extend Microsoft Dynamics 365
Model your business data in Microsoft Dynamics 365
Manage your data in Microsoft Dynamics 365
Manage your Microsoft Dynamics 365 deployment
Sample code directory for Microsoft Dynamics 365
Microsoft Dynamics 365 Programming reference
SDK extensions for Microsoft Dynamics 365

Microsoft Dynamics 365

© 2016 Microsoft. All rights reserved. Copyright