Build Windows client applications using the XRM tools
Applies to Dynamics 365 for Customer Engagement apps version 9.x
XRM tooling is a set of APIs built on top of the Dynamics 365 for Customer Engagement apps SDK assembly APIs (Organization service and IDiscoveryService) that provide support for building Windows client applications for Dynamics 365 for Customer Engagement apps. It provides the following capabilities:
Supports all the authentication modes to sign in to Customer Engagement apps, including OAuth.
Provides Windows PowerShell support for authentication and connection to Customer Engagement.
Provides a common Windows Presentation Foundation (WPF) login control for Customer Engagement apps for consistent sign-in experience to Customer Engagement apps from your Windows client applications.
Supports secure storage of the sign-in credentials and reuse of the stored credentials to automatically sign in to Customer Engagement apps after initial sign in.
Provides built-in diagnostic tracing and performance reporting of the actions performed in Customer Engagement apps, which you can configure based on your organization’s requirements.
Components of XRM tooling
XRM tooling has the following three components:
Interface for developers: This provides the low-level interaction and wrapper methods for the Customer Engagement apps SDK assembly APIs. It is an instrumented API that provides a thread safe environment for making calls to Dynamics 365 for Customer Engagement apps with built-in diagnostic capabilities to help you determine the performance of individual calls. It also provides a standard set of trace listeners for debugging support. The namespace for this component is Microsoft.Xrm.Tooling.Connector.
Common login control: This is a WPF user control that provides a common user interface for the sign in experience to Dynamics 365 for Customer Engagement apps. The login control provides support for all the authentication modes that are supported by Customer Engagement apps. The common login control has built-in encryption for securely storing your credentials/profile, and then reusing it at runtime to automatically sign in to Customer Engagement apps. The namespace for this component is Microsoft.Xrm.Tooling.CrmConnectControl.
Web resource utility: This provides support for accessing information from the following two types of web resources in Customer Engagement apps: Image and XML. You can access an image from a Customer Engagement apps web resource and return it as WPF BitmapImage objects. Similarly, you can return an XML web resource as a string. The namespace for this component is Microsoft.Xrm.Tooling.WebResourceUtility.
Client applications that use XRM tooling
The following applications in the current version of Customer Engagement apps use the common WPF login control for authenticating users while signing in to Customer Engagement apps from the client application:
Unified Service Desk for Dynamics 365. More information: Unified Service Desk Developer Guide
Package Deployer tool. More information: Deploy packages using CRM Package Deployer and Windows PowerShell
Configuration Migration tool. More information: Manage your configuration data
Sample: Quick start for XRM Tooling API
Use the Dynamics 365 for Customer Engagement Organization Service
Discover the URL for Your Organization With IDiscoveryService Web Service
Write Applications and Server Extensions
Blog: PowerShell module for performing data operations and manipulating user and system settings in CRM
We'd love to hear your thoughts. Choose the type you'd like to provide:
Our feedback system is built on GitHub Issues. Read more on our blog.