Вы находитесь на странице: 1из 5558

Contents

Common Data Service


Developer overview
Get started
Supported customizations
Work with data using code
Use Web API
Use Organization Service
Create your own actions
Use FetchXML to query data
Use FetchXML aggregation
Fiscal date and older than datetime query operators in FetchXML
Use a left outer join in FetchXML to query for records "not in"
Page large result sets with FetchXML
Saved Queries
Query Hierarchical data
Audit data changes
Configure entities and attributes for auditing
Retrieve and delete the history of audited data changes
Audit user access
Detect duplicate data
Enable and disable duplicate detection
Run duplicate detection
Duplicate detection messages
Duplicate Rule entities
Delete data in bulk
Use Optimistic Concurrency to reduce potential data loss
Impersonate another user
Best Practices
Add and remove sample data
Apply business logic using code
Event Framework
Understand the execution context
Behavior of specialized update operations
Asynchronous service
Plug-ins
Write a plug-in
Handle exceptions
Impersonate a user
Register a plug-in
Debug a plug-in
Tracing and logging
Analyze performance
Troubleshoot plug-ins
Access external web resources
Tutorials
Write and register a plug-in
Debug a plug-in
Update a plug-in
Sample code
Create a basic plug-in
Web access from a plug-in
Workflow extensions
Scalable customization design
Best Practices
Integrate data using code
Import Data
Prepare source files for import
Create data maps for import
Add transformation mappings for import
Configure data import
Run data import
Data import entities
Data Export Service
Synchronize data
Use an alternate key to create a record
Use change tracking to synchronize data with external systems
Use Upsert to insert or update a record
Server-side synchronization
Configure Exchange folder-level tracking rules
Virtual entities
Azure Integration
Work with data in your Azure solution
Work with event data in your Azure Event Hub solution
Configure Azure integration with Common Data Service for App
Write a custom Azure-aware plug-in
Write a listener application for a Azure solution
Tutorial: Configure Azure (SAS) for integration with Customer Engagement
Tutorial: Register an Azure-aware plug-in using the Plug-in Registration Tool
Tutorial: Update a service endpoint imported from a solution
Use Web Hooks
Use webhooks to create external handlers for server events
Register a web hook
Test webhook registration
Work with Common Data Service entities
Customer entities
Activity entities
Custom activities
Email activity entities
Task, fax, phone call, and letter activity entities
ActivityParty entity
ActivityPointer (activity) entity
Recurring Appointments
Recurring appointment partial expansion model
Create a recurring appointment series, instance, or exception
Update a recurring appointment
Link custom attributes of the recurring appointment master and appointment
entities
Annotation (note) entity
Calendar entities
Types of calendars
Queue entities
Subject entity
Apply Service Level Agreements (SLAs)
Transaction Currency (currency) entity
Category entity
Feedback entity
Security entities
User and team entities
Specify time zone settings for a user
Time zone entities
BusinessUnit entity
Field security entities
Use access teams and owner teams to collaborate and share information
Template entities
Work with metadata using code
Browse your environment metadata
Entity metadata
Customize entity metadata
Define alternate keys for an entity
Attribute metadata
Entity attribute metadata messages
Behavior and format of the date and time attribute
Calculated and rollup attributes
Create auto-number attributes
Multi-Select Picklist attributes
Image attributes
Define custom state model transitions
Entity relationships metadata
Entity relationship eligibility
Entity relationship metadata messages
Entity relationship cascading behavior
Customize entity and attribute mappings
Use connections to link records to each other
Describe a relationship between entities with connection roles
Customize labels to support multiple languages
Best Practices
Package and distribute extensions using solutions
Introduction to solutions
Dependency tracking for solution components
Maintain managed solutions
Organize your solutions
Organize your team to develop solutions
Use managed properties
Understand how managed solutions are merged
Create solutions that support multiple languages
How to manage solutions
Create, export, or import an unmanaged solution
Uninstall or delete a solution
Work with solutions
Create, install, and update a managed solution
Create patches to simplify solution updates
When to edit the customizations file
Build tools for Azure DevOps
Overview
Tasks
Tutorial and FAQ
SolutionPackager tool
Source control with solution files
Package Deployer tool
Verify quality of solutions and packages
Use the PowerApps checker web API
Invoke the analysis
Check for analysis status
Retrieve the list of rules
Retrieve the list of rulesets
Upload a file for analysis
Publish your app on AppSource
Step 1: Fill the app submission form on AppSource
Step 2: Register for Microsoft Partner Network account
Step 3: Create a managed solution for your app
Step 4: Create an AppSource package for your app
Step 5: Store your AppSource Package on Azure Storage and generate a URL with
SAS key
Next steps: Submit your app on Partner Center
Appendix: App design best practices checklist
Appendix: App certification checklist
ISV app management and monitoring
Introduction to ISV Studio
Home page
App page
Tenant page
Create client applications
Authenticate
.NET Framework applications
Use OAuth
Tutorial: Register an app with Azure Active Directory
Build web applications using Server-to-Server (S2S) authentication
Use Multi-Tenant Server-to-server authentication
Use Single-Tenant Server-to-server authentication
Use OAuth with Cross-Origin Resource Sharing to connect a Single Page Application
Tutorial: Register and configuring a SPA application with adal.js
Build Windows client apps using XRM tools
Discover user organizations
Best practices
Samples
Web API
(C#) Data operations Samples
Get started with C# samples
Basic Operations
Query Data
Conditional Operations
Functions and Actions
Client-side JavaScript Data operations Samples
Get started with Client-side JavaScript samples
Basic Operations
Query Data
Conditional Operations
Functions and Actions
Global Discovery Service Sample (C#)
Organization Service
Activities
Convert a fax to a task
Create an email using a template
Create, retrieve, update, and delete an email attachment
Promote an email message
Retrieve email attachments for an email template
Send an email using a template
Send an email
Send bulk email and monitor results
Work with activity party records
Appointments
Book an appointment
Convert an appointment to a recurring appointment
Create, retrieve, update, and delete a recurring appointment
End a recurring appointment series
Link custom attributes between series and instances
Query the working hours of a user
Query the working hours of multiple users
Reschedule and cancel a recurring appointment
Validate an appointment
Auditing
Audit entity data changes
Audit user access
Azure integration
Azure aware custom plug-in
Azure aware custom workflow activity
One-way listener
Persistent queue listener
REST listener
Two-way listener
Bulk Delete
Bulk delete exported records
Bulk delete records that match common criteria
Change tracking
Synchronize data with external systems using change tracking
Connections
Create a connection
Create a connection role
Create a reciprocal connection role
Query connections by a record
Query connection roles by entity type code
Query connections by reciprocal roles
Currency
Retrieve currency exchange rate
Customization & metadata
Create a custom activity
Dump entity metadata to a file
Retrieve valid status transitions
Duplicate Detection
Detect multiple duplicate records
Enable duplicate detection and retrieve duplicates
Use duplicate detection when creating and updating records
Entity records
Early-bound entity operations
Late-bound entity operations
Use optimistic concurrency with update and delete operations
Share a record using an access team
Share records using GrantAccess, ModifyAccess and RevokeAccess messages
Upload, retrieve, and download an attachment
Insert or update a record using Upsert
Field Level Security
Retrieve field permissions
Retrieve field sharing records
Enable field security for an entity
Goal management
Rollup goal data for a custom period against the target revenue
Rollup goal data for a fiscal period against the stretch target count
Use rollup queries to track goals
Override goal total count and close the goal
Import data
Export and import a data map
Import data using complex data map
Plug-ins
Create a basic plug-in
Modify query in PreOperation stage
Web access from a plug-in
Queues
Add a record to a queue
Add a security principal (user or team) to a queue
Clean up history for a queue
Release a queue item to the queue
Specify a queue item to work on
SharePoint
Retrieve absolute URL and site collection URL of a location record
Special Operations
Execute multiple requests
Solutions
Work with solutions
Detect solution dependencies
Time zones
Retrieve time zone information
Query Data
Use QueryExpression with a paging cookie
Retrieve multiple with the QueryExpression class
Retrieve multiple with the QueryByAttribute class
Convert queries between Fetch and QueryExpression
Retrieve records from an intersect table
Validate and execute a saved query
Use aggregation in FetchXML
Use FetchXML with a paging cookie
Access the Discovery service
Resources
Developer resources page
Developer tools
Download tools from NuGet
Community Tools
Testing tools
Reference
Entity reference
About Entity Reference
Account
ACIViewMapper
ActionCard
ActionCardUserState
ActivityMimeAttachment
ActivityParty
ActivityPointer
Annotation
AnnualFiscalCalendar
AppConfig
AppConfigInstance
AppConfigMaster
AppModule
AppModuleComponent
Appointment
AsyncOperation
Audit
BulkDeleteFailure
BulkDeleteOperation
BusinessUnit
BusinessUnitNewsArticle
Calendar
CallbackRegistration
CanvasApp
Category
ColumnMapping
Connection
ConnectionRole
Contact
CustomControl
CustomControlDefaultConfig
CustomControlResource
CustomerAddress
DataPerformance
Dependency
DisplayString
DocumentTemplate
DuplicateRecord
DuplicateRule
DuplicateRuleCondition
Email
EmailServerProfile
EntityDataProvider
ExchangeSyncIdMapping
ExpiredProcess
Fax
Feedback
FieldPermission
FieldSecurityProfile
FixedMonthlyFiscalCalendar
Goal
GoalRollupQuery
Import
ImportEntityMapping
ImportFile
ImportJob
ImportLog
ImportMap
InteractionForEmail
InvalidDependency
KbArticle
KbArticleComment
KbArticleTemplate
KnowledgeArticle
KnowledgeArticleViews
KnowledgeBaseRecord
LanguageLocale
Letter
LookUpMapping
Mailbox
MailboxTrackingFolder
MailMergeTemplate
Metric
MobileOfflineProfile
MobileOfflineProfileItem
MobileOfflineProfileItemAssociation
MonthlyFiscalCalendar
msdyn_componentlayer
msdyn_componentlayerdatasource
msdyn_Connector
msdyn_odatav4ds
msdyn_solutioncomponentdatasource
msdyn_solutioncomponentsummary
msdyn_solutionhistory
msdyn_solutionhistorydatasource
NavigationSetting
NewProcess
OfficeGraphDocument
Organization
OwnerMapping
PersonalDocumentTemplate
PhoneCall
PickListMapping
PluginAssembly
PluginTraceLog
PluginType
PluginTypeStatistic
Position
Post
PostComment
PostFollow
PostLike
PrincipalObjectAttributeAccess
Privilege
ProcessSession
ProcessStage
ProcessTrigger
Publisher
PublisherAddress
QuarterlyFiscalCalendar
Queue
QueueItem
RecommendedDocument
RecurrenceRule
RecurringAppointmentMaster
Report
ReportCategory
Role
RollupField
SavedQuery
SavedQueryVisualization
SdkMessage
SdkMessageFilter
SdkMessageProcessingStep
SdkMessageProcessingStepImage
SdkMessageProcessingStepSecureConfig
SemiAnnualFiscalCalendar
ServiceEndpoint
SharePointDocumentLocation
SharePointSite
SiteMap
SLA
SLAItem
SLAKPIInstance
SocialActivity
SocialProfile
Solution
SolutionComponent
SolutionHistoryData
Subject
SyncError
SystemForm
SystemUser
Task
Team
TeamTemplate
Template
Territory
Theme
TimeZoneDefinition
TimeZoneLocalizedName
TimeZoneRule
TraceLog
TransactionCurrency
TransformationMapping
TransformationParameterMapping
TranslationProcess
UserForm
UserMapping
UserQuery
UserQueryVisualization
UserSettings
WebResource
Workflow
WorkflowLog
Web API Reference
Organization Service
XRM Tooling
Virtual Entity
Workflow
Package Deployer
Customization solutions file schema
Solution component file reference (SolutionPackager)
FetchXML schema
What is Common Data Service?
6/21/2019 • 6 minutes to read • Edit Online

Common Data Service lets you securely store and manage data that's used by business applications. Data within
Common Data Service is stored within a set of entities. An entity is a set of records used to store data, similar to
how a table stores data within a database. Common Data Service includes a base set of standard entities that cover
typical scenarios, but you can also create custom entities specific to your organization and populate them with data
using Power Query. App makers can then use PowerApps to build rich applications using this data.

For information on purchasing a plan to use Common Data Service, see Pricing info.

Why use Common Data Service?


Standard and custom entities within Common Data Service provide a secure and cloud-based storage option for
your data. Entities let you create a business-focused definition of your organization's data for use within apps. If
you're not sure if entities are your best option, consider these benefits:
Easy to manage – Both the metadata and data are stored in the cloud. You don't need to worry about the
details of how they're stored.
Easy to secure – Data is securely stored so that users can see it only if you grant them access. Role-based
security allows you to control access to entities for different users within your organization.
Access your Dynamics 365 Data – Data from your Dynamics 365 applications is also stored within the
Common Data Service allowing you to quickly build apps which leverage your Dynamics 365 data and extend
your apps using PowerApps.
Rich metadata – Data types and relationships are leveraged directly within PowerApps.
Logic and validation – Define calculated fields, business rules, workflows, and business process flows to
ensure data quality and drive business processes.
Productivity tools – Entities are available within the add-ins for Microsoft Excel to increase productivity and
ensure data accessibility.

Dynamics 365 and the Common Data Service


Dynamics 365 applications, like Dynamics 365 for Sales, Service or Talent also use the Common Data Service to
store and secure data used by the applications. This enables you to build apps using PowerApps and the Common
Data Service directly against your core business data already used within Dynamics 365 without the need for
integration.
Build Apps against your Dynamics 365 Data – Build apps quickly against your business data within
PowerApps or using the Pro Developer SDK.
Manage reusable Business logic and rules – Business Rules and logic already defined in your Dynamics
365 entities are applied to your PowerApps to ensure data consistency regardless of how your users are
accessing the data or through which app.
Reusable skills across Dynamics 365 and PowerApps – Users with skills previously in PowerApps or
Dynamics 365 can now leverage those skills across the new Common Data Service Platform. Creating
entities, forms, charts, etc are now common across your applications.

NOTE
Dynamics 365 for Finance and Operations currently requires the configuration of the Data Integrator to make your
business data from Finance and Operations available within the Common Data Service.

Integrating Data into the Common Data Service


Building an app typically involves data from more than one source, while this can sometimes be done at the
application level, there are also cases where integrating this data together into a common store allows for an easier
app building experience, and a single set of logic to maintain and operate over the data. The Common Data Service
allows data to be integrated from multiple sources into a single store which can then be used in PowerApps, Flow
and Power BI along with data already available from the Dynamics 365 applications.
Scheduled integration with other systems – Data which is kept within another application can be regularly
synchronized with the Common Data Service to allow you to leverage other applications data in PowerApps.
Transform and import data using PowerQuery – Transforming data when importing into the Common
Data Service can be done through PowerQuery from many online data sources, a common tool used across
Excel and Power BI.
One time import of data – Simple import and export of Excel and CSV files can be used for a one time or
infrequent import of data into the Common Data Service.
For more infomation about integrating data into the Common Data Service, see Add data to an entity in Common
Data Service by using Power Query.

Interacting with entities


When you develop an app, you can use standard entities, custom entities, or both. Common Data Service provides
standard entities by default. These are designed, in accordance with best practices, to capture the most common
concepts and scenarios within an organization.
For a full list of entities, see the Entity reference.
You can extend the functionality of standard entities by creating one or more custom entities to store information
that's unique to your organization. For more information, see How to create a custom entity.

Logic and validation


Entities within Common Data Service can leverage rich server-side logic and validation to ensure data quality and
reduce repetitive code in each app that creates and uses data within an entity.
Business rules validate data across multiple fields and entities and provide warning and error messages,
regardless of the app used to create the data. For more information, see Create a business rule.
Business process flows guide users to ensure they enter data consistently and follow the same steps every
time. Business process flows are currently only supported for Model driven apps. For more information, see
Business process flows overview.
Workflows allow you to automate business processes without user interaction. For more information, see
Workflows overview.
Business logic with code supports advanced developer scenarios to extend the application directly through
code. For more information, see Apply business logic with code.

Security
Common Data Service has a rich security model to protect the data integrity and privacy of users while promoting
efficient data access and collaboration. You can combine business units, role-based security, record-based security,
and field-based security to define the overall access to information that users have in a Common Data Service
environment. More information: Security in Common Data Service

Developer capabilities
In addition to the features available through the PowerApps portal, Common Data Service also includes features
for developers to programmatically access metadata and data to create entities and business logic, as well as
interact with data. For more information, see Common Data Service Developer Overview
Next steps
To get started using Common Data Service:
Create a canvas app using a Common Data Service database.
Create a custom entity and then create a canvas app that uses the entity.
Create a model-driven app built on Common Data Service.
Use Power Query to connect to an online or on-premises data source and import the data directly into
Common Data Service.

Privacy notice
With the Microsoft PowerApps common data model, Microsoft collects and stores custom entity and field names
in our diagnostic systems. We use this knowledge to improve the common data model for our customers. The
entity and field names that app Creators create help us understand scenarios that are common across the
Microsoft PowerApps community and ascertain gaps in the service’s standard entity coverage, such as schemas
related to organizations. The data in the database tables associated with these entities is not accessed or used by
Microsoft or replicated outside of the region in which the database is provisioned. Note, however, that the custom
entity and field names may be replicated across regions and are deleted in accordance with our data retention
policies. Microsoft is committed to your privacy as described further in our Trust Center.
Common Data Service Developer Guide
4/12/2019 • 2 minutes to read • Edit Online

PowerApps offers users, businesses, independent software vendors (ISVs), and systems integrators (SIs) a
powerful platform for building line-of-business apps. Common Data Service is the underlying data platform for
PowerApps that contains the core functionality of Dynamics 365 for Customer Engagement platform such as
server-side logic (plug-ins and workflows), business process flows, a highly sophisticated security model, and an
extensible platform for developers to build apps.

NOTE
This effectively means that Common Data Service is also the underlying platform for Customer Engagement apps such as
Dynamics 365 for Sales, Dynamics 365 for Customer Service, and Dynamics 365 for Marketing. If you are already
experienced with Dynamics 365 for Customer Engagement apps, you will be able to apply your experience to customize and
extend Common Data Service to build apps.

There are many aspects to how developers can contribute to creating apps that use Common Data Service. While
it is possible to build an application with code using Common Data Service as your data source, most projects will
use either model-driven apps or canvas apps to generate the experience that people will use.

Working with model-driven apps


Model-driven apps are built on Common Data Service, and can only connect to a Common Data Service
environment. All the data that defines a model-driven app is stored within Common Data Service.
Model-driven apps share the method of distributing customizations and extensions used by Common Data
Service using Solutions.
Model driven apps also have a number of points for developers to write code to extend. For information on what
developers can do with model-driven apps, see Model-driven apps Developer Guide

Understand when to write code


Because Common Data Service includes many capabilities for people to configure custom business logic without
writing code, the most common scenarios for developers to contribute involve filling spaces in-between where
existing features may not provide functionality you need to meet a requirement. Fortunately, Common Data
Service provides many points for developers to extend the common functionality using code.
For a developer who will contribute to projects it is important that they understand what can be done without
writing code. You should familiarize yourself with these capabilities. More information: What is Common Data
Service?

Content for on-premises deployments


Common Data Service is not available for on-premise deployments at this time. Content in this guide does not
include information about options that are only available for on-premises or internet facing deployments (IFD ).
For information related to these options, see the Developer Guide for Dynamics 365 for Customer Engagement
apps.
Get started
See also
PowerApps for developers
Model-driven apps Developer Guide
Developers: Get started with Common Data Service
8/6/2019 • 2 minutes to read • Edit Online

Where to start depends on what problem you are trying to solve. This guide includes information about a wide
range of capabilities and it is unlikely you will ever use all of them. The following sections include several of the key
areas to begin.

Work with data using Web services


There are two different web services that you can use to work with data: Web API and Organization service.
Which one you should use depends on the type of project you are working on. More information: Work with data
using code

Applying business logic


The most common extensions created using code involve automating the processes used by businesses. You can
find a summary of options available for you in Apply business logic with code. Each of these approaches are
typically invoked based on events that occur on the server, so understanding of the Event Framework will be
valuable.

Integrate with external data


Data management capabilities in Common Data Service not only lets you work with data within Common Data
Service, but also effectively interact with external data critical to your business. More information:
Import data
Synchronize data
Virtual entities
Azure Integration
Webhooks

Common Data Service entities


Entities store the business data you will work with. An understanding what they are and how to work with them is
essential. More information:
Common Data Service entities
About the Entity Reference

Work with metadata


Developing a good working understanding of the metadata in the system can help you understand how Common
Data Service platform works. Generally you will use designers to add, update, or delete entity schema that defines
metadata, but both the Web API and the Organization service web services provide capabilities to perform CRUD
operations on the entity schema. More information: Work with metadata using code

Use solutions to package and distribute extensions


If you are going to distribute the extensions you create or any customizations that they depend on, you will need to
understand solutions. Solutions created by an individual are relatively simple to work with and don't require the
skills of a developer. But for a team of developers to work productively with solutions and use effective application
lifecycle management principles requires a more sophisticated approach. More information:
Introduction to solutions
SolutionPackager tool
Package Deployer tool
Publish your app on AppSource

Create client applications and authentication


When you create extensions that apply business logic on the server you will not need to include code to
authenticate. The only times you will need to authenticate are when you are creating a client application. A simple
console client application is a good way to familiarize yourself with the Common Data Service APIs. Enabling a
means to connect to the data is an important first step. Most of the code samples provided include a means to
authenticate. The Xrm.Tooling connector provides capabilities to make authentication simpler. More information:
Authentication
Build web applications using Server-to-Server (S2S ) authentication
Build Windows client applications using XRM tools
Supported Customizations for Common Data Service
3/22/2019 • 5 minutes to read • Edit Online

You can customize Common Data Service by using tools that are available in the PowerApps portal or that are
described in the official documentation. These customizations are supported and can be upgraded.
Customizations made using methods other than those described here are unsupported and could cause problems
during updates and upgrades to Common Data Service. For more information, see Unsupported Customizations.
Topics covered in technical articles published on Microsoft sites such as docs.microsoft.com, msdn.microsoft.com
or technet.microsoft.com are supported, but might not be upgradable.

Customizations using PowerApps portal


There are a variety of tools included with Common Data Service that you can use to customize it. Customizations
made using the PowerApps portal tools and web application are fully supported and fully upgradeable.
The following customization methods can be used to produce fully supported customizations:
Customization in the PowerApps portal or solution explorer. For more information, see What is Common
Data Service?
Settings in the web application. For more information, see Administer PowerApps.
Reporting Services. For more information, see Reporting and Analytics Guide for Dynamics 365 Customer
Engagement.

NOTE
Fully supported means that developer support can provide assistance for customizations and that application support can
help customers running those modifications.

For more information about using the customization tools in the web application, see the What is Common Data
Service?.

Customizations applied using code


The documentation on this site for developers, technical articles, and sample code published on this site, and
information released by the Common Data Service Developer Support Team are included in the area of
customizations applied using code. The specific actions and levels of supportability and upgradeability are
described later in this topic.
Common Data Service web services
Use of the web services are fully supported. This includes: Web API, Organization Service, Discovery Service, and
the Organization Data Service. We strive to keep the APIs backward compatible but reserve the right to change
APIs for additional features. Entity attributes may also change in future versions.
Solution file
Modification of an unmanaged solution file is supported as described in this documentation. Certain customization
tasks for model-driven apps can be performed using these steps:
1. Export a solution component as an unmanaged solution.
2. Extract the contents of the solution package.
3. Edit the Customizations.xml file.
4. Repackage the solutions file.
5. Import the modified solution.

NOTE
Changes to the Customizations.xml file must conform to the CustomizationsSolution.xsd schema. For more
information, see Customization solutions file schema.

The following supported tasks can be performed using this procedure:


Ribbon customization.
Application navigation customization using SiteMap.
Form and dashboard customization using FormXml.
Saved query customization.
Plug-ins
The ability to create custom business logic using the plug-in mechanism described in this documentation is fully
supported and upgradeable. Plug-ins can only be registered and executed in the sandbox (isolation). More
information: Plug-ins
Workflow extensions
The ability to create custom workflow activities (assemblies) to be called from workflow rules is fully supported and
upgradeable. Custom workflow activities can only be registered and executed in the sandbox (isolation). More
information: Workflow extensions Automate your business processes in Customer Engagement

Support for .NET Framework Versions


The following describes the support considerations for custom code written the Microsoft .NET Framework 4.6.2.
Any web service client created by using the Microsoft .NET Framework 4.6.2 or higher that calls the web
services is fully supported in Common Data Service.

IMPORTANT
You should build any custom client applications using Microsoft .NET Framework 4.6.2 or later. Only applications using
Transport Level Security (TLS) 1.2 or better security will be allowed to connect. TLS 1.2 is not the default protocol used by
.NET Framework 4.5.2, but it is in .NET Framework 4.6.2.
If clients designed for earlier versions of Dynamics 365 Customer Engagement are designed to connect to any version or
deployment type you can prepare by re-compiling the application to use .NET Framework 4.6.2. More information: Blog Post:
Updates coming to Dynamics 365 Customer Engagement connection security

Any .NET assembly that is created with the Microsoft .NET Framework 4.6.2 for use in Common Data Service
as a plug-in assembly or as a custom workflow activity is supported.

Unsupported customizations
Modifications to Common Data Service that are made without using either the methods described in this
documentation or Common Data Service tools are not supported and are not preserved during updates or
upgrades of Common Data Service. Anything that is not documented in this documentation and supporting
documents is not supported. Additionally, unsupported modifications could cause problems when you update
through the addition of hotfixes or service packs or upgrade Common Data Service.
The following is a list of unsupported action types that are frequently asked about:
Referencing any Common Data Service dynamic-link libraries (DLLs) other than the following:
Microsoft.Crm.Outlook.Sdk.dll
Microsoft.Crm.Sdk.Proxy.dll
Microsoft.Xrm.Sdk.dll
Microsoft.Xrm.Sdk.Data.dll
Microsoft.Xrm.Sdk.Deployment.dll
Microsoft.Xrm.Sdk.Workflow.dll
Microsoft.Xrm.Tooling.Connector.dll
Microsoft.Xrm.Tooling.CrmConnectControl.dll
Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase.dll
Microsoft.Xrm.Tooling.WebResourceUtility.dll
The use of application programming interfaces (APIs) other than the documented APIs in the web services:
Web API, Organization Service, Deployment Service, Discovery Service, Organization Data Service.
Plugin and Workflow Assemblies must contain all the necessary logic within the respective dll. Plugins may
reference some core .Net assemblies. However, we do not support dependencies on .Net assemblies that
interact with low -level Windows APIs, such as the graphics design interface. Previously, Dynamics 365
allowed for assemblies to refer to these interfaces, but to adhere to our security standards, changes to this
behavior are required.
Creating a plug-in assembly for a standard Common Data Service assembly (Microsoft.Crm.*.dll) or
performing an update or delete of a platform created pluginassembly is not supported.
Editing a solutions file to edit any solution components other than ribbons, forms, SiteMap, or saved queries
is not supported. For more information, see When to edit the customizations file. Defining new solution
components by editing the solutions file is not supported. Editing web resource files exported with a
solution is not supported. Except for the steps documented in Maintain managed solutions, editing the
contents of a managed solution is not supported.
Outlook Client
Modifications to any one of the Dynamics 365 forms or adding new forms, such as custom .aspx pages, directly
to Office Outlook or making changes to .pst files. These changes will not be upgraded.
Making customizations using any means other than the supported tools.
See also
Supported customizations for model-driven apps
Work with data using code in Common Data Service
3/22/2019 • 2 minutes to read • Edit Online

Common Data Service has entities that are used to model and manage business data. You can use standard
entities or create your own custom entities to store data.

Use web services to work with data


Common Data Service provides two web services that you can use to interact with data: Web API and
Organization Service. Choose the one that best matches the requirement and your skills.

Web API
The Web API is an OData v4 RESTful endpoint. Use this for any programming language that supports HTTP
requests and authentication using OAuth 2.0.
More information: Use the Common Data Service Web API
Organization service
Use the .NET Framework SDK assemblies for projects that involve writing plug-ins or workflow extensions.
More information: Use the Common Data Service Organization Service

NOTE
Use the Xrm.Tooling assemblies if you are creating a Windows client application. More information: Build Windows client
applications using the XRM tools
2 minutes to read

Redirect file only - no content included


2 minutes to read

Redirect file only - no content included


Create your own actions
9/23/2019 • 4 minutes to read • Edit Online

You can extend the functionality of Common Data Service by creating custom messages known as actions. These
actions will have associated request/response classes and a Web API action will be generated. Actions are typically
used to add new domain specific functionality to the organization web service or to combine multiple organization
web service message requests into a single request. For example, in a support call center, you may want to combine
the Create, Assign, and Update messages into a single new Escalate message.
The business logic of an action is implemented using a workflow. When you create an action, the associated real-
time workflow is automatically registered to execute in the main operation stage of the execution pipeline.

About action definitions


An action is defined by using a Workflow entity record, similar to a real-time workflow. Some key points of what an
action is and how it works are in the following list:
Can be associated with a single entity or be global (not associated with any particular entity).
Is executed in the main operation stage of the event execution pipeline.
Supports the invocation of plug-ins registered in the pre-operation and post-operation stages of the event
execution pipeline.
Can have plug-ins registered in the pre-operation or post-operation stages only when the action status is
Activated.
Is available through the Web API or organization.svc and organization.svc/web endpoints.
Can be executed using a JavaScript web resource.
Always runs under the security context of the calling user.
Record can’t be deleted while there are plug-in steps registered on the action.
Can optionally, through a configuration setting, participate in the current database transaction.
Doesn’t support a scope where the execution is restricted to a user, business unit, or organization. Actions
always execute in organization scope.
Supports input and output arguments.
Supports auditing of data changes.
Isn’t supported with offline clients.
Can be invoked by a web service method call.
Can be invoked directly from a workflow.

Required permissions
A security privilege named Activate Real-time Processes ( prvActivateSynchronousWorkflow ) is required to activate
an action’s real-time workflow so that it can be executed. This is in addition to any privileges needed to create a
workflow.
Package an action for distribution
To distribute your action so that it can be imported into a Common Data Service organization, add your action to a
Common Data Service solution. This is easily done using the web application by navigating to Settings >
Customizations > Solutions. You can also write code to create the solution. For more information about
solutions, see Introduction to solutions.

Generate early-bound types for an action


Using the CrmSvcUtil tool, you can generate request and response classes for your action to include in your
application code. However, before you generate these classes, be sure to activate the action.
To download the CrmSvcUtil.exe, see Download tools from NuGet.
The following sample shows the format for running the tool from the command line with Common Data Service.
You supply the parameter values appropriate for your account and server.

CrmSvcUtil.exe /interactivelogin ^
/out:<outputFilename>.cs ^
/namespace:<outputNamespace> ^
/serviceContextName:<serviceContextName> ^
/generateActions

Notice the use of the /generateActions parameter. More information: Generate early-bound classes for the
Organization service.
You can use early-bound or late-bound types with the generated request and response classes for your action.

Execute an action using the Web API


A new action is created in the Web API when it is created. If the action is created in the context of an entity, it is
bound to that entity. Otherwise it is an unbound action. More information: Use Web API actions.

Execute an action using the organization service


To execute an action using the organization web service using managed code, follow these steps.
1. Include the early-bound types file that you generated using the CrmSvcUtil tool in your application’s project.
2. In your application code, instantiate your action’s request and populate any required properties.
3. Invoke Execute, passing your request as an argument.
Before you run your application code, make sure the action is activated. Otherwise, you’ll receive a run-time
error.
Execute an action using a JavaScript web resource
An action can be executed using the Web API just like any system action. More information: Use Web API actions.

Execute an action using a process


You can execute an action from workflows, dialogs, or other process actions. Activated custom actions are available
to processes by selecting the Perform Action item in the Add Step drop down of the web application process
form. After the step is added to your process, you can select your new custom action (or any action) from the
Action list provided in the step. Select Set Properties in the step to specify any input parameters that your
custom action requires.
NOTE
If a custom action has unsupported parameter types, for example Picklist, Entity, or Entity Collection, the custom action isn’t
listed in the Action list.

The existing Depth platform checks ensure an infinite loop does not occur. For more information on depth limits
see MaxDepth.

Watch out for long running actions


If one of the steps in the action’s real-time workflow is a custom workflow activity, that custom workflow activity is
executed inside the isolated sandbox run-time environment and will be subject to the two minute timeout limit,
similar to how sandboxed plug-ins are managed. However, there are no restrictions on the amount of overall time
the action itself can take. In addition, if an action participates in a transaction, where rollback is enabled, SQL
Server timeouts will apply.

TIP
A best practice recommendation is that long running operations should be executed outside of Common Data Service using
.NET asynchronous or background processes.

See also
Use actions
Event execution pipeline
Classic Common Data Service workflows
Use FetchXML to construct a query
7/25/2019 • 3 minutes to read • Edit Online

FetchXML is a proprietary query language that is used in Common Data Service. It’s based on a schema that
describes the capabilities of the language. The FetchXML language supports similar query capabilities as query
expressions. In addition, it’s used as a serialized form of query, used to save a query as a user-owned saved view in
the UserQuery Entity and as an organization-owned saved view in the SavedQuery Entity.
A FetchXML query can be executed by using either the Web API or the Organization service.

Create the FetchXML query string


To execute a FetchXML query, you must first build the XML query string. After you create the query string, use the
IOrganizationService.RetrieveMultiple method to execute the query string. The privileges of the logged on user
affects the set of records returned. Only records for which the logged on user has read access will be returned.
The FetchXML query string must conform to the schema definition for the FetchXML language. For more
information, see Fetch XML Schema.
You can save a query by creating a SavedQuery record. Set visible on the link-entity node to false to hide
the linked entity in the Advanced Find user interface. It will still participate in the execution of the query and will
return the appropriate results.

WARNING
Don’t retrieve all attributes in a query because of the adverse effect on performance. This is particularly true if the query is
used as a parameter to an update request. In an update, if all attributes are included this sets all field values, even if they are
unchanged, and often triggers cascaded updates to child records.

Example FetchXML query strings


In the following example, the FetchXML statement retrieves all accounts:

<fetch mapping='logical'>
<entity name='account'>
<attribute name='accountid'/>
<attribute name='name'/>
</entity>
</fetch>

In the following example, the FetchXML statement retrieves all accounts where the last name of the owning user
is not equal to Cannon:
<fetch mapping='logical'>
<entity name='account'>
<attribute name='accountid'/>
<attribute name='name'/>
<link-entity name='systemuser' to='owninguser'>
<filter type='and'>
<condition attribute='lastname' operator='ne' value='Cannon' />
</filter>
</link-entity>
</entity>
</fetch>

In the following example, the FetchXML statement uses count to set the maximum number of records returned
from the query. In this case first 3 accounts are returned from the query,

<fetch mapping='logical' count='3'>


<entity name='account'>
<attribute name='name' alias='name'/>
</entity>
</fetch>

This example shows an inner join between EntityMap and AttributeMap where the EntityMapID matches.

<fetch version='1.0' mapping='logical' distinct='false'>


<entity name='entitymap'>
<attribute name='sourceentityname'/>
<attribute name='targetentityname'/>
<link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-
type='inner'>
<attribute name='sourceattributename'/>
<attribute name='targetattributename'/>
</link-entity>
</entity>
</fetch>

IMPORTANT
A FetchXML query has a limit of a maximum of 10 allowed link entities.

Execute the FetchXML query


You can execute a FetchXML query by using either the Web API or the Organization service.
Using Web API
You can pass a URL encoded FetchXml string to the appropriate entityset using the fetchXml query string
parameter. More information: Use custom FetchXML.
Using Organization service
Use the IOrganizationService.RetrieveMultiple method passing an FetchExpression where the Query property
contains the FetchXml query.
The following code shows how to execute a FetchXML query using the Organizations Service:
// Retrieve all accounts owned by the user with read access rights to the accounts and
// where the last name of the user is not Cannon.
string fetch2 = @"
<fetch mapping='logical'>
<entity name='account'>
<attribute name='accountid'/>
<attribute name='name'/>
<link-entity name='systemuser' to='owninguser'>
<filter type='and'>
<condition attribute='lastname' operator='ne' value='Cannon' />
</filter>
</link-entity>
</entity>
</fetch> ";

EntityCollection result = _serviceProxy.RetrieveMultiple(new FetchExpression(fetch2));


foreach (var c in result.Entities)
{
System.Console.WriteLine(c.Attributes["name"]);
}

NOTE
You can convert a FetchXML query to a query expression with the FetchXmlToQueryExpressionRequest message.

FetchXML query results


When you execute a FetchXML query by using the OrganizationServiceProxy.RetrieveMultiple(QueryBase)
method authenticates the user. method, the return value is an EntityCollection that contains the results of the
query. You can then iterate through the entity collection. The previous example uses the foreach loop to iterate
through the result collection of the FetchXML query.
Use FetchXML aggregation
6/18/2019 • 12 minutes to read • Edit Online

In Common Data Service, FetchXML includes grouping and aggregation features that let you calculate sum,
average min, max and count.
The following aggregate functions are supported:
sum
avg
min
max
count(*)
count(attribute name)

About aggregation
To create an aggregate attribute, set the keyword aggregate to true , then specify a valid entity name, attribute
name, and alias (variable name). You must also specify the type of aggregation you want to perform.
The following example shows a simple aggregate attribute in FetchXML .

<fetch distinct='false' mapping='logical' aggregate='true'>


<entity name='entity name'>
<attribute name='attribute name' aggregate='count' alias='alias name'/>
</entity>
</fetch>

The result of a query with an aggregate attribute is different from the results of a standard query. The alias value is
used as the tag identifier for the aggregate result.
The following example shows the format of the result of an aggregate query.

<resultset morerecords="0"'>
<result>
<alias>aggregate value</alias>
</result>
</resultset>

The following example shows the results of a query when the alias variable is set to account_count .

<resultset morerecords="0"'>
<result>
<account_count>20</account_count>
</result>
</resultset>

Limitations
Queries that return aggregate values are limited to 50,000 records. This limit helps maintain system performance
and reliability. If the filter criteria in your query includes more than 50,000 records you will get the following error:
Error code: -2147164125
Hexadecimal error code: 8004E023
Platform error message: AggregateQueryRecordLimit exceeded. Cannot perform this operation.
Client error message: The maximum record limit is exceeded. Reduce the number of records.
To avoid this error add appropriate filters to your query to ensure that it will not need to evaluate more than 50,000
records. Then run you query multiple times and combine the results.

TIP
If you want to get a total count of records with no filter, use the RetrieveTotalRecordCount message with either the Web
API RetrieveTotalRecordCount Function or with the Organization service RetrieveTotalRecordCountRequest message class.

Avg
The following example shows how to use the avg aggregate attribute.

// Fetch the average of estimatedvalue for all opportunities. This is the equivalent of
// SELECT AVG(estimatedvalue) AS estimatedvalue_avg ... in SQL.
string estimatedvalue_avg = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg' />
</entity>
</fetch>";

EntityCollection estimatedvalue_avg_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(estimatedvalue_avg));

foreach (var c in estimatedvalue_avg_result.Entities)


{
decimal aggregate1 = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average estimated value: " + aggregate1);

Limitation with null values while computing average


Null values are not considered when Common Data Service computes the average of data. However, zero (0) is
used.
In the following example, with the following data, the average for Account 1 (two entries) is shown as 250 whereas
the average for Account 2 (two entries) is shown as 125.

TOPIC POTENTIAL CUSTOMER ESTIMATED VALUE

Opportunity 1 Account 1 null

Opportunity 2 Account 1 250

Opportunity 3 Account 2 0

Opportunity 4 Account 2 250

Count
The following example shows how to use the count aggregate attribute.
//
***************************************************************************************************************
**
// FetchXML opportunity_count Aggregate 2
//
***************************************************************************************************************
**
// Fetch the count of all opportunities. This is the equivalent of
// SELECT COUNT(*) AS opportunity_count ... in SQL.
string opportunity_count = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='name' alias='opportunity_count' aggregate='count'/>
</entity>
</fetch>";

EntityCollection opportunity_count_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(opportunity_count));

foreach (var c in opportunity_count_result.Entities)


{
Int32 aggregate2 = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate2);

CountColumn
The following example shows how to use the countcolumn aggregate attribute to count columns.

//
***************************************************************************************************************
**
// FetchXML opportunity_colcount Aggregate 3
//
***************************************************************************************************************
**
// Fetch the count of all opportunities. This is the equivalent of
// SELECT COUNT(name) AS opportunity_count ... in SQL.
string opportunity_colcount = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='name' alias='opportunity_colcount' aggregate='countcolumn'/>
</entity>
</fetch>";

EntityCollection opportunity_colcount_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(opportunity_colcount));

foreach (var c in opportunity_colcount_result.Entities)


{
Int32 aggregate3 = (Int32)((AliasedValue)c["opportunity_colcount"]).Value;
System.Console.WriteLine("Column count of all opportunities: " + aggregate3);

Count distinct columns


The following example shows how to use the countcolumn aggregate attribute with the distinct attribute to
count distinct columns.
//
***************************************************************************************************************
**
// FetchXML opportunity_distcount Aggregate 4
//
***************************************************************************************************************
**
// Fetch the count of distinct names for opportunities. This is the equivalent of
// SELECT COUNT(DISTINCT name) AS opportunity_count ... in SQL.
string opportunity_distcount = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='name' alias='opportunity_distcount' aggregate='countcolumn' distinct='true'/>
</entity>
</fetch>";

EntityCollection opportunity_distcount_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(opportunity_distcount));

foreach (var c in opportunity_distcount_result.Entities)


{
Int32 aggregate4 = (Int32)((AliasedValue)c["opportunity_distcount"]).Value;
System.Console.WriteLine("Distinct name count of all opportunities: " + aggregate4);

Max
Null values are not considered when Common Data Service computes the maximum of data. However, zero (0) is
used.
The following example shows how to use the max aggregate attribute.

//
***************************************************************************************************************
**
// FetchXML estimatedvalue_max Aggregate 5
//
***************************************************************************************************************
**
// Fetch the maximum estimatedvalue of all opportunities. This is the equivalent of
// SELECT MAX(estimatedvalue) AS estimatedvalue_max ... in SQL.
string estimatedvalue_max = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='estimatedvalue' alias='estimatedvalue_max' aggregate='max' />
</entity>
</fetch>";

EntityCollection estimatedvalue_max_result = service.RetrieveMultiple(new FetchExpression(estimatedvalue_max));

foreach (var c in estimatedvalue_max_result.Entities)


{
decimal aggregate5 = ((Money)((AliasedValue)c["estimatedvalue_max"]).Value).Value;
Console.WriteLine("Max estimated value of all opportunities: " + aggregate5);

Min
Null values are not considered when Common Data Service computes the minimum of data. However, zero (0) is
used.
The following example shows how to use the min``aggregate attribute.

//
***************************************************************************************************************
**
// FetchXML estimatedvalue_min Aggregate 6
//
***************************************************************************************************************
**
// Fetch the minimum estimatedvalue of all opportunities. This is the equivalent of
// SELECT MIN(estimatedvalue) AS estimatedvalue_min ... in SQL.
string estimatedvalue_min = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='estimatedvalue' alias='estimatedvalue_min' aggregate='min' />
</entity>
</fetch>";

EntityCollection estimatedvalue_min_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(estimatedvalue_min));

foreach (var c in estimatedvalue_min_result.Entities)


{
decimal aggregate6 = ((Money)((AliasedValue)c["estimatedvalue_min"]).Value).Value;
System.Console.WriteLine("Minimum estimated value of all opportunities: " + aggregate6);

Sum
The following example shows how to use the sum``aggregate attribute.

//
***************************************************************************************************************
**
// FetchXML estimatedvalue_sum Aggregate 7
//
***************************************************************************************************************
**
// Fetch the sum of estimatedvalue for all opportunities. This is the equivalent of
// SELECT SUM(estimatedvalue) AS estimatedvalue_sum ... in SQL.
string estimatedvalue_sum = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum' />
</entity>
</fetch>";

EntityCollection estimatedvalue_sum_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(estimatedvalue_sum));

foreach (var c in estimatedvalue_sum_result.Entities)


{
decimal aggregate7 = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate7);

Multiple aggregates
The following example shows how to use multiple aggregate attributes to set a minimum and maximum.
//
***************************************************************************************************************
**
// FetchXML estimatedvalue_avg, estimatedvalue_sum Aggregate 8
//
***************************************************************************************************************
**
// Fetch multiple aggregate values within a single query.
string estimatedvalue_avg2 = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
</entity>
</fetch>";

EntityCollection estimatedvalue_avg2_result = _serviceProxy.RetrieveMultiple(new


FetchExpression(estimatedvalue_avg2));

foreach (var c in estimatedvalue_avg2_result.Entities)


{
Int32 aggregate8a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate8a);
decimal aggregate8b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate8b);
decimal aggregate8c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate8c);

Group by
The following example shows how to use multiple aggregate attributes and a linked groupby attribute.
//
***************************************************************************************************************
**
// FetchXML groupby1 Aggregate 9
//
***************************************************************************************************************
**
// Fetch a list of users with a count of all the opportunities they own using groupby.
string groupby1 = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='name' alias='opportunity_count' aggregate='countcolumn' />
<attribute name='ownerid' alias='ownerid' groupby='true' />
</entity>
</fetch>";

EntityCollection groupby1_result = _serviceProxy.RetrieveMultiple(new FetchExpression(groupby1));

foreach (var c in groupby1_result.Entities)


{
Int32 aggregate9a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate9a + "\n");
string aggregate9b = ((EntityReference)((AliasedValue)c["ownerid"]).Value).Name;
System.Console.WriteLine("Owner: " + aggregate9b);
string aggregate9c = (string)((AliasedValue)c["ownerid_owneridyominame"]).Value;
System.Console.WriteLine("Owner: " + aggregate9c);
string aggregate9d = (string)((AliasedValue)c["ownerid_owneridyominame"]).Value;
System.Console.WriteLine("Owner: " + aggregate9d);
}

The samples below show the following group by examples:


Group by with linked entity
Group by year
Group by quarter
Group by month
Group by week
Group by day
Multiple group by
Group by with linked entity
The following example shows how to use the sum``aggregate attribute to sum linked entity values.
//
***************************************************************************************************************
**
// FetchXML groupby2 Aggregate 10
//
***************************************************************************************************************
**
// Fetch the number of opportunities each manager's direct reports
// own using a groupby within a link-entity.
string groupby2 = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='name' alias='opportunity_count' aggregate='countcolumn' />
<link-entity name='systemuser' from='systemuserid' to='ownerid'>
<attribute name='parentsystemuserid' alias='managerid' groupby='true' />
</link-entity>
</entity>
</fetch>";

EntityCollection groupby2_result = _serviceProxy.RetrieveMultiple(new FetchExpression(groupby2));

foreach (var c in groupby2_result.Entities)


{

int? aggregate10a = (int?)((AliasedValue)c["opportunity_count"]).Value;


System.Console.WriteLine("Count of all opportunities: " + aggregate10a + "\n");
}

Group by year
Group By for dates uses the day, week, month, quarter, or year value. The following example shows how to use the
aggregate attribute and the groupby attribute to group the results by year.
//
***************************************************************************************************************
**
// FetchXML byyear Aggregate 11
//
***************************************************************************************************************
**
// Fetch aggregate information about the opportunities that have
// been won by year.
string byyear = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='year' alias='year' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection byyear_result = _serviceProxy.RetrieveMultiple(new FetchExpression(byyear));

foreach (var c in byyear_result.Entities)


{
Int32 aggregate11 = (Int32)((AliasedValue)c["year"]).Value;
System.Console.WriteLine("Year: " + aggregate11);
Int32 aggregate11a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate11a);
decimal aggregate11b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate11b);
decimal aggregate11c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate11c);
System.Console.WriteLine("----------------------------------------------");
}

Group by quarter
The following example shows how to use the aggregate attribute and the groupby attribute to group the results
by quarter.
//
***************************************************************************************************************
**
// FetchXML byquarter Aggregate 12
//
***************************************************************************************************************
**
// Fetch aggregate information about the opportunities that have
// been won by quarter.(returns 1-4)
string byquarter = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='quarter' alias='quarter' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection byquarter_result = _serviceProxy.RetrieveMultiple(new FetchExpression(byquarter));

foreach (var c in byquarter_result.Entities)


{
Int32 aggregate12 = (Int32)((AliasedValue)c["quarter"]).Value;
System.Console.WriteLine("Quarter: " + aggregate12);
Int32 aggregate12a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate12a);
decimal aggregate12b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate12b);
decimal aggregate12c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate12c);
System.Console.WriteLine("----------------------------------------------");
}

Group by month
The following example shows how to use the aggregate attribute and the groupby attribute to group the results
by month.
//
***************************************************************************************************************
**
// FetchXML bymonth Aggregate 13
//
***************************************************************************************************************
**
// Fetch aggregate information about the opportunities that have
// been won by month. (returns 1-12)
string bymonth = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='month' alias='month' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection bymonth_result = _serviceProxy.RetrieveMultiple(new FetchExpression(bymonth));

foreach (var c in bymonth_result.Entities)


{
Int32 aggregate13 = (Int32)((AliasedValue)c["month"]).Value;
System.Console.WriteLine("Month: " + aggregate13);
Int32 aggregate13a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate13a);
decimal aggregate13b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate13b);
decimal aggregate13c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate13c);
System.Console.WriteLine("----------------------------------------------");
}

Group by week
The following example shows how to use the aggregate attribute and the groupby attribute to group the results
by week.
//
***************************************************************************************************************
**
// FetchXML byweek Aggregate 14
//
***************************************************************************************************************
**
// Fetch aggregate information about the opportunities that have
// been won by week. (Returns 1-52)
string byweek = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='week' alias='week' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection byweek_result = _serviceProxy.RetrieveMultiple(new FetchExpression(byweek));

foreach (var c in byweek_result.Entities)


{
Int32 aggregate14 = (Int32)((AliasedValue)c["week"]).Value;
System.Console.WriteLine("Week: " + aggregate14);
Int32 aggregate14a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate14a);
decimal aggregate14b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate14b);
decimal aggregate14c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate14c);
System.Console.WriteLine("----------------------------------------------");
}

Group by day
The following example shows how to use the aggregate attribute and the groupby attribute to group the results
by day.
//
***************************************************************************************************************
**
// FetchXML byday Aggregate 15
//
***************************************************************************************************************
**
// Fetch aggregate information about the opportunities that have
// been won by day. (Returns 1-31)
string byday = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='day' alias='day' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection byday_result = _serviceProxy.RetrieveMultiple(new FetchExpression(byday));

foreach (var c in byday_result.Entities)


{
Int32 aggregate15 = (Int32)((AliasedValue)c["day"]).Value;
System.Console.WriteLine("Day: " + aggregate15);
Int32 aggregate15a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate15a);
decimal aggregate15b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate15b);
decimal aggregate15c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate15c);
System.Console.WriteLine("----------------------------------------------");
}

Multiple group by
The following example shows how to use the aggregate attribute and multiple groupby clauses.
//
***************************************************************************************************************
**
// FetchXML byyrqtr Aggregate 16
//
***************************************************************************************************************
**
// Fetch aggregate information about the opportunities that have
// been won by year and quarter.
string byyrqtr = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='quarter' alias='quarter' />
<attribute name='actualclosedate' groupby='true' dategrouping='year' alias='year' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection byyrqtr_result = _serviceProxy.RetrieveMultiple(new FetchExpression(byyrqtr));

foreach (var c in byyrqtr_result.Entities)


{
Int32 aggregate16d = (Int32)((AliasedValue)c["year"]).Value;
System.Console.WriteLine("Year: " + aggregate16d);
Int32 aggregate16 = (Int32)((AliasedValue)c["quarter"]).Value;
System.Console.WriteLine("Quarter: " + aggregate16);
Int32 aggregate16a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate16a);
decimal aggregate16b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate16b);
decimal aggregate16c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate16c);
System.Console.WriteLine("----------------------------------------------");
}

Order by
The following example shows how to use the aggregate attribute and multiple orderby clauses.
//
***************************************************************************************************************
**
// FetchXML byyrqtr2 Aggregate 17
//
***************************************************************************************************************
**
// Specify the result order for the previous sample. Order by year, then quarter.
string byyrqtr2 = @"
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='opportunityid' alias='opportunity_count' aggregate='count'/>
<attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum'/>
<attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg'/>
<attribute name='actualclosedate' groupby='true' dategrouping='quarter' alias='quarter' />
<attribute name='actualclosedate' groupby='true' dategrouping='year' alias='year' />
<order alias='year' descending='false' />
<order alias='quarter' descending='false' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='Won' />
</filter>
</entity>
</fetch>";

EntityCollection byyrqtr2_result = _serviceProxy.RetrieveMultiple(new FetchExpression(byyrqtr2));

foreach (var c in byyrqtr2_result.Entities)


{
Int32 aggregate17 = (Int32)((AliasedValue)c["quarter"]).Value;
System.Console.WriteLine("Quarter: " + aggregate17);
Int32 aggregate17d = (Int32)((AliasedValue)c["year"]).Value;
System.Console.WriteLine("Year: " + aggregate17d);
Int32 aggregate17a = (Int32)((AliasedValue)c["opportunity_count"]).Value;
System.Console.WriteLine("Count of all opportunities: " + aggregate17a);
decimal aggregate17b = ((Money)((AliasedValue)c["estimatedvalue_sum"]).Value).Value;
System.Console.WriteLine("Sum of estimated value of all opportunities: " + aggregate17b);
decimal aggregate17c = ((Money)((AliasedValue)c["estimatedvalue_avg"]).Value).Value;
System.Console.WriteLine("Average of estimated value of all opportunities: " + aggregate17c);
System.Console.WriteLine("----------------------------------------------");
}

See also
Page Large Result Sets with FetchXML
Fetch XML Schema
RetrieveMultiple
RetrieveMultipleRequest
FetchExpression
Fiscal date and older than datetime query operators
in FetchXML
3/22/2019 • 3 minutes to read • Edit Online

A FetchXML query in Common Data Service can use special fiscal date values and older than clauses for date and
time values in queries. For example, a FetchXML query can find all orders fulfilled in the last fiscal month or urgent
cases with high severity that are older than 15 minutes.

NOTE
For all fiscal date queries, the FetchXML query uses the organization’s fiscal year settings.

Using FetchXML fiscal date conditional operators


The following example shows a FetchXML expression that finds all orders fulfilled in the last fiscal period,
according to the organization’s fiscal year settings. For example, if the organization uses fiscal months, the query
returns orders fulfilled in the last fiscal month. If the organization uses fiscal quarters, the query returns orders
fulfilled in the last fiscal quarter. If the organization uses fiscal semesters, orders fulfilled in the last fiscal semester
are returned.

<fetch>
<entity name="order">
<attribute name="name"/>
<filter type="and">
<condition attribute="datefulfilled" operator="last-fiscal-period"/>
</filter>
</entity>
</fetch>

The following example shows a FetchXML expression that finds all accounts created in fiscal year 2013.

<fetch>
<entity name="account">
<attribute name="name"/>
<filter type="and">
<condition attribute="createdon" operator="in-fiscal-year" value="2013"/>
</filter>
</entity>
</fetch>

The following example shows a FetchXML expression that finds all opportunities with an estimated close date in
the next three fiscal years, based on the organization’s fiscal year settings. The value for x is specified in the value
attribute of the condition tag.
<fetch>
<entity name="opportunity">
<attribute name="name"/>
<filter type="and">
<condition attribute="estimatedclosedate" operator="next-x-fiscal-years" value="3"/>
</filter>
</entity>
</fetch>

The following example shows a FetchXML expression that finds all orders fulfilled in period three of any fiscal year,
according to the organization’s fiscal year settings. The fiscal period value is specified in the value attribute of the
condition tag. If the organization uses fiscal months, the query returns results from month three. If the organization
uses fiscal quarters, the query returns results from quarter three. If the organization uses fiscal semesters, no
results are returned; there are only two semesters, and the value supplied is therefore out-of-range.

<fetch>
<entity name="order">
<attribute name="name"/>
<filter type="and">
<condition attribute="datefulfilled" operator="in-fiscal-period" value="3"/>
</filter>
</entity>
</fetch>

The following example shows a FetchXML expression that finds all orders fulfilled in period three of fiscal year
2013, according to the organization’s fiscal year settings. If the organization uses fiscal months, the query returns
results from month three. If the organization uses fiscal quarters, the query returns results from quarter three. If
the organization uses fiscal semesters, no results are returned; there are only two semesters, and the value supplied
is therefore out-of-range.

<fetch>
<entity name="order">
<attribute name="name"/>
<filter type="and">
<condition attribute="datefulfilled" operator="in-fiscal-period-and-year">
<value>3</value>
<value>2013</value>
</condition>
</filter>
</entity>
</fetch>

The following example shows a FetchXML aggregation expression that sums the total amount of orders fulfilled
and groups the result by fiscal semester and fiscal year.

<fetch aggregate="true">
<entity name="order">
<attribute name="totalamount" aggregate="sum" alias="total"/>
<attribute name="datefulfilled" groupby="true" dategrouping="fiscal-period"/>
</entity>
</fetch>

Using “older than” clauses for date and time values


The following example shows a FetchXML that finds incidents that are older than 30 minutes.
<fetch>
<entity name="incident">
<attribute name="title" />
<attribute name="ticketnumber" />
<attribute name="createdon" />
<attribute name="incidentid" />
<filter type="and">
<condition attribute="createdon" operator="olderthan-x-minutes" value="30" />
</filter>
</entity>
</fetch>

Use the following syntax to specify variious older than clauses in a FetchXML expression.
Older than X minutes

<condition attribute="<AttributeName>" operator="olderthan-x-minutes" value="<VALUE>" />

NOTE
This clause is not supported for date and time attributes with DateOnly behavior. More information: Date and time query
operators not supported for DateOnly behavior

Older than X hours

<condition attribute="<AttributeName>" operator="olderthan-x-hours" value="<VALUE>" />

NOTE
This clause is not supported for date and time attributes with DateOnly behavior. More information: Date and time query
operators not supported for DateOnly behavior

Older than X days

<condition attribute="<AttributeName>" operator="olderthan-x-days" value="<VALUE>" />

Older than X weeks

<condition attribute="<AttributeName>" operator="olderthan-x-weeks" value="<VALUE>" />

Older than X months

<condition attribute="<AttributeName>" operator="olderthan-x-months" value="<VALUE>" />

Older than X years

<condition attribute="<AttributeName>" operator="olderthan-x-years" value="<VALUE>" />

See also
Create Queries to Retrieve Data
Building Queries with FetchXML
Use a left outer join in FetchXML to query for records "not in"
Use a left outer join in FetchXML to query for records
"not in"
3/22/2019 • 2 minutes to read • Edit Online

You can use a left outer join in FetchXML to perform a query that filters on the join table, such as to find all
contacts who did not have any campaign activities in the past two months. Another common use for this type of a
query is to find records “not in” a set, such as in these cases:
Find all leads that have no tasks
Find all accounts that have no contacts
Find all leads that have one or more tasks
A left outer join returns each row that satisfies the join of the first input with the second input. It also returns
any rows from the first input that had no matching rows in the second input. The nonmatching rows in the
second input are returned as null values.
You can perform a left outer join in FetchXML by using the entityname attribute as a condition operator. The
entityname attribute is valid in conditions, filters, and nested filters.

You can create a query using a left outer join programmatically and execute the query using the
RetrieveMultipleRequest, and you can save the query by creating a SavedQuery record. You can open a
saved query that contains a left outer join in the Advanced Find or Saved Query editors in the web
application and execute and view results, but some editor functionality is disabled. Those editors will allow
modifications to the query, such as to change the columns returned, but the editor does not support
changing the left outer join.

Example: Find all accounts that have no leads


The following shows how to construct the query in FetchXML:

<fetch mapping='logical'>
<entity name='account'>
<attribute name='name'/>
<link-entity name='lead'
from='leadid'
to='originatingleadid'
link-type='outer'/>
<filter type='and'>
<condition entityname='lead'
attribute='leadid'
operator='null'/>
</filter>
</entity>
</fetch>

Example: Find all leads that have no tasks, using an alias


The following shows how to construct the query in FetchXML:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="lead">
<attribute name="fullname" />
<link-entity name="task" from="regardingobjectid" to="leadid" alias="ab" link-type="outer">
<attribute name="regardingobjectid" />
</link-entity>
<filter type="and">
<condition entityname="ab" attribute="regardingobjectid" operator="null" />
</filter>
</entity>
<fetch/>

This is equivalent to the following SQL:

SELECT lead.FullName
FROM Leads as lead
LEFT OUTER JOIN Tasks as ab
ON (lead.leadId = ab.RegardingObjectId)
WHERE ab.RegardingObjectId is null

See also
Build Queries with FetchXML
Sample: Use Aggregation in FetchXML
Use FetchXML to Construct a Query
Sample: Validate and Execute a Saved Query
Page large result sets with FetchXML
3/22/2019 • 2 minutes to read • Edit Online

You can page the results of a FetchXML query by using the paging cookie. The paging cookie is a performance
feature that makes paging in the application faster for very large datasets. When you query for a set of records, the
result will contain a value for the paging cookie. For better performance, you can pass that value when you retrieve
the next set of records.
FetchXML and QueryExpression use different formats for their paging cookies. If you convert from one query
format to the other by using the FetchXmlToQueryExpressionRequest message or the
QueryExpressionToFetchXmlRequest message, the paging cookie value is ignored. In addition, if you request
nonconsecutive pages, the paging cookie value is ignored.
When you use the paging cookie with FetchXML, make sure that you use the correct encoding. The following
example shows the correct encoding when using the paging cookie with FetchXML:

strQueryXML = @"
<fetch mapping='logical' paging-cookie='&lt;cookie page=&quot;1&quot;&gt;&lt;accountid last=&quot;{E062B974-
7F8D-DC11-9048-0003FF27AC3B}&quot; first=&quot;{60B934EF-798D-DC11-9048-
0003FF27AC3B}&quot;/&gt;&lt;/cookie&gt;' page='2' count='2'>
<entity name='account'>
<all-attributes/>
</entity>
</fetch>";

FetchXML and the Paging Cookie Example


The following example shows how to use the paging cookie with a FetchXML query. For the complete sample
code, see Sample: Use FetchXML with a Paging Cookie.

// Define the fetch attributes.


// Set the number of records per page to retrieve.
int fetchCount = 3;
// Initialize the page number.
int pageNumber = 1;
// Initialize the number of records.
int recordCount = 0;
// Specify the current paging cookie. For retrieving the first page,
// pagingCookie should be null.
string pagingCookie = null;

// Create the FetchXml string for retrieving all child accounts to a parent account.
// This fetch query is using 1 placeholder to specify the parent account id
// for filtering out required accounts. Filter query is optional.
// Fetch query also includes optional order criteria that, in this case, is used
// to order the results in ascending order on the name data column.
string fetchXml = string.Format(@"<fetch version='1.0'
mapping='logical'
output-format='xml-platform'>
<entity name='account'>
<attribute name='name' />
<attribute name='emailaddress1' />
<order attribute='name' descending='false'/>
<filter type='and'>
<condition attribute='parentaccountid'
operator='eq' value='{0}' uiname='' uitype='' />
</filter>
</filter>
</entity>
</fetch>",
_parentAccountId);

Console.WriteLine("Retrieving data in pages\n");


Console.WriteLine("#\tAccount Name\t\t\tEmail Address");

while (true)
{
// Build fetchXml string with the placeholders.
string xml = CreateXml(fetchXml, pagingCookie, pageNumber, fetchCount);

// Excute the fetch query and get the xml result.


RetrieveMultipleRequest fetchRequest1 = new RetrieveMultipleRequest
{
Query = new FetchExpression(xml)
};

EntityCollection returnCollection =
((RetrieveMultipleResponse)_service.Execute(fetchRequest1)).EntityCollection;

foreach (var c in returnCollection.Entities)


{
System.Console.WriteLine("{0}.\t{1}\t\t{2}", ++recordCount, c.Attributes["name"],
c.Attributes["emailaddress1"] );
}

// Check for morerecords, if it returns 1.


if (returnCollection.MoreRecords)
{
Console.WriteLine("\n****************\nPage number {0}\n****************", pageNumber);
Console.WriteLine("#\tAccount Name\t\t\tEmail Address");

// Increment the page number to retrieve the next page.


pageNumber++;

// Set the paging cookie to the paging cookie returned from current results.
pagingCookie = returnCollection.PagingCookie;
}
else
{
// If no more records in the result nodes, exit the loop.
break;
}
}

See also
Sample: Use FetchXML with a Paging Cookie
Building Queries with FetchXML
Fiscal date and older than datetime query operators in FetchXML
Using FetchXML
Page large result sets with QueryExpression
Saved queries
3/22/2019 • 2 minutes to read • Edit Online

Saved queries are business entities that define the parameters and criteria of a Common Data Service environment
search. Saved queries support cross-entity searches. There are two entities available for queries against the
Common Data Service environment.
A user query, called a saved view in the application, is owned by an individual user, can be assigned and
shared with other users, and can be viewed by other users depending on the query's access privileges. This
is appropriate for frequently used queries that span entity types and queries that perform aggregation. More
information: UserQuery entity
A saved query, called a view in the application, is owned by an organization making it visible to all users in
the organization. Saved queries (views) are used for both views defined for an entity and for filters and
templates for Dynamics 365 for Outlook. More information: SavedQuery entity
A query in the form of a FetchXML statement is constructed and then assigned to the UserQuery.FetchXml
attribute. This query can be executed by using the ExecuteByIdUserQueryRequest message.
You can see the user query in the Advanced Find section of the model-driven app and also in the View drop-
down list for an entity. You can export the value of the UserQuery.FetchXml attribute by using the Download Fetch
XML button in the Advanced Find dialog box.

Use Web API to execute saved queries


To know about executing user query and saved query using Web API, see Retrieve and execute predefined queries

Use Organization service to execute saved queries


You can use the ExecuteByIdUserQueryRequest and ExecuteByIdSavedQueryRequest messages to execute user
query and saved query respectively.
Query hierarchical data
3/22/2019 • 2 minutes to read • Edit Online

You can define specific self-referencing one-to-many entity relationships as hierarchical. You can write queries that
return related data in these hierarchies.
You can take advantage of new query condition operators to query entities with explicit hierarchical relationships.
These operators only apply for the entity relationship specifically defined as a hierarchical relationship. You can use
new condition operators to retrieve this hierarchical data when you query using QueryExpression or
FetchExpression.

Condition operators for hierarchical data


Use the following operators to set conditions when querying hierarchical data.

FETCHXML CONDITIONOPERATOR DESCRIPTION

above Above Returns all records in referenced


record's hierarchical ancestry line.

eq-or-above AboveOrEqual Returns the referenced record and all


records above it in the hierarchy.

under Under Returns all child records below the


referenced record in the hierarchy

eq-or-under UnderOrEqual Returns the referenced record and all


child records below it in the hierarchy

not-under NotUnder Returns all records not below the


referenced record in the hierarchy

eq-owneduseroruserhierarchy OwnedByMeOrMyReports When hierarchical security models are


used, Equals current user or his
reporting hierarchy

eq-useroruserhierarchyandteams OwnedByMeOrMyReportsAndTeams When hierarchical security models are


used, Equals current user and his or her
teams, or his or her reporting hierarchy
and their teams

Recursion limits when querying hierarchical data


Because querying hierarchical data can be resource intensive, there is a default limit of 100 recursions allowed
conditions for hierarchical queries using the Above , AboveOrEqual , Under , UnderOrEqual , and NotUnder condition
operators.
OwnedByMeOrMyReports and OwnedByMeOrMyReportsAndTeams are hierarchical security condition operators that depend
on the Hierarchy Depth setting that can be found in Settings > Security > Hierarchy Security. The value of
this setting is stored in the Organization.MaxDepthForHierarchicalSecurityModel attribute.

Retrieve the number of hierarchically related child records


Use the rowaggregate attribute in a FetchXML based query to retrieve the number of hierarchically related child
records. When this value is set to CountChildren a value that includes the total number of child records for the
record is included in the EntityCollection. For example, the following query will include an AccountChildren
aggregate value representing the number of child account records in the hierarchical relationship where the {0}
parameter represents the AccountId of the parent record.

<fetch distinct='false' no-lock='false' mapping='logical'>


<entity name='account'>
<attribute name='name' />
<attribute name='accountid' />
<attribute name='accountid' rowaggregate='CountChildren' alias='AccountChildren'/>
<filter type='and'>
<condition attribute='accountid' operator='under' value='{0}' />
</filter>
</entity>
</fetch>

NOTE
The aggregate value returned represents all the child records, including any that the user may not have access to read.
Auditing overview
3/22/2019 • 2 minutes to read • Edit Online

Organizations often need to be in compliance with various regulations to ensure availability of customer
interaction history, audit logs, access reports, and security incident tracking reports. Organizations may want to
track changes in Common Data Service data for security and analytical purpose.
Common Data Service supports an auditing capability where entity and attribute data changes within an
organization can be recorded over time for use in analysis and reporting purposes. Auditing is supported on all
custom and most customizable entities and attributes. Auditing is not supported on metadata changes, retrieve
operations, export operations, or during authentication. For information on how to configure auditing, see
Configure Entities and Attributes for Auditing.

Supported for auditing


The following lists auditing capabilities for Common Data Service:
Audit of customizable entities
Audit of custom entities
Configure entities for audit
Configure attributes for audit
Privilege-based audit trail viewing
Privilege-based audit summary viewing
Audit log deletion for a partitioned SQL database
Audit log deletion for a non-partitioned SQL database
Audit of record create, update, and delete operations
Audit of relationships (1:N, N:N )
Audit of audit events
Audit of user access
Adherence to regulatory standards
Auditing APIs for developers

Not supported for auditing


The following lists what cannot be audited for Common Data Service:
Audit of read operations
Audit of metadata changes

Key concepts
The following bullets identify some key auditing concepts:
You can enable or disable auditing at the organization, entity, and attribute levels. If auditing is not enabled
at the organization level, auditing of entities and attributes, even if it is enabled, does not occur. By default,
auditing is enabled on all auditable entity attributes, but is disabled at the entity and organization level.
The ability to retrieve and display the audit history is restricted to users who have certain security privileges:
View Audit History, and View Audit Summary. There are also privileges specific to partitions: View Audit
Partitions, and Delete Audit Partitions. See the specific message request documentation for information
about the required privileges for each message.
Audited data changes are stored in records of the audit entity.

Data that can be audited


The following list identifies the data and operations that can be audited:
Create, update, and delete operations on records.
Changes to the shared privileges of a record.
N:N association or disassociation of records.
Changes to security roles.
Audit changes at the entity, attribute, and organization level. For example, enabling audit on an entity.
Deletion of audit logs.
When (date/time) a user accesses Common Data Service data, for how long, and from what client.
Enabling or disabling of field level security by setting the IsSecured attribute cannot be audited.
See also
Data Management in Dynamics 365
Audit entity data changes
Configure entities and attributes for auditing
Blog: Recover your deleted CRM data and recreate them using CRM API
Configure entities and attributes for auditing
3/22/2019 • 2 minutes to read • Edit Online

There are three levels where auditing can be configured: organization, entity, and attribute. The organization level
is the highest level, followed by the entity level, and finally the attribute level. For attribute auditing to take place,
auditing must be enabled at the attribute, entity, and organization levels. For entity auditing to take place, auditing
must be enabled at the entity and organization levels.
There is a slight difference in how auditing is enabled or disable for an organization compared to an entity or
attribute. You enable or disable auditing at the organization level by setting a particular attribute value of the
organization record. However, for entities and attributes, you set a property value of the entity or attribute
metadata.
A user must be assigned the System Administrator or System Customizer role to enable or disable auditing.

Enabling auditing
By setting the IsAuditEnabled property of an entity’s metadata and the IsAuditEnabled property of each desired
attribute’s metadata to true , data changes to records of those entities can be logged by the platform. However,
when enabling auditing on an entity, all of the entity’s attributes are enabled for auditing by default. Of course you
can explicitly disable auditing on any or all of the attributes as needed. The IsAuditEnabled property can be set
when entity or attribute metadata is created or updated through the following requests: CreateEntityRequest,
UpdateEntityRequest, CreateAttributeRequest, UpdateAttributeRequest.
After changing the entity attribute metadata, you must publish the entity by using PublishXmlRequest. Changing
the IsAuditEnabled property at the entity level does not require publishing. Typically, customization and
publishing is performed by the same user. However, if these tasks are performed by different users, auditing will
record the publish action, the user that initiated the publish operation, and not the update action.
In addition, auditing is enabled at the organization level by setting the IsAuditEnabled attribute value of the target
organization record to true .

Disabling auditing
To disable auditing, just set IsAuditEnabled, as described previously, to false . Publish the entity customizations if
you have disabled auditing on any attributes. You can disable auditing for a whole organization by setting the
IsAuditEnabled attribute to false in the target organization’s record.

Entities that can be audited


All custom and most customizable entities can be audited. For a list of customizable entities, see Which Entities are
Customizable?.
The following table lists the non-customizable entities that cannot be audited. This table was obtained by testing
for a CanModifyAuditSettings attribute value of false on each entity’s metadata.

ActivityPointer

Annotation
BulkOperation

Calendar

CalendarRule

CustomerOpportunityRole

Discount

DiscountType

IncidentResolution

KbArticle

KbArticleComment

KbArticleTemplate

Notification

OpportunityClose

OrderClose

ProductPriceLevel

QuoteClose

RecurrenceRule

Resource

ResourceGroup

ResourceGroupExpansion

ResourceSpec

SalesLiteratureItem

SalesProcessInstance

Service

Subject

Template

UoM
UoMSchedule

Workflow

WorkflowLog

See also
Data Management in Dynamics 365
Audit entity data changes
Retrieve and delete the history of audited data changes
Sample: Audit Entity Data Changes
Auditing Data Changes in Dynamics 365
Retrieve and delete the history of audited data
changes
3/22/2019 • 2 minutes to read • Edit Online

After auditing is enabled and data changes are made to those entities and attributes being audited, you can
proceed to obtain the data change history. Optionally, you can delete the audit records after you review the change
history. Follow the sample code link at the end of this topic for more information.

Retrieve the change history


There are several messages requests that can be used to retrieve the audit change history. These requests are
differentiated by the nature of what they retrieve.
Refer to the sample link at the end of this topic for sample code that demonstrates some of these change history
message requests.

Delete the change history for a record


Use the DeleteRecordChangeHistoryRequest message to delete all the audit change history records for a
particular record. This lets you delete the audit change history for a record instead of deleting all the audit records
for a date range, which is covered in the next section. To delete the audit change history for a record, you must
have a security role with the prvDeleteRecordChangeHistory privilege or be a System Administrator.

Delete the change history for a date range


You can delete audit records for a date range using the DeleteAuditDataRequest request. Audit data records are
deleted sequentially from the oldest to the newest. The functionality of this request is slightly different based on
the edition of Microsoft SQL Server being used by your Common Data Service server. Common Data Service uses
an enterprise edition of SQL Server.
If your Common Data Service server uses SQL Server standard edition, which does not support the database
partitioning feature, the DeleteAuditDataRequest request deletes all audit records created up to the end date
specified in the EndDate property.
If your Common Data Service server uses an Enterprise edition of SQL Server that does support partitioning, the
DeleteAuditDataRequest request will delete all audit data in those partitions where the end date is before the date
specified in the EndDate property. Any empty partitions are also deleted. However, neither the current (active)
partition nor the audit records in that active partition can be deleted by using this request or any other request.
New partitions are automatically created by the Common Data Service platform on a quarterly basis each year.
This functionality is non-configurable and cannot be changed. You can obtain the list of partitions using the
RetrieveAuditPartitionListRequest request. If the end date of any partition is later than the current date, you cannot
delete that partition or any audit records in it.
See also
Data Management in Dynamics 365
Audit entity data changes
Audit user access
Sample: Audit Entity Data Changes
Audit user access
3/22/2019 • 2 minutes to read • Edit Online

Common Data Service support the ability to audit user access. The information that is recorded includes when the
user started accessing Common Data Service and if access originated from the Common Data Service web
application, Dynamics 365 for Outlook, or SDK calls to the web services.

Enable user access auditing


Auditing of user access is enabled at the organization level. To enable or disable user access auditing, you must
retrieve the target organization’s record, and update the Organization.IsUserAccessAuditEnabled attribute value for
the organization. Global auditing on the organization must also be enabled by setting the
Organization.IsAuditEnabled attribute to true in the organization record. To audit the origin of user access, for
example: web application, Dynamics 365 for Outlook or SDK, you must enable auditing on the entities being
accessed.
The frequency of auditing user access can be read or set using the Organization.UserAccessAuditingInterval
attribute. The default attribute value of 4 indicates user access is audited once every 4 hours.
For more information about enabling auditing for an organization and entity, see Configure Entities and Attributes
for Auditing.

Filter on user access events


To search for audit records that are related to user access, your code should retrieve Audit records of an
organization and filter on the value in Audit.Action . An enumeration named AuditAction is provided to identify
supported audit actions. The actions related to user access are shown in the following list.
AuditAction.UserAccessviaWeb

AuditAction.UserAccessviaWebServices

AuditAction.UserAccessAuditStarted

AuditAction.UserAccessAuditStopped

UserAccessviaWeb indicates access from the Common Data Service web application or Dynamics 365 for Outlook.
UserAccessviaWebServices indicates a web service request from the SDK. The AuditAction enumeration is
available to your code when you include OptionSets.cs or OptionSets.vb in your application’s project.
See also
Audit Entity Data Changes in Dynamics 365
Configure Entities and Attributes for Auditing
Sample: Audit Entity Data Changes
Sample: Audit User Access
Detect duplicate data using code
3/22/2019 • 2 minutes to read • Edit Online

Duplicate detection lets organizations set duplicate detection policies and create duplicate detection rules for
business and custom entities. These rules can be applied across different record types in Common Data Service.
For example, an organization may define that a lead is a duplicate of a contact, if they have the same name and
phone number. Based on the duplicate detection rules set by the administrator, the system alerts the user about
potential duplicates when the user tries to create new records or update existing records. To maintain data quality,
you can schedule a duplicate detection job to check for duplicates for all records that match a certain criteria. You
can clean the data by deleting, deactivating, or merging the duplicates reported by a duplicate detection job.

NOTE
For information on how to create rules and run system jobs for detecting duplicate data using the user interface (UI), see
Detect duplicate data so you can fix or remove it.

You can use the Web API or Organization service to detect duplicate data. Topics in this section provide
information on how you can detect duplicate data using both web services.
See also
Enable and Disable duplicate detection
Run duplicate detection
Duplicate detection messages
Duplicate Rule entities
Enable and Disable duplicate detection
3/22/2019 • 2 minutes to read • Edit Online

This topic covers information on how to enable and disable duplicate detection in Dynamics 365.

Enable duplicate detection


Before running duplicate detection, enable it for each of the following:
Globally (for all entities in the organization).
For an entity.
For specific operations.

NOTE
You must enable duplicate detection in all three areas to detect duplicates for an entity and for operations on an entity.

Enable duplicate detection globally


Use the UpdateRequest message to set the Organization.IsDuplicateDetectionEnabled attribute to true .
Read Turn duplicate detection rules on or off for the whole organization to find out how you can use the user
interface to enable duplicate detection for the entire organization.
Enable duplicate detection for an entity
Use the UpdateRequest message to set the IsDuplicateDetectionEnabled property to true .
Enable duplicate detection for specific operations
Set the following attributes to true :
Organization.IsDuplicateDetectionEnabledForOnlineCreateUpdate . Create and update records in
Common Data Service by using the Web application or Dynamics 365 for Outlook. This attribute
enables or disables duplicate detection for records created or updated with the CreateRequest and
UpdateRequest messages. However, it does not affect records created or updated with the
IOrganizationService.Create and IOrganizationService.Update methods.
Organization.IsDuplicateDetectionEnabledForOfflineSync . Synchronize offline records when
Dynamics 365 for Outlook goes from offline to online.
Organization.IsDuplicateDetectionEnabledForImport . Import bulk data.

NOTE
You do not have to publish the duplicate detection rules to enable duplicate detection for these operations. However,
you must publish the duplicate detection rules before you perform the operations.

Disable duplicate detection


Disable duplicate detection globally or for an entity type by unpublishing the duplicate detection rules or by
deleting the published rules.
Disable duplicate detection globally
To disable duplicate detection globally, use the UpdateRequest message to set the
Organization.IsDuplicateDetectionEnabled attribute to false . This automatically unpublishes all duplicate
detection rules for all entity types in the organization.
Disable duplicate detection for an entity
To disable duplicate detection for an entity type, do one of the following:
Use the UpdateEntityRequest message to set the IsDuplicateDetectionEnabled property to false . This
automatically unpublishes all duplicate detection rules for an entity type. This removes duplicate detection
support for the entity type and you cannot create a new duplicate detection rule for this entity type.
Unpublish all duplicate detection rules for an entity type by using the UnpublishDuplicateRuleRequest
message.
Delete published duplicate detection rules
Delete all published rules in the system to disable duplicate detection globally, or delete published rules for specific
entity types by using the IOrganizationService.Delete method.

See Also
Duplicate detection
Run duplicate detection
Duplicate rule entities
Run duplicate detection
3/22/2019 • 3 minutes to read • Edit Online

There are several ways to perform duplicate detection after you enable it and publish the duplicate detection rules.

Retrieve and detect duplicates for a specified record


Detect and retrieve duplicates:
Before you create an entity
For an existing entity
For other entities that correspond to duplicate rules across entities. For example, any Lead entity which
matches a contact entity.
Options:
Web API: RetrieveDuplicates Function
Organization Service: RetrieveDuplicatesRequest
Example: Detect duplicates for a specified record using Web API
The following example shows how to detect duplicates of a specified record using RetrieveDuplicates function.
Request

GET [Organization
URI]/api/data/v9.0/RetrieveDuplicates(BusinessEntity=@p1,MatchingEntityName=@p2,PagingInfo=@p3)?@p1=
{'@odata.type':'Microsoft.Dynamics.CRM.account','accountid':'0d1156d2-1598-e711-80e8-
00155db64062'}&@p2='account'&@p3={'PageNumber':1,'Count':50} HTTP/1.1
If-None-Match: null
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
Accept: application/json

Response

HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0

{
"@odata.context": "[Organization URI]/api/data/v9.0/$metadata#accounts",
"value": [
<Omitted for brevity: JSON data for any matching accounts including all properties>
]
}

Detect duplicates for an entity type


Submit an asynchronous duplicate detection job that runs in the background. The duplicates are detected
according to the published duplicate rules for the entity type. The detected duplicates are stored as
DuplicateRecord records in Dynamics 365.

A maximum of 5000 duplicates are returned by the duplicate detection job.


Options
Web API: BulkDetectDuplicates Action
Organization Service: BulkDetectDuplicatesRequest
Example: Detect duplicates for an entity type using the Web API
The following example shows how to detect duplicates for an entity type by creating an asynchronous job using
BulkDetectDuplicates action.

Request

POST [Organization URI]/api/data/v9.0/BulkDetectDuplicates HTTP/1.1


If-None-Match: null
OData-Version: 4.0
Content-Type: application/json
Accept: application/json
OData-MaxVersion: 4.0

{
"Query": {
"@odata.type": "#Microsoft.Dynamics.CRM.QueryExpression",
"EntityName": "lead"
},
"JobName": "jobname1",
"SendEmailNotification": false,
"TemplateId": "07B94C1D-C85F-492F-B120-F0A743C540E6",
"ToRecipients": [],
"CCRecipients": [],
"RecurrencePattern": "",
"RecurrenceStartTime": "2015-07-15T05:30:00Z"
}

Response

HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0

{
"@odata.context": "[Organization
URI]/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.BulkDetectDuplicatesResponse",
"JobId": "efaff068-7598-e711-80e8-00155db64062"
}

The above request creates an asynchronous duplicate detection job whose JobID is returned in the response. The
JobID returned from the above request can be used to fetch duplicate records in an entity type, as shown in the
example below.
Request

GET [Organization URI]/api/data/v9.0/asyncoperations(efaff068-7598-e711-80e8-


00155db64062)/AsyncOperation_DuplicateBaseRecord
If-None-Match: null
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
Accept: application/json

The FetchXML equivalent of the above request is shown below.


<fetch>
<entity name="duplicaterecord">
<attribute name="owninguser" />
<attribute name="ownerid" />
<attribute name="baserecordid" />
<attribute name="duplicateid" />
<attribute name="owningbusinessunit" />
<attribute name="createdon" />
<attribute name="asyncoperationid" />
<filter>
<condition attribute="asyncoperationid" operator="eq" value="efaff068-7598-e711-80e8-00155db64062"
/>
</filter>
</entity>
</fetch>

Response

HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0

{
"@odata.context":"[Organization URI]/api/data/v9.0/$metadata#duplicaterecords",
"value":[
{
"owninguser":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
"_ownerid_value":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
"_baserecordid_value":"3a6fc65b-3f9c-e711-811c-000d3a75ce72",
"duplicateid":"489a879c-019b-4c28-8539-51ebc850d18f",
"createdon":"2017-09-19T03:34:25Z",
"owningbusinessunit":"20a44144-6d9a-e711-811c-000d3a75ce72",
"_asyncoperationid_value":"efaff068-7598-e711-80e8-00155db64062",
"_duplicateruleid_value":null,
"_duplicaterecordid_value":null
},
{
"owninguser":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
"_ownerid_value":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
"_baserecordid_value":"406fc65b-3f9c-e711-811c-000d3a75ce72",
"duplicateid":"0a4a7dea-1488-4e05-b5eb-c2925ad2925a",
"createdon":"2017-09-19T03:34:25Z",
"owningbusinessunit":"20a44144-6d9a-e711-811c-000d3a75ce72",
"_asyncoperationid_value":"efaff068-7598-e711-80e8-00155db64062",
"_duplicateruleid_value":null,
"_duplicaterecordid_value":null
}
]
}

The GUID of the base record is stored as baserecordid in the DuplicateRecord records. duplicateid , in the above
response is the unique identifier of the duplicate record. asyncoperationid is the unique idenitifier of the system
job that created that record. And, ownerid is the unique identifier of the user or team that owns the duplicate
record. See DuplicateRecord Entity for more information.

NOTE
Before creating and executing duplicate detection jobs, make sure that there are appropriate duplicate detection rules in
place. Dynamics 365 includes default duplicate detection rules for accounts, contacts, and leads, but not for other types of
records. If you want the system to detect duplicates for other record types, you’ll need to create a new rule. For information
on how to create a duplicate detection rule, see Duplicate detection rules.
Detect duplicates during Create and Update operations
Duplicate detection while creating or updating records only applies when the organization has duplicate detection
enabled, the entity is enabled for duplicate detection, and there are active duplicate detection rules being applied.
By default, duplicate detection is suppressed when you are creating or updating a record using Web API or
Organization service.
To detect duplicate data while creating and updating records, see:
WebAPI: Detect duplicate data using the Web API
Organization Service: Detect duplicate data using the Organization service
See also
Duplicate Detection Messages
Duplicate detection messages
3/22/2019 • 2 minutes to read • Edit Online

Use the messages listed in the following table to detect duplicates in Common Data Service.

MESSAGE WEB API OPERATION SDK ASSEMBLY

Detects duplicates for a specified entity BulkDetectDuplicates Action BulkDetectDuplicatesRequest


type based on query criteria and store
them as instances of a duplicate record
entity type in the Common Data
Service database.

The query expression that describes the


records on which to run the duplicate
detection job is specified in the Query
property of this request.

Detects and retrieves duplicates for a RetrieveDuplicates Function RetrieveDuplicatesRequest


specified record.

The matching entity type is specified in


the MatchingEntityName property of
this request.

See also
Enable and disable duplicate detection
Running Duplicate Detection
Duplicate Rule entities
Duplicate rule entities
3/22/2019 • 4 minutes to read • Edit Online

For information about how to configure duplicate rules in the application, see Administrators Guide: Set up
duplicate detection rules to keep your data clean.
Duplicate detection rules are defined using the following entities:
DuplicateRule: To detect duplicates in the system, create a duplicate detection rule for a specific entity type. You
can create multiple detection rules for the same entity type. However, you can publish a maximum of five
duplicate detection rules per entity type at one time.
DuplicateRuleCondition: A rule can have one or more duplicate detection rule conditions that are represented
by the entity. The conditions are combined by the system as in logical AND operation. A duplicate detection
rule specifies a base entity type and a matching entity type. A duplicate rule condition specifies the name of a
base attribute and the name of a matching attribute. For example, specify an account as a base entity and a
contact as a matching entity to compare last names and addresses. The matching criteria consist of operators
such as exactly match, first n-number of characters, or last n-number of characters.
These two entities are related using the DuplicateRule_DuplicateRuleConditions relationship.
Duplicate detection works by comparing generated match codes of existing records with each new record being
created. These match codes are created as each new record is created. Therefore, there is potential for one or more
duplicate records to be created if they are processed at the exact same moment. In addition to detecting duplicates
as they are created, you should schedule duplicate detection jobs to check for other potential duplicate records.
The duplicate detection rules are system-wide. You must publish them before running a duplicate detection job to
detect duplicates for bulk data or retrieve duplicates for a particular entity record. To publish a duplicate detection
rule, use the PublishDuplicateRule message(PublishDuplicateRule Action or PublishDuplicateRuleRequest).
Duplicate rule publishing is an asynchronous operation that runs in the background.
The following writable attributes in these entities control the behavior of duplicate detection rules.

DuplicateRule
ATTRIBUTE DESCRIPTION

BaseEntityName Record type of the record being evaluated for potential


duplicates.

Description Description of the duplicate detection rule.

DuplicateRuleId Unique identifier of the duplicate detection rule.

ExcludeInactiveRecords Determines whether to flag inactive records as duplicates.


Note:
The default value is false . Set it to true if you do not
want inactive records to be flagged as duplicates, even if they
meet duplication detection rule criteria.
More information: Inactive states

IsCaseSensitive Indicates if the operator is case-sensitive.


ATTRIBUTE DESCRIPTION

MatchingEntityName Record type of the records being evaluated as potential


duplicates.

Name Name of the duplicate detection rule.

OwnerId Unique identifier of the user or team who owns the duplicate
detection rule.

OwnerIdType Whether the owner is a user or a team.

StatusCode Reason for the status of the duplicate detection rule.

Inactive states
Most system entities and all custom entities have two StateCode attribute options:
Value :0 InvariantName : Active
Value : 1 InvariantName : Inactive

The label of the option may be changed, but the InvariantName value will not.
Some system entities will have more than one active or inactive state.The following table lists examples of entities
with more than one active or inactive state.

ENTITY STATECODE ACTIVE STATE(S) INACTIVE STATE(S)

Appointment.StateCode Open , Scheduled Completed , Canceled

CampaignActivity.StateCode Open Closed , Canceled

CampaignResponse.StateCode Open Completed , Canceled

Contract.StateCode Draft , Invoiced , On Hold Canceled , Expired

ContractDetail.StateCode Existing , Renewed Canceled , Expired

Email.StateCode Open Completed , Canceled

Fax.StateCode Open Completed , Canceled

Incident.StateCode Active Resolved , Canceled , Closed

Invoice.StateCode Active Closed , Paid , Canceled

KbArticle.StateCode Draft , Unapproved , Published N/A

Lead.StateCode Open Qualified , Disqualified

Letter.StateCode Open Completed , Canceled

Opportunity.StateCode Open Won , Lost


ENTITY STATECODE ACTIVE STATE(S) INACTIVE STATE(S)

PhoneCall.StateCode Open Completed , Canceled

Quote.StateCode Draft , Active Won , Closed

SalesOrder.StateCode Active , Submitted , Invoiced Canceled , Fulfilled

ServiceAppointment.StateCode Open , Scheduled Closed , Canceled

Task.StateCode Open Completed , Canceled

For example, if you set the ExcludeInactiveRecords attribute to true , only Active , Submitted , and Invoiced
sales orders will be considered for matching during duplicate detection.

NOTE
You can review the available StateCode options for an entity using the Metadata Browser described in Browse the
metadata for your organization.
To retrieve the StateCode options for an entity you can use the following Web API query by substituting the
LogicalName of the entity with appointment used below:

GET [organization
URI]/api/data/v9.0/EntityDefinitions(LogicalName='appointment')/Attributes(LogicalName='statecode')/Micros
oft.Dynamics.CRM.StateAttributeMetadata/OptionSet?$select=Options

DuplicateRule Special messages


DuplicateRule is a user-owned entity and normal create, retrieve, update, assign, and delete operations are
allowed as well as operations to control access. More information: DuplicateRule Messages.
The following special messages can also be used:

MESSAGE WEB API OPERATION SDK ASSEMBLY

CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionR


ule ule Action uleRequest

PublishDuplicateRule PublishDuplicateRule Action PublishDuplicateRuleRequest

PublishXml PublishXml Action PublishXmlRequest

UnpublishDuplicateRule UnpublishDuplicateRule Action UnpublishDuplicateRuleRequest

DuplicateRuleCondition
ATTRIBUTE DESCRIPTION

BaseAttributeName Field that is being compared.

DuplicateRuleConditionId Unique identifier of the condition.


ATTRIBUTE DESCRIPTION

IgnoreBlankValues Determines whether to consider blank values as non-


duplicate values.
Note:
The default value of this attribute is false . Set it to true if
you do not want the duplicate detection rule to consider
null values as equal.
Important:
For a duplicate detection rule with one condition, if you set
the attribute value to false , it is treated by the system as a
true value.

MatchingAttributeName Field that is being compared with the base field.

OperatorCode Operator for this rule condition.


Important:
If you set the OperatorCode attribute to ExactMatch , don’t
set the OperatorParam attribute to any value

OperatorParam Parameter value of N if the operator is Same First Characters


or Same Last Characters.
Important:
Don’t set the OperatorParam to zero during create or
update operations.

RegardingObjectId Unique identifier of the object with which the condition is


associated.

DuplicateRuleCondition Special messages


DuplicateRuleCondition is a child entity to DuplicateRule . Access to retrieve or modify these entities is dependant
on access to the DuplicateRule it is associated with. More information: DuplicateRuleCondition Messages.
The following special messages can also be used:

MESSAGE WEB API OPERATION SDK ASSEMBLY

CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionR


ule ule Action uleRequest

See also
duplicaterule EntityType
duplicaterulecondition EntityType
Detect duplicate data
Enable and disable duplicate detection
Run duplicate detection
Duplicate detection messages
Sample: Enable duplicate detection and retrieve duplicates
Sample: Use duplicate detection when creating and updating records
Sample: Detect multiple duplicate records
Delete data in bulk
3/22/2019 • 2 minutes to read • Edit Online

The bulk deletion feature helps you to maintain data quality and manage the consumption of system storage in
Common Data Service by deleting data that you no longer need. For example, you can delete the following data in
bulk:
Stale data.
Data that is irrelevant to the business.
Unneeded test or sample data.
Data that is incorrectly imported from other systems.
With bulk deletion, you can perform the following operations:
Delete data across multiple entities.
Delete records for a specified entity.
Receive email notifications when a bulk deletion finishes.
Delete data periodically.
Schedule the start time of a recurring bulk delete.
Retrieve the information about the failures that occurred during a bulk deletion.

Run bulk delete


To delete data in bulk, you have to submit a bulk delete job by using the BulkDeleteRequest message. The bulk
delete job runs asynchronously in the background without blocking other activities. The query expressions that
describe the records on which to run the bulk delete job are specified in the QuerySet property of this request.
A bulk delete job is represented by the bulk delete operation entity. The schema name for this entity is
BulkDeleteOperation . A bulk delete operation record includes the following information:

Number of records that the bulk delete job deleted.


Number of records that the bulk delete job failed to delete.
Whether the bulk delete job is a recurring job or not.
Start time of the bulk delete job.
A bulk delete job only deletes records that are created before the job starts to run.

NOTE
If a bulk delete job fails or ends prematurely, any records that were deleted before the failure or ending of the job are not
rolled back and remain deleted. The failures of the BulkDeleteOperation are stored in the BulkDeleteFailure records
and can be retrieved by using the RetrieveRequest message or the RetrieveMultipleRequest message.

A bulk delete job deletes the specified records according to the cascading rules. These rules are based on the
relationship type between the entities. For more information, see Entity Relationship Behavior.
To run a bulk delete job, a user must have the BulkDelete and Delete privileges for the entity types being deleted.
The user must also have read permissions to the entity records that are specified in the BulkDeleteRequest
message. By default, a system administrator has the necessary permissions; however, other users must be granted
these permissions.
You can perform a bulk deletion on all entities that are supported by the delete action. For information about
possible actions on entity records, see Actions on Entity Records.
If a plug-in or a workflow (process) is triggered by the delete action on a specific entity type, it is triggered every
time that an entity record of this type is deleted by the bulk delete job.

Samples
Look at the following Organization service samples for the bulk delete feature:
Sample: Bulk Delete Exported Records
Sample: Bulk Delete Records That Match Common Criteria
See also
BulkDeleteOperation Entity
Optimistic concurrency
3/22/2019 • 2 minutes to read • Edit Online

On a multi-threaded and multi-user system like PowerApps, operations and data changes often happen in parallel.
A problem arises when two or more update or delete operations on the same piece of data happen at the same
time. This situation could potentially result in data loss. The optimistic concurrency feature provides the ability for
your applications to detect whether an entity record has changed on the server in the time between when your
application retrieved the record and when it tries to update or delete that record.
Optimistic concurrency is supported on all out-of-box entities enabled for offline sync and all custom entities. You
can determine if an entity supports optimistic concurrency by retrieving the entity’s metadata using code or by
viewing the metadata using the Metadata Browser, and check if the attribute IsOptimisticConcurrencyEnabled
is set to true . For custom entities, this property is set to true by default.

Enable optimistic concurrency


You can enable optimistic concurrency checking behavior when executing an UpdateRequest by setting the
ConcurrencyBehavior property of the request to IfRowVersionMatches. Similarly, for a DeleteRequest, you would
set the ConcurrencyBehavior property.
When using the organization service context to make data changes, set ConcurrencyBehavior on the
OrganizationServiceContext object. This value will be passed through to all of the UpdateRequest and
DeleteRequest messages used by the OrganizationServiceContext when SaveChanges() is called.
Optimistic concurrency behavior can only be set through an SDK call. There is presently no setting for it in a form
of the Web application.

Apply optimistic concurrency using Web API


For information about using Web API to apply optimistic concurrency, see Apply optimistic concurrency

Apply optimistic concurrency using Organization service


For information about using Organization service to apply optimistic concurrency, see Optimistic concurrency
behavior

Handle exceptions
There are several error conditions that can be returned in a FaultException<OrganizationServiceFault> from the
Web service call when using optimistic concurrency.
ConcurrencyVersionMismatch (code=-2147088254)
When a row version is provided and the IfVersionMatches behavior is indicated, if the existing record’s
version does not match the row version provided in the request, a fault is returned.
ConcurrencyVersionNotProvided (code= -2147088253)
When the IfVersionMatches behavior is indicated, and no value for row version is provided, a fault is
returned.
OptimisticConcurrencyNotEnabled (code=-2147088243)
When the IfVersionMatches behavior is indicated on an update to an entity, and where optimistic
concurrency isn’t enabled, a fault is returned.
You can check the Code property of the returned fault to determine if the fault is related to optimistic
concurrency. The codes for the error conditions that were shown previously were obtained from the
ErrorCodes.cs helper code.
Impersonate another user
3/22/2019 • 2 minutes to read • Edit Online

Use impersonation to execute business logic on behalf of another Common Data Service user to provide a desired
feature or service using the appropriate role and object-based security of that impersonated user.
This is necessary because the Common Data Service web services can be called by various clients and services on
behalf of a Common Data Service user.
Impersonation involves two different user accounts:

IMPERSONATOR IMPERSONATED USER

User account used when executing code User account that the task is being performed on behalf of.

Required privileges
The impersonator needs the privilege Act on Behalf of Another User ( prvActOnBehalfOfAnotherUser ), which is
included in the Delegate security role or can be enabled for any security role.

NOTE
Remember that users can be associated with more than one security role. Assigning the Delegate security role to a user will
grant them the prvActOnBehalfOfAnotherUser privilege as well as the privileges provided by any other security roles
associated with the user account.

The actual set of privileges that is used to modify data is the intersection of the privileges that the impersonator
user possesses with that of the impersonated user.
In other words, the impersonator is allowed to do something if and only if the impersonator and the impersonated
user have the privilege necessary for the action.

Impersonation with Server-to-Server authentication


If you are creating a web client application that requires a user account that can act on behalf of a subscribing user,
you can use the special application user account so that you do not need to use a paid Common Data Service user
license.
More information: Build web applications using Server-to-Server (S2S ) authentication.

Impersonate another user using the Web API


To impersonate a user, add a request header named MSCRMCallerID with a GUID value equal to the impersonated
user’s systemuserid before sending the request to the web service.
More information: Impersonate another user using the Web API.

Impersonate another user using the Organization service


To impersonate another user, set the CallerId property to the Guid value of the impersonated user. The following
classes that implement IOrganizationService include this property.
CrmServiceClient.CallerId
OrganizationServiceProxy.CallerId
OrganizationWebProxyClient.CallerId

Impersonate another user using Plug-ins


You can register a plug-in you can specify a user that the operations should use. Within the code of a plug-in you
can override this setting. More information: Impersonate a user.
See also
Build web applications using Server-to-Server (S2S ) authentication
Impersonate another user using the Web API
Write a plug-in
Best practices and guidance around working with
data for the Common Data Service
3/22/2019 • 2 minutes to read • Edit Online

This list below contains all of the best practices and guidance around integrating data using code with the Common
Data Service.

BEST PRACTICE DESCRIPTION

API Limits (Common Data Service) Understand the limits for API requests.

See Also
Work with data using code in Common Data Service (PowerApps)
Add and remove sample data
3/22/2019 • 2 minutes to read • Edit Online

You can install and uninstall sample data programmatically for an organization using the InstallSampleData and
UninstallSampleData messages:

WEB API ACTION ORGANIZATION SERVICE CLASS

InstallSampleData Action InstallSampleDataRequest

UninstallSampleData Action UninstallSampleDataRequest

Using the Web API


Install sample data using the InstallSampleData Action.
Request

POST [Organization URI]/api/data/v9.0/InstallSampleData HTTP/1.1


Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

Response

HTTP/1.1 204 No Content


OData-Version: 4.0

Uninstall sample data using the UninstallSampleData Action.


Request

POST [Organization URI]/api/data/v9.0/UninstallSampleData HTTP/1.1


Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

Response

HTTP/1.1 204 No Content


OData-Version: 4.0

Using the Organization Service


Install sample data using the InstallSampleDataRequest

var request = new InstallSampleDataRequest();


service.Execute(request);
Uninstall sample data using the UninstallSampleDataRequest

var request = new UninstallSampleDataRequest();


service.Execute(request);

NOTE
Neither the InstallSampleDataResponse or UninstallSampleDataResponse classes returned by these operations include any
properties to examine.

See also
Import data
Apply business logic using code
3/22/2019 • 2 minutes to read • Edit Online

Whenever possible, you should first consider applying one of the several declarative process options to define or
apply business logic. More information: Apply business logic in Common Data Service
When a declarative process doesn’t meet a requirement, as a developer you have several options. This topic will
introduce common options to write code.

Create a plug-in
You can write a .NET assembly to plug-in to the data transaction to apply business logic on the server. With
Common Data Service there is a framework you use to register specific events to execute code defined within a
class in an assembly.
More information: Write plug-ins to extend business processes

Create a workflow extension


You can write a .NET assembly to provide new options within the process designer. This method provides a new
option for people using the workflow designer to apply a condition or perform a new action. A workflow extension
can then be re-used by people who are not developers to apply the logic in your code.
More information: Workflow extensions
See also
Common Data Service Developer Overview
Event Framework
6/19/2019 • 5 minutes to read • Edit Online

The capability to extend the default behavior of Common Data Service depends on detecting when events occur
on the server. The Event Framework provides the capability to register custom code to be run in response to
specific events.
All capabilities to extend the default behavior of the platform depend on the event framework. When you
configure a workflow to respond to an event using the workflow designer without writing code, that event is
provided by the event framework.
As a developer, you will use the Plug -in registration tool to configure plug-ins, Azure integrations, virtual entity
data providers, and Web Hooks to respond to events that are provided by the event framework. When events
occur and an extension is registered to respond to them, contextual information about the data involved in the
operation is passed to the extension. Depending on how the registration for the event is configured, the extension
can modify the data passed into it, intiate some automated process to be applied immediately, or define that an
action is added to a queue to be performed later.
To leverage the event framework for your custom extensions you must understand:
What events are available
How the event is processed
What kind of data is available to your extension when the event occurs
What time and resource constraints apply
How to monitor performance

Available events
As described in Use messages with the Organization service, data operations in the Common Data Service
platform are based on messages and every message has a name. There are Create , Retrieve , RetrieveMultiple ,
Update , Delete , Associate and Disassociate messages that cover the basic data operations that happen with
entities. There are also specialized messages for more complex operations. Custom actions add new messages.
When you use the Plug-in registration tool to associate an extension with a particular message, you will register it
as a step. The screenshot below is the Register New Step dialog used when registering a plug-in.
A step provides the information about which message the extensions should respond to as well as a number of
other configuration choices. Use the Message field to choose the message your extension will respond to.
Generally, you can expect to find a message for most of the *Request classes in the Microsoft.Crm.Sdk.Messages
or Microsoft.Xrm.Sdk.Messages namespaces, but you will also find messages for any custom actions that have
been created in the organization. Any operations involving entity metadata are not available.
Data about messages is stored in the SdkMessage and SdkMessageFilter entities. The Plug-in registration tool
will filter this information to only show valid messages.
To verify if a message and entity combination supports execution of plug-ins using a database query, you can use
the following Web API query:

{{webapiurl}}sdkmessages?$select=name
&$filter=isprivate eq false
and (name ne 'SetStateDynamicEntity'
and name ne 'RemoveRelated'
and name ne 'SetRelated' and
name ne 'Execute')
and sdkmessageid_sdkmessagefilter/any(s:s/iscustomprocessingstepallowed eq true
and s/isvisible eq true)
&$expand=sdkmessageid_sdkmessagefilter($select=primaryobjecttypecode;
$filter=iscustomprocessingstepallowed eq true and isvisible eq true)
&$orderby=name

TIP
You can export this data to an Excel worksheet using this query and the instructions provided in this blog post: Find
Messages and entities eligible for plug-ins using the Common Data Service

You can also use the following FetchXML to retrieve this information. The FetchXML Builder is a useful tool to
execute this kind of query.
<fetch>
<entity name='sdkmessage' >
<attribute name='name' />
<link-entity name='sdkmessagefilter' alias='filter' to='sdkmessageid' from='sdkmessageid' link-
type='inner' >
<filter type='and' >
<condition attribute='iscustomprocessingstepallowed' operator='eq' value='1' />
<condition attribute='isvisible' operator='eq' value='1' />
</filter>
<attribute name='primaryobjecttypecode' />
</link-entity>
<filter>
<condition attribute='isprivate' operator='eq' value='0' />
<condition attribute='name' operator='not-in' >
<value>SetStateDynamicEntity</value>
<value>RemoveRelated</value>
<value>SetRelated</value>
<value>Execute</value>
</condition>
</filter>
<order attribute='name' />
</entity>
</fetch>

Cau t i on

The Execute message is available, but you should not register extensions for it since it is called by every
operation.

NOTE
There are certain cases where plug-ins and workflows that are registed for the Update event can be called twice. More
information: Behavior of specialized update operations

Event execution pipeline


When you register a step using the Plug-in registration tool you must also choose the Event Pipeline Stage of
Execution. Each message is processed in a series of 4 stages as described in the following table:

NAME DESCRIPTION

PreValidation For the initial operation, this stage will occur before the main
system operation.

This provides an opportunity to include logic to cancel the


operation before the database transaction.

Subsequent operations triggered by extensions registered in


other stages will pass through this stage as well but will be
included within the transaction of the calling extensions.

This stage occurs before any security checks are preformed to


verify that the calling or logged-on user has the correct
permission to perform the intended operation.
NAME DESCRIPTION

PreOperation Occurs before the main system operation and within the
database transaction.

If you want to change any values for an entity included in the


message, you should do it here.

Avoid cancelling an operation here. Canceling will trigger a


rollback of the transaction and have significant performance
impact.

MainOperation For internal use only.

PostOperation Occurs after the main system operation and within the
database transaction.

Use this stage to modify any properties of the message


before it is returned to the caller.

Avoid applying changes to an entity included in the message


because this will trigger a new Update event.

The stage you should choose depends on the purpose of the extension. You don't need to apply all your business
logic within a single step. You can apply multiple steps so that your logic about whether to allow a operation to
proceed can be in the PreValidation stage and your logic to make modifications to the message properties can
occur in the PostOperation stage.

IMPORTANT
An exception thrown by your code at any stage will cause the entire transaction to be rolled back. You should be careful to
ensure that any possible exception cases are handled by your code. If you want to cancel the operation, you should detect
this in the PreValidation stage and only throw a InvalidPluginExecutionException containing an appropriate message
describing why the operation was cancelled.

Multiple extensions can be registered for the same message and stage. Within the step registration the Execution
Order value determines the order in which multiple extensions should be processed for a given stage.
Information about registered steps is stored in the SdkMessageProcessingStep Entity.

Event context
If your extension is a Plug-in, it will receive a parameter that implements the IPluginExecutionContext interface.
This class provides some information about the Stage that the plugin is registered for as well as information about
the ParentContext which provides information about any operation within another Plug-in that triggered the
current operation.
If your extension is an a Web hook or an Azure Service bus endpoint, the data that will be posted to the registered
endpoint will be in form of a RemoteExecutionContext which implements both IPluginExecutionContext and
IExecutionContext
For more information about the execution context, read Understand the execution context.
Understand the execution context
7/13/2019 • 6 minutes to read • Edit Online

The Event Execution Pipeline passes registered plug-ins a wealth of data about the current operation being
processed and the plug-in's execution environment.

For plug-ins
With Plug-ins you can access this data in your code by setting a variable that implements the
IPluginExecutionContext interface:

// Obtain the execution context from the service provider.


IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));

This IPluginExecutionContext provides some information about the Stage that the plugin is registered for as well
as information about the ParentContext See ParentContext

For Custom Workflow Activities


With custom workflow activities you can access this data in your code by setting a variable that implements the
IWorkflowContext interface:

// Obtain the execution context using the GetExtension method.


protected override void Execute(CodeActivityContext context)
{
IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
...

This IWorkflowContext provides some information about the workflow that the plug-in is running within.

PROPERTY DESCRIPTION

ParentContext Gets the parent context. See ParentContext

StageName Gets the stage information of the process instance.

WorkflowCategory Gets the process category information of the process instance:


Is it a workflow or dialog (deprecated).

WorkflowMode Indicates how the workflow is to be executed. 0 =


asynchronous, 1 = synchronous

ParentContext
The ParentContext provides information about any operation that triggers the plug-in or custom workflow activity
to run.
Except for specific documented cases, you should avoid taking a dependency on values that you find in the
ParentContext to apply your business logic. The specific order in which operations occur is not guaranteed and
may change over time.
If you do choose to take a dependency on values found in the ParentContext , you should take steps to ensure that
your code is resilient to adapt to potential changes. You should test the logic regularly to verify that the conditions
you depend on remain in effect over time.

ExecutionContext
The rest of the information available is provided by the IExecutionContext interface that the
IPluginExecutionContext and IWorkflowContext classes implement.
For plug-ins all the properties of this class provide useful information you may need to access in your code.

NOTE
For custom workflow activites these properties are generally not used.

Two of the most important are the InputParameters and OutputParameters properties.
Other frequently used properties are SharedVariables, PreEntityImages, and PostEntityImages.

TIP
A good way to visualize the data that is passed into the execution context is to install the plug-in profiler solution that is
available as part of the plug-in registration tool. The profiler will capture the context information as well as information that
allows for replaying event locally so you can debug. Within the plugin registration tool, you can download an xml document
with all the data from the event that triggered the workflow. More information: View Plug-in Profile data

ParameterCollections
All the properties of the execution context are read-only. But the InputParameters , OutputParameters , and
SharedVariables are ParameterCollection values. You can manipulate the values of the items in these collections to
change the behavior of the operation, depending on the stage in the event execution pipeline your plug-in is
registered for.
The ParameterCollection values are defined as KeyValuePair<TKey,TValue> structures. In order to access a
property you will need to know the name of the property that is exposed by the message. For example, to access
the Entity property that is passed as part of the CreateRequest, you need to know that the name of that property is
Target . Then you can access this value using code like this:

var entity = (Entity)context.InputParameters["Target"];

Use the Microsoft.Xrm.Sdk.Messages and Microsoft.Crm.Sdk.Messages documentation to learn the names of the
messages defined in the SDK assemblies. For custom actions, refer to the names of the parameters defined in the
system.

InputParameters
The InputParameters represent the value of the OrganizationRequest.Parameters property that represents the
operation coming in from the web services.
As described in Use messages with the Organization service, all operations that occur in the system are ultimately
instances of the OrganizationRequest class being processed by the IOrganizationService.Execute method.
As described in Event Framework, operations go through a series of stages and you can register your plug-in on
stages that occur before the data is written to the database. Within the PreValidation and PreOperation stages,
you can read and change the values of the InputParameters so that you can control the expected outcome of the
data operation.
If you find that the values in the InputParameters collection represent a condition that you cannot allow, you can
throw an InvalidPluginExecutionException (preferably in the PreValidation stage) that will cancel the operation
and display an error to the user with a synchronous plug-in, or log the error if the plug-in is asynchronous. More
information: Cancelling an operation

OutputParameters
The OutputParameters represent the value of the OrganizationResponse.Results property that represents the
return value of the operation. Each of the message response classes that are derived from OrganizationResponse
contain specific properties. To access these properties you must use the key value that is usually the same as the
name of the properties in the response class. However, this is not always true. The following table lists the
message response class properties that have keys different from the name of the properties.

RESPONSE CLASS PROPERTY KEY VALUE

BackgroundSendEmailResponse EntityCollection BusinessEntityCollection

CloneContractResponse Entity BusinessEntity

CloneMobileOfflineProfileResponse CloneMobileOfflineProfile EntityReference

CloneProductResponse ClonedProduct EntityReference

ConvertSalesOrderToInvoiceResponse Entity BusinessEntity

CreateKnowledgeArticleTranslationResp CreateKnowledgeArticleTranslation EntityReference


onse

CreateKnowledgeArticleVersionRespons CreateKnowledgeArticleVersion EntityReference


e

GenerateQuoteFromOpportunityRespo Entity BusinessEntity


nse

GetDefaultPriceLevelResponse PriceLevels BusinessEntityCollection

RetrieveResponse Entity BusinessEntity

RetrieveMultipleResponse EntityCollection BusinessEntityCollection

RetrievePersonalWallResponse EntityCollection BusinessEntityCollection

RetrieveRecordWallResponse EntityCollection BusinessEntityCollection

RetrieveUnpublishedResponse Entity BusinessEntity

RetrieveUnpublishedMultipleResponse EntityCollection BusinessEntityCollection


RESPONSE CLASS PROPERTY KEY VALUE

RetrieveUserQueuesResponse EntityCollection BusinessEntityCollection

The OutputParameters are not populated until after the database transaction, so they are only available for plug-ins
registered in the PostOperation stage. If you want to change the values returned by the operation, you can
modify them within the OutputParameters .

Shared variables
The SharedVariables property allows for including data that can be passed from a plug-in to a step that occurs
later in the execution pipeline. Because this is a ParameterCollection value, plug-ins can add, read, or modify
properties to share data with subsequent steps.
The following example shows how a PrimaryContact value can be passed from a plug-in registered for a
PreOperation step to a PostOperation step.

public class PreOperation : IPlugin


{
public void Execute(IServiceProvider serviceProvider)
{
// Obtain the execution context from the service provider.
Microsoft.Xrm.Sdk.IPluginExecutionContext context = (Microsoft.Xrm.Sdk.IPluginExecutionContext)
serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext));

// Create or retrieve some data that will be needed by the post event
// plug-in. You could run a query, create an entity, or perform a calculation.
//In this sample, the data to be passed to the post plug-in is
// represented by a GUID.
Guid contact = new Guid("{74882D5C-381A-4863-A5B9-B8604615C2D0}");

// Pass the data to the post event plug-in in an execution context shared
// variable named PrimaryContact.
context.SharedVariables.Add("PrimaryContact", (Object)contact.ToString());
}
}

public class PostOperation : IPlugin


{
public void Execute(IServiceProvider serviceProvider)
{
// Obtain the execution context from the service provider.
Microsoft.Xrm.Sdk.IPluginExecutionContext context = (Microsoft.Xrm.Sdk.IPluginExecutionContext)
serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext));

// Obtain the contact from the execution context shared variables.


if (context.SharedVariables.Contains("PrimaryContact"))
{
Guid contact =
new Guid((string)context.SharedVariables["PrimaryContact"]);

// Do something with the contact.


}
}
}

IMPORTANT
Any type of data added to the shared variables collection must be serializable otherwise the server will not know how to
serialize the data and plug-in execution will fail.
NOTE
For a plug-in registered for the PreOperation or PostOperation stages to access the shared variables from a plug-in
registered for the PreValidation stage that executes on Create, Update, Delete, or by a RetrieveExchangeRateRequest, you
must access the ParentContext.SharedVariables collection. For all other cases, IPluginExecutionContext.SharedVariables
contains the collection.

Entity Images
When you register a step for a plug-in that includes an entity as one of the parameters, you have the option to
specify that a copy of the entity data be included as snapshot or image using the PreEntityImages and/or
PostEntityImages properties.
This data provides a comparison point for entity data as it flows through the event pipeline. Using these images
provides much better performance than including code in a plug-in to retrieve an entity just to compare the
attribute values.
When you define an entity image, you specify an entity alias value you can use to access the specific image. For
example, if you define a pre entity image with the alias ' a ', you can use the following code to access the name
attribute value.

var oldAccountName = (string)context.PreEntityImages["a"]["name"];

More information:
Define entity images
Entity Images for workflow extensions
See also
Event Framework
Write a plug-in
Behavior of specialized update operations
3/22/2019 • 2 minutes to read • Edit Online

There are several deprecated specialized messages that perform update operations. In earlier versions it was
required to use these messages, but now the same operations should be performed using
IOrganizationService.Update or UpdateRequest class with IOrganizationService.Execute

DEPRECATED MESSAGE REQUEST ATTRIBUTE(S) TO UPDATE

AssignRequest <entity>. OwnerId

SetStateRequest <entity>. StateCode


<entity>. StatusCode

SetParentSystemUserRequest SystemUser.ParentSystemUserId

SetParentTeamRequest Team.BusinessUnitId

SetParentBusinessUnitRequest BusinessUnit.ParentBusinessUnitId

SetBusinessEquipmentRequest Equipment.BusinessUnitId

SetBusinessSystemUserRequest SystemUser.BusinessUnitId

<entity> refers to any entity that provides this attribute.


More information: Legacy update messages
This change introduced some special behaviors that should be noted for plug-ins and workflows.

For Plug-ins
When update requests are processed that include both owner fields plus other standard fields for business owned
entities, plug-ins registered for the Update message in PreOperation and/or PostOperation stages execute
once for all non-owner fields, and then once for the owner fields. Examples of owner fields would be businessunit
and manager (for a SystemUser Entity). Examples of business owned entities include SystemUser,
BusinessUnit,Equipment and Team.
When update requests are processed that include both state/status fields plus other standard fields, plug-ins
registered for the Update message in PreOperation and/or PostOperation stages execute once for all non-
state/status fields, and then once for the state/status fields.
In order for plug-in code to receive the full data changes of the update, you must register the plug-in in the
PreOperation and then store relevant information in SharedVariables in the plug-in context for later plug-ins (in
the pipeline) to consume.

For Workflows
When update requests are processed that include both owner fields plus other standard fields, workflows
registered for the Update message execute once for all non-owner fields, and then once for the owner fields.
Workflows registered for the Assign message by users continue to be triggered by updates to owner fields.
When update requests are processed that include both state/status fields plus other standard fields, workflows
registered for the Update message execute once for all non-state/status fields, and then once for the state/status
fields. Workflows registered for the Change Status step continue to be triggered by updates to state/status fields.
See also
Update and Delete entities using the Organization Service
Event Framework
Asynchronous service
3/22/2019 • 9 minutes to read • Edit Online

The asynchronous service executes long-running operations independent of the main Common Data Service core
operation. This results in improved overall system performance and improved scalability. The asynchronous
service features a managed first-in, first-out (FIFO ) queue for the execution of asynchronous registered plug-ins,
workflows, and operations such as bulk mail, bulk import, and campaign activity propagation. These operations
are registered with the asynchronous service and executed periodically when the service processes its queue.
After an event occurs and any synchronous extensions have been processed, the platform serializes the context for
any asynchronous extensions and saves it to the database as a System Job in the AsyncOperation Entity. The
system job defines and tracks the execution of the asynchronous operation. As resources become available system
jobs are processed and the operations they define are executed. Any data operations defined in the extension will
again be processed by the event execution pipeline, but this time as a synchronous operation.

Execution order and dependencies


System jobs are evaluated as a queue using the CreatedOn date. If there are no conditions to defer execution they
will be executed as soon as resources are available. Execution is not guaranteed to be performed in the order set
by the CreatedOn date because different types of operations require different resources.
A system job can be dependent on another system job so that it will begin only after the other system job
completes. This dependency is established by the DependencyToken attribute value. Dependencies are established
when a system job is created. If the DependencyToken value is null, the system job has no dependencies. Dependent
system jobs will have the same DependencyToken value and will be executed in the order they were created. If a
system job is postponed, all subsequent dependent system jobs will continue to wait until the postponed system
job executes.

NOTE
This dependency system cannot be used by plug-ins registered to run asynchronously because the system jobs for them are
created by the system.

Managing system jobs


You can perform the following operations to manage system jobs using the AsyncOperation Entity.
Retrieve system jobs
Delete system jobs
Manage system job states
Postpone system jobs
NOTE
Creating system jobs with code is not supported. Although the AsyncOperation entity supports several writeable
attributes and create operations, only the following attributes are supported for update:
StateCode
StatusCode
PostPoneUntil

Retrieve system jobs


You can view system jobs in the application by navigating to Settings > System > System Jobs and you can also
search them using advanced find.
Using code, you can retrieve system jobs like any other entity. The following table lists selected attributes which
are important in understanding system jobs:

ATTRIBUTE DESCRIPTION

AsyncOperationId Unique identifier of the system job.

CompletedOn Date and time when the system job was completed.

CreatedBy Unique identifier of the user who created the system job.

CreatedOn Date and time when the system job was created.

Data Unstructured data associated with the system job.

DependencyToken Execution of all operations with the same dependency token is


serialized. More information: Execution order and
dependencies

Depth Number of SDK calls made since the first call.

ErrorCode Error code returned from a canceled system job.

ExecutionTimeSpan Time that the system job has taken to execute.

FriendlyMessage Message provided by the system job.

IsWaitingForEvent Indicates that the system job is waiting for an event.

Message Message related to the system job.

MessageName Name of the message that started this system job.

ModifiedBy Unique identifier of the user who last modified the system job.

ModifiedOn Date and time when the system job was last modified.

Name Name of the system job.


ATTRIBUTE DESCRIPTION

OperationType Type of the system job. More information: Operation Types

OwnerId Unique identifier of the user or team who owns the system
job.

OwningBusinessUnit Unique identifier of the business unit that owns the system
job.

OwningExtensionId Unique identifier of the owning extension with which the


system job is associated.

OwningTeam Unique identifier of the team who owns the record.

OwningUser Unique identifier of the user who owns the record.

PostponeUntil Indicates whether the system job should run only after the
specified date and time. More information: Postpone system
jobs

PrimaryEntityType Type of entity with which the system job is primarily


associated.

RecurrencePattern Pattern of the system job's recurrence. More information:


Recurrence start times and patterns

RecurrenceStartTime Starting time in UTC for the recurrence pattern. More


information: Recurrence start times and patterns

RegardingObjectId Unique identifier of the object with which the system job is
associated.

RetryCount Number of times to retry the system job.

Sequence Order in which operations were submitted.

StartedOn Date and time when the system job was started.

StateCode Status of the system job. More information: Manage system


job states

StatusCode Reason for the status of the system job. More information:
Manage system job states

UTCConversionTimeZoneCode Time zone code that was in use when the record was created.

WorkflowStageName Name of a workflow stage.

Examples
You can use the following examples to retrieve System Job data
Web API
Use the following Web API Query to retrieve the attributes in the table above. More information: Query Data
using the Web API

<organization URL>/api/data/v9.0/asyncoperations?
$select=
asyncoperationid,
completedon,
createdon,
data,
dependencytoken,
depth,
errorcode,
executiontimespan,
friendlymessage,
iswaitingforevent,
message,
messagename,
modifiedon,
name,
operationtype,
_ownerid_value,
postponeuntil,
primaryentitytype,
recurrencepattern,
recurrencestarttime,
_regardingobjectid_value,
retrycount,
sequence,
startedon,
statecode,
utcconversiontimezonecode,
workflowstagename
&$expand=
createdby($select=fullname),
modifiedby($select=fullname),
owningbusinessunit($select=name),
owningextensionid($select=name),
owningteam($select=name),
owninguser($select=fullname)

NOTE
With the Web API there is a single-valued navigation property for each entity that supports system jobs. The name of this
navigation property follows the pattern regardingobjectid_<entity logical name> .

FetchXml
Use the following FetchXML to retrieve the attributes in the table above. More information: Use FetchXML to
construct a query
<fetch>
<entity name="asyncoperation" >
<attribute name="asyncoperationid" />
<attribute name="completedon" />
<attribute name="createdby" />
<attribute name="createdon" />
<attribute name="data" />
<attribute name="dependencytoken" />
<attribute name="depth" />
<attribute name="errorcode" />
<attribute name="executiontimespan" />
<attribute name="friendlymessage" />
<attribute name="iswaitingforevent" />
<attribute name="message" />
<attribute name="messagename" />
<attribute name="modifiedby" />
<attribute name="modifiedon" />
<attribute name="name" />
<attribute name="operationtype" />
<attribute name="ownerid" />
<attribute name="owningbusinessunit" />
<attribute name="owningextensionid" />
<attribute name="owningteam" />
<attribute name="owninguser" />
<attribute name="postponeuntil" />
<attribute name="primaryentitytype" />
<attribute name="recurrencepattern" />
<attribute name="recurrencestarttime" />
<attribute name="regardingobjectid" />
<attribute name="retrycount" />
<attribute name="sequence" />
<attribute name="startedon" />
<attribute name="statecode" />
<attribute name="utcconversiontimezonecode" />
<attribute name="workflowstagename" />
</entity>
</fetch>

NOTE
Every entity that supports system jobs has a listed Many-to-One relationship with the AsyncOperation entity via the
RegardingObjectId lookup attribute. The name of this relationship follows the pattern
<entity schema name>_AsyncOperations .

Operation Types
The OperationType attribute describes categories of system jobs. Many of these types are initiated by the platform
to perform maintenance tasks.

NOTE
You cannot perform cancel, pause, or resume operations on system jobs generated by the platform.

Some of the types of these platform generated jobs are included in the following table:

OPERATIONTYPE VALUE OPERATIONTYPE LABEL

9 SQM Data Collection

16 Collect Organization Statistics


OPERATIONTYPE VALUE OPERATIONTYPE LABEL

18 Calculate Organization Storage Size

19 Collect Organization Database Statistics

20 Collection Organization Size Statistics

22 Calculate Organization Maximum Storage Size

24 Update Statistic Intervals

25 Organization Full Text Catalog Index

27 Update Contract States

31 Storage Limit Notification

Recurrence start times and patterns


Recurring system jobs require information about when they should start and how often they will recur. These
values are stored in the AsyncOperation entity RecurrenceStartTime and RecurrencePattern attributes.
Because you will not create AsyncOperation entities directly with code, you will just need to interpret these values
if you query the data. You will only set these properties indirectly by using messages that will create new system
jobs. The BulkDelete and BulkDeleteDuplicates messages both include parameters or properties in the
corresponding Web API actions or organization service request classes. More information:
BulkDetectDuplicatesRequest Class, BulkDetectDuplicates Action, BulkDeleteRequest Class, and BulkDelete Action
The RecurrenceStartTime is simply a datetime value to indicate when the system job should start. If it isn’t set, the
system job was expected to start immediately.
The RecurrencePattern attribute stores information about how frequently recurring system jobs occur. This value
may be set by the platform when a new asyncoperation entity is created. You may set this value to change the
pattern.
The values for this attribute use parts of the RFC2445 Internet standard (Internet Calendaring and Scheduling
Core Object Specification).
The following table provides from examples:

RECURRENCE PATTERN FREQUENCY OF JOB EXECUTION

FREQ=MONTHLY; Once a month

FREQ=WEEKLY; Once a week

FREQ=DAILY; Once a day

FREQ=DAILY;INTERVAL=3; Every three days

FREQ=HOURLY; Once an hour

If an INTERVAL value is not set, it will be interpreted as 1 .


Delete system jobs
You can delete system jobs in the application or in code just like any other entity if you have the necessary
privileges to do so.

NOTE
When registering asynchronous plug-ins, there is an option to automatically delete successful operations. It is recommended
that you use it. More information: Write a plug-in

The common practice is to create a recurring bulk deletion job that will delete those jobs which succeeded. More
information Remove a large amount of specific, targeted data with bulk deletion

Manage system job states


The status of the system job will change multiple times until the operation is completed. The following are the
StateCode and StatusCode options that represent the available state and status reason values:

STATECODE VALUE STATECODE LABEL STATUSCODE VALUE STATUSCODE LABEL

0 Ready 0 Waiting For Resources

1 Suspended 10 Waiting

2 Locked 20 In Progress

2 Locked 21 Pausing

2 Locked 22 Canceling

3 Completed 30 Succeeded

3 Completed 31 Failed

3 Completed 32 Canceled

You can change the status of system jobs in the application by navigating to Settings > System > System Jobs
and using commands available in the More Actions menu.
NOTE
Any action you can perform via this UI can also be performed using code. You cannot perform cancel, pause, or resume
operations on system jobs generated by the platform. More information: Operation types

Together with options to manage views, the following options to manage system jobs are available:

OPTION DESCRIPTION

Delete Using the command.


Deletes a system job

Bulk Delete Using the More Actions menu.


Opens a wizard to define conditions and create a new Bulk
Deletion system job to delete the matching system jobs.

Cancel Using the More Actions menu.


Cancels the system job.

Resume Using the More Actions menu.


Resumes a paused system job.

Postpone Using the More Actions menu.


Reschedules a system job

Pause Using the More Actions menu.


Pauses a system job.

Whether the requested operation will occur depends on the state of the system job. For example, you cannot
pause a job that has already completed or hasn’t started yet. The table below describes the conditions for each
change and what will happen when they are selected.

OPTION VALID STATECODE VALUES CHANGE

Delete any System Job is deleted


OPTION VALID STATECODE VALUES CHANGE

Cancel 0 (Ready) StateCode changed to 3 (Completed)


1 (Suspended) and StatusCode changed to 32
2 (Locked) (Cancelled)

Resume 1 (Suspended) StateCode changed to 0 (Ready)

Postpone 0 (Ready) Postpone Job dialog prompts user for


2 (Locked) datetime value to postpone the system
job. More information: Postpone
system jobs

Pause 2 (Locked) StateCode changed to 1 (Suspended)

Postpone system jobs


The PostPoneUntil attribute contains a datetime value when the system job will change state from 1 (Suspended)
to 0 (Ready). Together with the StateCode and StatusCode attributes, these are the only attributes supported for
update when using the AsyncOperation entity.
See also
Write a plug-in
Write plug-ins to extend business processes
Use plug-ins to extend business processes
6/28/2019 • 3 minutes to read • Edit Online

A plug-in is a .NET assembly that you can upload to the Common Data Service. Classes within the assembly can
be registered to specific events (steps) within the event framework. The code within the class provides a way for
you to respond to the event so that you can augment or modify the default behavior of the platform.

IMPORTANT
Whenever possible, you should first consider applying one of the several declarative options to define business logic. More
information: Apply business logic in Common Data Service

Use plug-ins when a declarative process doesn’t meet your requirement.

The classes in the assembly that can be registered to a step must implement the IPlugin interface. This interface
exposes a single method: Execute. When an event occurs that has a class registered to it, contextual data is passed
to the Execute method. Within the Execute method you can:
Cancel the event and display an error to the user
Make changes to the data in the operation
Initiate other actions using the Organization Service to add automation
Plug-ins can be configured to execute synchronously or asynchronously. A synchronous plug-in will cause the
operation to wait until the code in the Plug-in completes. This has an impact on perceived performance of the
system. The operations in an asynchronous plug-in are placed in a queue and are executed after the operation is
completed so that the operation can complete with minimal interruption.

NOTE
Information under this topic and its sub-topics is also applicable to the Dynamics 365 for Customer Engagement apps
(online) users because the Customer Engagement apps are built on the Common Data Service platform. If you are
Dynamics 365 for Customer Engagement apps (on-premises) user, see the documentation applicable for the on-premises
functionality in the Customer Engagement documentation at: Write plug-ins to extend business processes (Customer
Engagement)

When to use plug-ins


People frequently compare workflows and plug-ins as the choices to apply custom business logic. There is
significant overlap in the capabilities of workflows and plug-ins. Plug-ins can do everything workflows can do but
the inverse is not true. But this doesn't mean you should just use plug-ins for anything that can't be done with a
workflow. There are other capabilities to achieve requirements without using plug-ins.
Workflows can use custom workflow extensions (workflow activities) which allow you to create re-usable
conditions and actions with code that can be used within multiple workflows.
Calculated and rollup fields provide capabilities that could previously only be done using workflows.
Custom Actions are a type of process similar to workflows that allow for creating re-usable messages that
can be called from other workflows or from the web service endpoints.
Azure service bus integration and Web hooks can be used to push data to external systems where logic
can be applied using many different resources.
Microsoft Flow provides many capabilities that previously were performed using plug-ins.
You have many options available to you. You should evaluate each of them to understand the best way to meet
your requirements.
Advantages of plug-ins
These are the main advantages of plug-ins:
Plug-ins perform well. A well written plug-in provides the most performant way to apply business logic.
Plug-ins are powerful. Many developers would prefer to use the skills and knowledge they possess to define
logic and use the capabilities to work directly with the organization service or external services in code. An
experienced plug-in developer can be very productive.
Disadvantages of plug-ins
Plug-ins require the special skills of a developer to create and maintain. Developers are expensive and many
business don't have access to one when they have a need. Business processes can change rapidly and
providing options to enable change without requiring a developer can allow the system to adapt more rapidly.
Plug-ins can be abused. A poorly written plug-in can cause significant impact on the performance of the
environment. The great power of plug-ins needs to be applied with some restraint and consideration for the
impact they have on the system as a whole.

Next Steps
Use the following tutorial and how -to topics to learn how to write plug-ins
Tutorials
These topics walk you through the process of creating some simple plug-ins.
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in
How to topics
These topics provide details that you will use to create plug-ins.
Write a plug-in
Handle exceptions
Register a plug-in
Debug Plug-ins
These topics provide additional information about writing or debugging a plug-in, or analyzing its performance.
Impersonate a user
Tracing and logging
Analyze performance
Access external web resources
Write a plug-in
7/3/2019 • 7 minutes to read • Edit Online

The process of writing, registering, and debugging a plug-in is:


1. Create a .NET Framework Class library project in Visual Studio
2. Add the Microsoft.CrmSdk.CoreAssemblies NuGet package to the project
3. Implement the IPlugin interface on classes that will be registered as steps.
4. Add your code to the Execute method required by the interface
a. Get references to services you need
b. Add your business logic
5. Sign & build the assembly
6. Test the assembly
a. Register the assembly in a test environment
b. Add your registered assembly and steps to an unmanaged solution
c. Test the behavior of the assembly
d. Verify expected trace logs are written
e. Debug the assembly as needed
Content in this topic discusses the steps in bold above and supports the following tutorials:
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in

Assembly constraints
When creating assemblies keep the following constraints in mind.
Use .NET Framework 4.6.2
Plug-ins and custom workflow assemblies should use .NET Framework 4.6.2. While assemblies built using later
versions should generally work, if they use any features introduced after 4.6.2 an error will occur.
Optimize assembly development
The assembly should include multiple plug-in classes (or types), but can be no larger than 16 MB. It is
recommended to consolidate plug-ins and workflow assemblies into a single assembly as long as the size
remains below 16 MB. More information: Optimize assembly development
Assemblies must be signed
All assemblies must be signed before they can be registered. This can be done using Visual Studio Signing tab
on the project or by using Sn.exe (Strong Name Tool).
Do not depend on .NET assemblies that interact with low-level Windows APIs
Plug-in assemblies must contain all the necessary logic within the respective dll. Plugins may reference some
core .Net assemblies. However, we do not support dependencies on .Net assemblies that interact with low -level
Windows APIs, such as the graphics design interface.

IPlugin interface
A plug-in is a class within an assembly created using a .NET Framework Class library project using .NET
Framework 4.6.2 in Visual Studio. Each class in the project that will be registered as a step must implement the
IPlugin interface which requires the Execute method.

IMPORTANT
When implementing IPlugin , the class should be stateless. This is because the platform caches a class instance and re-
uses it for performance reasons. A simple way of thinking about this is that you shouldn't add any properties or methods
to the class and everything should be included within the Execute method. There are some exceptions to this. For
example you can have a property that represents a constant and you can have methods that represent functions that are
called from the Execute method. The important thing is that you never store any service instance or context data as a
property in your class. These change with every invocation and you don't want that data to be cached and applied to
subsequent invocations. More information: Develop IPlugin implementations as stateless

The Execute method accepts a single IServiceProvider parameter. The IServiceProvider has a single method:
GetService. You will use this method to get several different types of services that you can use in your code.
More information: Services you can use in your code

Pass configuration data to your plug-in


When you register a plug-in you have the ability to pass configuration data to it. Configuration data allows you
to define how a specific instance of a registered plug-in should behave. This information is passed as string data
to parameters in the constructor of your class. There are two parameters: unsecure and secure . Use the first
unsecure parameter for data that you don't mind if people can see. Use the second secure parameter for
sensitive data.
The following code shows the three possible signatures for a plug-in class named SamplePlugin .

public SamplePlugin()
public SamplePlugin(string unsecure)
public SamplePlugin(string unsecure, string secure)

The secure configuration data is stored in a separate entity which only system administrators have privileges to
read. More information: Register plug-in step > Set configuration data

Services you can use in your code


Within your plug-in you will need to:
Access the contextual information about what is happening in the event your plug-in was registered to
handle. This is called the execution context.
Access the Organization web service so you can write code to query data, work with entity records, use
messages to perform operations.
Write messages to the Tracing service so you can evaluate how your code is executing.
The IServiceProvider.GetService method provides you with a way to access these services as needed. To get an
instance of the service you invoke the GetService method passing the type of service.

NOTE
When you write a plug-in that uses Azure Service Bus integration, you will use a notification service that implements the
IServiceEndpointNotificationService interface, but this will not be described here. More information: Azure Integration
Organization Service
To work with data within a plug-in you use the organization service. Do not try to use the Web API. Plug-ins are
optimized to use the .NET SDK assemblies.
To gain access to a svc variable that implements the IOrganizationService interface, use the following code:

// Obtain the organization service reference which you will need for
// web service calls.
IOrganizationServiceFactory serviceFactory =
(IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService svc = serviceFactory.CreateOrganizationService(context.UserId);

The context.UserId variable used with


IOrganizationServiceFactory.CreateOrganizationService(Nullable<Guid>) comes from execution context the
UserId property, so this is call is done after the execution context has been accessed.
More information:
Entity Operations
Query data
Create entities
Retrieve an entity
Update and Delete entities
Associate and disassociate entities
Use messages
Late-bound and Early-bound programming
You can use early bound types within a plug-in. Just include the generated types file in your project. But you
should be aware that all entity types that are provided by the execution context input parameters will be late-
bound types. You will need to convert them to early bound types. For example you can do the following when
you know the Target parameter represents an account entity.

Account acct = context.InputParameters["Target"].ToEntity<Account>();

But you should never try to set the value using an early bound type. Don't try to do this:

context.InputParameters["Target"] = new Account() { Name = "MyAccount" }; // WRONG: Do not do this.

This will cause an SerializationException to occur.

Use the tracing service


Use the tracing service to write messages to the PluginTraceLog Entity so that you can review the logs to
understand what occurred when the plug-in ran.
To write to the tracelog, you need to get an instance of the tracing service. The following code shows how to get
an instance of the tracing service using the IServiceProvider.GetService method.

// Obtain the tracing service


ITracingService tracingService =
(ITracingService)serviceProvider.GetService(typeof(ITracingService));
To write to the trace, use the ITracingService.Trace method.

tracingService.Trace("Write {0} {1}.", "your", "message");

More information: Use Tracing, Logging and tracing.

Performance considerations
When you add the business logic for your plug-in you need to be very aware of the impact they will have on
overall performance.

IMPORTANT
The business logic in plug-ins registered for synchronous steps should take no more than 2 seconds to complete.

Time and resource constraints


There is a 2-minute time limit for message operations to complete. There are also limitations on the amount of
CPU and memory resources that can be used by extensions. If the limits are exceeded an exception is thrown
and the operation will be cancelled.
If the time limit is exceeded, an TimeoutException will be thrown. If any custom extension exceeds threshold
CPU, memory, or handle limits or is otherwise unresponsive, that process will be killed by the platform. At that
point any current extension in that process will fail with exceptions. However, the next time that the extension is
executed it will run normally.
Monitor Performance
Run-time information about plug-ins and custom workflow extensions is captured and store in the
PluginTypeStatistic Entity. These records are populated within 30 minutes to one hour after the custom code
executes. This entity provides the following data points:

ATTRIBUTE DESCRIPTION

AverageExecuteTimeInMilliseconds The average execution time (in milliseconds) for the plug-in
type.

CrashContributionPercent The plug-in type percentage contribution to crashes.

CrashCount Number of times the plug-in type has crashed.

CrashPercent Percentage of crashes for the plug-in type.

ExecuteCount Number of times the plug-in type has been executed.

FailureCount Number of times the plug-in type has failed.

FailurePercent Percentage of failures for the plug-in type.

PluginTypeIdName Unique identifier of the user who last modified the plug-in
type statistic.

TerminateCpuContributionPercent The plug-in type percentage contribution to Worker process


termination due to excessive CPU usage.
ATTRIBUTE DESCRIPTION

TerminateHandlesContributionPercent The plug-in type percentage contribution to Worker process


termination due to excessive handle usage.

TerminateMemoryContributionPercent The plug-in type percentage contribution to Worker process


termination due to excessive memory usage.

TerminateOtherContributionPercent The plug-in type percentage contribution to Worker process


termination due to unknown reasons.

This data is also available for you to browse using the Power Platform Admin Center. Select Analytics >
Common Data Service > Plug-ins.

Next steps
Register a plug-in
Debug Plug-ins
See also
Write plug-ins to extend business processes
Best practices and guidance regarding plug-in and workflow development Handle exceptions
Impersonate a user
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in
Handle exceptions in plug-ins
9/20/2019 • 2 minutes to read • Edit Online

There are two possible outcomes when a plug-in allows an exception to be passed back to the D365 system:
information about the exception is logged or displayed to the user, and the current message request being
processed is cancelled. The exact behavior as described below is dependent on how the plug-in is executed: in the
sandbox or not, synchronous or asynchronous.

Cancelling the current operation


Your code can cause the current message request processing operation to be cancelled by throwing an exception
or passing a uncaught exception back to the D365 system. Any exception passed back to the plug-in caller will
cause the current operation to be cancelled, so it is important that you apply coding best practices to manage any
exceptions that are thrown and to determine whether to allow the exception to cancel the current operation or not.
If your business logic dictates that the operation should be cancelled, you should throw an
InvalidPluginExecutionException exception and provide a message to explain why the operation was cancelled.
Ideally, you should only cancel operations using synchronous plug-ins registered in the PreValidation stage. This
stage usually occurs outside the main database transaction. Cancelling an operation before it reaches the
transaction is highly desireable because the cancelled operation has to be rolled back. Rolling back the operation
requires significant resources and has a performance impact on the system. Operations in the PreOperation and
PostOperation stages are always within the database transaction.
Sometimes PreValidation stages will be within a transaction when they are initated by logic in another operation.
For example, if you create a task entity record in the PreOperation stage of the creation of an account, the task
creation will pass through the event execution pipeline and occur within the PreValidation stage yet it will be part
of the transaction that is creating the account entity record. You can tell whether an operation is within a
transaction by the value of the IExecutionContext.IsInTransaction property.

How the system handles plug-in exceptions


When you throw an InvalidPluginExecutionException exception within a synchronous plug-in an error dialog with
your message will be displayed to the user. If you don't provide a message, a generic error dialog will be shown to
the user. If any other type of exception is thrown, the user will see an error dialog with a generic message and the
exception message and stack trace will be written to the PluginTraceLog Entity.
The exception message for asynchronous registered plug-ins is written to a System Job AsyncOperation Entity
record which can be viewed in the System Jobs area of the web application. No dialog will be displayed to the
user. Async plug-ins do not participate in the database transaction that queued them, therefore they cannot cancel
the transaction.

NOTE
In the Unified Interface, the error dialog does not support HTML encoded content or messaging.
Impersonate a user
3/22/2019 • 2 minutes to read • Edit Online

Sometimes you need the code in a plug-in to run in the context of a different user, for example to perform an
operation on their behalf.
There are two ways to apply impersonation in plug-ins: at registration or execution.

At plug-in registration
When you register a plug-in step you can specify a user account to use when the code is run by choosing from the
Run in User's Context option. By default this is set to use the Calling User, which is the user account which
initiated the action. When this default option is applied, the SdkMessageProcessingStep.ImpersonatingUserId will
be set to null or Empty.
More information: Register plug-in step

During plug-in execution


You can override the setting specified at registration at run time by setting the
IOrganizationServiceFactory.CreateOrganizationService(Nullable<Guid>) userId parameter.
This is typically set to the IExecutionContext.UserId value which will apply the user account defined by the plug-in
step registration.

(IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

If you want to override the step registration you can pass the value of the IExecutionContext.InitiatingUserId to
have a service that will use the user account that initiated the action that caused the plug-in to run.
You can also provide the SystemUser.SystemUserId from any valid user account. This will work as long as that
user has the permissions to perform the operations in the plug-in.
See also
Plug-ins
Write a plug-in
Register a plug-in
3/22/2019 • 13 minutes to read • Edit Online

The process of writing, registering, and debugging a plug-in is:


1. Create a .NET Framework Class library project in Visual Studio
2. Add the Microsoft.CrmSdk.CoreAssemblies NuGet package to the project
3. Implement the IPlugin interface on classes that will be registered as steps.
4. Add your code to the Execute method required by the interface
a. Get references to services you need
b. Add your business logic
5. Sign & build the assembly
6. Test the assembly
a. Register the assembly in a test environment
b. Add your registered assembly and steps to an unmanaged solution
c. Test the behavior of the assembly
d. Verify expected trace logs are written
e. Debug the assembly as needed
Content in this topic describes the steps in bold above and supports the following tutorials:
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in

Plugin registration tool (PRT)


You will use the Plugin Registration Tool (PRT) to register your plug-in assemblies and steps.
PRT is one of the tools available for download from NuGet. Follow the instructions in Download tools from
NuGet. That topic includes instructions to use a PowerShell script to download the latest tools from NuGet.
After you download the PRT, use the Connect using the Plug-in Registration tool steps in the Tutorial: Write and
register a plug-in to connect to your Common Data Service environment.

Register an assembly
Registering an assembly is the process of uploading the assembly to the Common Data Service database. See the
instructions found at Register your assembly in the Tutorial: Write and register a plug-in

NOTE
You will find options related to the isolation mode and location for the assembly. These refer to options that apply to on-
premise deployments. Common Data Service is not available for on-premises deployments, so you will always accept the
default options of SandBox and Database for these options.

When an assembly is uploaded it is stored in the PluginAssembly entity. Most of the properties are set using
reflection of the imported entity. The base64 encoded bytes of the assembly is stored in the Content attribute.
While viewing the Properties of the assembly in the PRT, you can only edit the Description attribute value.
View registered assemblies
You can view information about registered assemblies in the application solution explorer without using the PRT.
Navigate to an unmanaged solution
1. From the PowerApps portal select Solutions, and then on the toolbar, select Switch to classic.
2. In the All Solutions list select the unmanaged solution you want.

NOTE
Each assembly you add using PRT will be added to the system Default Solution, (not to be confused with the Common
Data Serices Default Solution). To view the Default Solution, select All solutions under Solutions and then change the
view to All Solutions - Internal.
For more information about solutions, see Introduction to solutions

There you can find all the assemblies that are registered for this environment.

Query registered assemblies with code


To view information about registered assemblies without the PRT or the application, use the following Web API
query in your browser:
[org uri]]/api/data/v9.0/pluginassemblies
?$filter=ishidden/Value eq false
&$select=
createdon,
culture,
customizationlevel,
description,
isolationmode,
major,
minor,
modifiedon,
name,
pluginassemblyid,
publickeytoken,
version

Or use following FetchXml to retrieve it in a program you write:

<fetch>
<entity name='pluginassembly' >
<attribute name='createdon' />
<attribute name='culture' />
<attribute name='customizationlevel' />
<attribute name='description' />
<attribute name='isolationmode' />
<attribute name='major' />
<attribute name='minor' />
<attribute name='modifiedon' />
<attribute name='name' />
<attribute name='pluginassemblyid' />
<attribute name='publickeytoken' />
<attribute name='version' />
<filter type='and' >
<filter>
<condition attribute='ishidden' operator='eq' value='false' />
</filter>
</filter>
</entity>
</fetch>

More information: Use FetchXML with FetchExpression

Add your assembly to a solution


As described in View registered assemblies, the assembly registration you created was added to the system
Default Solution. You should add your assembly to an unmanaged solution so you can distribute it to other
organizations.
Within the unmanaged solution you are using, use solution explorer to navigate to Plug-in Assemblies. In the
list menu, select Add Existing.
Then add your assembly as a component to the solution.

When you select the plug-in assembly you added, you can view the plug-in classes it includes.
NOTE
Any existing or subsequent step registrations are not added to the unmanaged solution that includes the plug-in
assemblies. You must add each registered step to the solution separately. More information: Add step to solution

Register plug-in step


When an assembly is loaded or updated, any classes that implement IPlugin will be available in the PRT. Use the
instructions in Register a new step in the Tutorial: Write and register a plug-in to create a new step registration.
When you register a step, there are many options available to you which depend on the stage of the event
pipeline and the nature of the operation you will register your code to respond to.
General Configuration Information Fields
FIELD DESCRIPTION

Message PRT will auto-complete available message names in the


system. More information: Use messages with the
Organization service

Primary Entity PRT will auto-complete valid entities that apply to the
selected message. These messages have a Target
parameter that accepts an Entity or EntityReference type. If
valid entities apply, you should set this when you want to
limit the number of times the plug-in is called.
If you leave it blank for core entity messages like Update ,
Delete , Retrieve , and RetrieveMultiple or any
message that can be applied with the message the plug-in
will be invoked for all the entities that support this message.

Secondary Entity This field remains for backward compatibility for deprecated
messages that accepted an array of EntityReference as the
Target parameter. This field is typically not used anymore.

Filtering Attributes With the Update message, when you set the Primary
Entity, filtering attributes limits the execution of the plug-in
to cases where the selected attributes are included in the
update. This is a best practice for performance.

Event Handler This value will be populated based on the name of the
assembly and the plug-in class.

Step Name The name of the step. A value is pre-populated based on the
configuration of the step, but this value can be overridden.

Run in User's Context Provides options for applying impersonation for the step. The
default value is Calling User. If the calling user doesn't have
privileges to perform operations in the step, you may need to
set this to a user who has these privileges. More information:
Impersonate a user
FIELD DESCRIPTION

Execution Order Multiple steps can be registered for the same stage of the
same message. The number in this field determines the order
in which they will be applied from lowest to highest.
Note: You should set this to control the order in which plug-
ins are applied in the stage. It not recommended to simply
accept the default value. If all plug-ins for the same stage,
entity, and message have the same value, the
SdkMessageProcessingStep.SdkMessageFilterId value will
determine the order in which they are executed.

Description A description for step. This value is pre-populated but can be


overwritten.

NOTE
There are certain cases where plug-ins registered for the Update event can be called twice. More information: Behavior of
specialized update operations

Event Pipeline Stage of execution


Choose the stage in the event pipeline that best suites the purpose for your plug-in.

OPTION DESCRIPTION

PreValidation For the initial operation, this stage will occur before the main
system operation.

This provides an opportunity to include logic to cancel the


operation before the database transaction.

Subsequent operations triggered by extensions registered in


other stages will pass through this stage as well but will be
included within the transaction of the calling extensions.

This stage occurs before any security checks are preformed to


verify that the calling or logged-on user has the correct
permission to perform the intended operation.

PreOperation Occurs before the main system operation and within the
database transaction.

If you want to change any values for an entity included in the


message, you should do it here.

Avoid cancelling an operation here. Canceling will trigger a


rollback of the transaction and have significant performance
impact.

PostOperation Occurs after the main system operation and within the
database transaction.

Use this stage to modify any properties of the message


before it is returned to the caller.

Avoid applying changes to an entity included in the message


because this will trigger a new Update event.

More information: Event execution pipeline


Execution Mode
There are two modes of execution asynchronous, and synchronous.

OPTION DESCRIPTION

Asynchronous The execution context and the definition of the business logic
to apply is moved to system job which will execute after the
operation completes.

Synchronous Plug-ins execute immediately according to the stage of


execution and execution order. The entire operation will wait
until they complete.

Asynchronous plug-ins can only be registered for the PostOperation stage. For more information about how
system jobs work, see Asynchronous service
Deployment
OPTION DESCRIPTION

Server The plug-in will run on the Common Data Service server.

Offline The plug-in will run within the Dynamics 365 for Outlook
client when the user is in offline mode.

Set configuration data


The Unsecure Configuration and Secure Configuration fields allow you to specify configuration data to pass
to the plug-in for a specific step.
You can write your plug-in to accept string values in the constructor to use this data to control how the plug-in
should work for the step. More information: Pass configuration data to your plug-in
Define entity images
Within your plug-in, you may want to reference primary entity property values that were not included in an
operation. For example, in an Update operation you might want to know what a value was before it was changed,
but the execution context doesn't provide this information, it only includes the changed value.
If your plug-in step is registered in the PreValidation or PreOperation stages of the execution pipeline, you
could use the organization service to retrieve the current value of the property, but this is not a good practice for
performance. A better practice is to define a pre entity image with your plug-in step registration. This will capture
a 'snapshot' of the entity with the fields you are interested in as they existed before the operation that you can use
to compare with the changed values.
Messages that support entity images
In Common Data Service, only the following messages support entity images:

MESSAGE REQUEST CLASS PROPERTY DESCRIPTION

Assign Target The assigned entity.

Create Target The created entity.

Delete Target The deleted entity.

DeliverIncoming EmailId The delivered email ID.


MESSAGE REQUEST CLASS PROPERTY DESCRIPTION

DeliverPromote EmailId The delivered email ID.

Merge Target or SubordinateId The parent entity, into which the data
from the child entity is being merged
or the child entity that is being merged
into the parent entity.

Route Target The item being routed.

Send FaxId , EmailId , or TemplateId The item being sent.

SetState EntityMoniker The entity for which the state is set.

Update Target The updated entity.

Types of entity images


There are two types of entity images: Pre Image and Post Image. When you configure them, these images will
be available within the execution context as PreEntityImages and PostEntityImages properties respectively. As the
names suggest, these snapshots represent what the entity looks like before the operation and after the operation.
When you configure an entity image, you will define an entity alias value that will be the key value you will use to
access a specific entity image from the PreEntityImages or PostEntityImages properties.
Availability of images
When you configure an entity image it is important that you recognize that the type of entity images available
depend on the stage of the registered step and the type of operation. For example:
You cannot have a Pre Image for the Create message because the entity doesn't exist yet.
You cannot have a Post Image for the Delete message because the entity won't exist anymore.
You can only have a Post Image for steps registered in the PostOperation stage of the execution pipeline
because there is no way to know what the entity properties will be until the transaction is completed.
For an Update operation that is registered in the PostOperation stage you can have both a Pre Image AND
a Post Image.
Add an entity image
See Add an image step in the Tutorial: Update a plug-in for the steps to add an entity image.
Add step to solution
As mentioned in Add your assembly to a solution, Plug-in Assemblies are solution components that can be
added to an unmanaged solution. Sdk Message Processing Steps are also solution components and must also
be added to an unmanaged solution in order to be distributed.
The procedure to add a step to a solution is similar to adding an assembly. You will use the Add Existing
command to move it into the desired unmanaged solution. The only difference is that if you attempt to add a step
but have not already added the assembly that contains the class used in the step, you will be prompted to add
missing required components.
If you encounter this, you should usually select OK to bring the assembly in with the unmanaged solution. The
only time you would not select this is if your solution is designed to be installed in an environement where
another solution containing the assembly is already installed.
Similarly, you should note that removing the assembly from the solution will not remove any steps that depend
on it.

Update an assembly
When you change and re-build an assembly that you have previously registered, you will need to update it. See
the Update the plug-in assembly registration step in the Tutorial: Update a plug-in for the steps.
Assembly versioning
If you are making changes to a plug-in assembly that is part of a managed solution that has been deployed you
need to consider the impact your changes may have when you update that managed solution. The version of the
assembly will control the behavior.
Plug-in assemblies can be versioned using a semantic versioning format of major.minor.build.revision defined
in the Assembly.info file of the Microsoft Visual Studio project. Depending on what part of the assembly version
number is changed in a newer solution, the following behavior applies when an existing solution is updated
through import.
The build or revision assembly version number is changed
This is considered an in-place upgrade. The older version of the assembly is removed when the solution
containing the updated assembly is imported. Any pre-existing steps from the older solution are
automatically changed to refer to the newer version of the assembly.
The major or minor assembly version number is changed
When an updated solution containing the revised assembly is imported, the assembly is considered a
completely different assembly than the previous version of that assembly in the existing solution. Plug-in
registration steps in the existing solution will continue to refer to the previous version of the assembly. If
you want existing plug-in registration steps for the previous assembly to point to the revised assembly,
you will need to use the Plug-in Registration tool to manually change the step configuration to refer to the
revised assembly type. This should be done before exporting the updated assembly into a solution for later
import.

Unregister or disable plug-in components


You can unregister or disable plug-in components.
Unregister components
The PRT provides commands to unregister assemblies, types, steps, and images. See the Unregister assembly,
plug-in, and step instructions in the Tutorial: Update a plug-in for the procedure.
These are delete operations on the PluginAssembly, PluginType, SdkMessageProcessingStep, and
SdkMessageProcessingStepImage entities.
You can also delete Plug-in Assemblies and Sdk Message Processing Steps in the solution explorer to
achieve the same result.

NOTE
You cannot delete any Plug-in Assemblies while existing Sdk Message Processing Steps depend on them. Entity images
are not available to be deleted separately, but they will be deleted when any steps that use them are deleted.

Disable steps
The PRT provides commands to disable and enable steps.

You can also disable steps in the solution explorer using the Activate and Deactivate commands.
Next steps
Debug Plug-ins
See also
Write plug-ins to extend business processes
Write a plug-in
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in
Debug Plug-ins
3/22/2019 • 4 minutes to read • Edit Online

The process of writing, registering, and debugging a plug-in is:


1. Create a .NET Framework Class library project in Visual Studio
2. Add the Microsoft.CrmSdk.CoreAssemblies NuGet package to the project
3. Implement the IPlugin interface on classes that will be registered as steps.
4. Add your code to the Execute method required by the interface
a. Get references to services you need
b. Add your business logic
5. Sign & build the assembly
6. Test the assembly
a. Register the assembly in a test environment
b. Add your registered assembly and steps to an unmanaged solution
c. Test the behavior of the assembly
d. Verify expected trace logs are written
e. Debug the assembly as needed
Content in this topic coverts the steps in bold above and supports the following tutorials:
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in

Test your assembly


The simplest way to test your assembly may simply be to manually perform the operation using the app. But you
should also be aware that events that cause plug-ins to execute can be initiated in multiple ways, such as an entity
created from a workflow, or from the web services.
The attribute values or other execution context information may be different depending on how the action is
performed. When writing your plug-in, make sure you practice defensive programming practices and don't
assume that every value you expect will always be there.
You may want to write a program that will automate performing the operations that will cause your plug-in to fire
and include a number of possible variations.
If you want to use a test automation framework, you will find that the community has created some tools for this.
More information: Testing tools for server-side development

Use Tracing
As described in Use the tracing service, you can write messages to the PluginTraceLog Entity within the code of
your plug-in by using the ITracingService.Trace method.
Before you will be able to use this service, you must enable tracing in your Common Data Service environment.
The process is described in View trace logs.
NOTE
Trace logging takes up organization storage space especially when many traces and exceptions are generated. You should
only turn trace logging on for debugging and troubleshooting, and turn it off after your investigation is completed.

While debugging, you can easily query the trace logs for a given plug-in class using the Web API in your browser.
If your assembly is named BasicPlugin.FollowUpPlugin , you can use this query in your browser address field:
GET <your org uri>/api/data/v9.0/plugintracelogs?$select=messageblock&$filter=typename eq
'BasicPlugin.FollowUpPlugin'

The JSON results will be returned to your browser like so:

{
"@odata.context": "<your org uri>/api/data/v9.0/$metadata#plugintracelogs(messageblock)",
"value": [{
"messageblock": "FollowupPlugin: Creating the task activity.",
"plugintracelogid": "f0c221d1-7f84-4f89-acdb-bbf8f7ce9f6c"
}]
}

TIP
This works best if you install a browser plug-in that will format the returned JSON. Or you may want to use Postman. More
information: Use Postman with Web API
You may prefer to use the XrmToolbox Plugin Trace Viewer. This community tool is not supported by Microsoft. If you have
questions pertaining to this tool, contact the publisher.

Tracing messages can also be found in the log file that can be downloaded when a synchronous plug-in or custom
workflow assembly throws an error that results in an error dialog that is displayed to the user. The user can select
the Download Log File button to view the log containing details of the exception and the trace output.
For asynchronous registered plug-ins and workflow assemblies that return an exception, the tracing information
is shown in the details area of the System Job form in the web application.

NOTE
If your custom code executes within a database transaction, and an exception occurs that causes a transaction rollback, all
entity data changes by your code will be undone. However, the PluginTraceLog entity records will remain after the
rollback completes.

Use Plug-in profiler


Plug-in profiler is a solution that you can install on your environment that enables you to capture the execution
context of a plug-in and then use that data to re-play the event within Visual Studio while debugging.
You can find instructions to install and use Plug-in profiler in the Tutorial: Debug a plug-in. See Install plug-in
profiler and Debug your plug-in
View Plug-in Profile data
After you have installed the Plug-in profiler and captured some profiles, you can view the event context and
replay data that is used when you debug. Viewing this data can help you understand the execution context data
that your plug-in can use.
You can view this data using the Plug-in Registration tool by selecting the View Plug-in Profile command. This
will open the Plugin Profile dialog

Select the icon and in the Select Profile from CRM dialog, specify the log item to use.

And then select View in the Plugin Profile dialog.


This will download an open an XML file with the profile information. The Context element represents the
execution context passed to the plug-in.
More information
Testing tools for server-side development
Tracing and logging
9/20/2019 • 4 minutes to read • Edit Online

Use tracing to troubleshoot a plug-in or custom workflow activity (custom code). Tracing assists developers by
recording run-time information as an aid in diagnosing the cause of code failures. Tracing is supported for
synchronous or asynchronous execution.
Recording of run-time tracing information for Common Data Service is provided by a service named
ITracingService. Information provided to this service by custom code can be recorded in three different places as
identified here.
Trace log
Trace log records are written to the PluginTraceLog Entity. Writing of these records is controlled by the trace
settings mentioned in Enable trace logging.
This data can be found in model-driven applications by navigating to Settings and choosing the Plug-in
Trace Log tile. The tile is only visible if you have access to the trace log entity records in your assigned
security role.
You may find it easier to view this data by using the Web API in your browser using the example shown in
Use Tracing or by using the Plug-in trace viewer community tool.

IMPORTANT
Trace logging takes up organization storage space especially when many traces and exceptions are generated. You
should only turn trace logging on for debugging and troubleshooting, and turn it off after your investigation is
completed.

Error dialog
A synchronous registered plug-in or custom workflow activity that returns an exception from the platform
results in an error dialog box in the web application presented to the logged on user. The user may select
the Download Log File button in the dialog to view the log containing exception and trace output.
System job
For asynchronous registered plug-in or custom workflow activities that returns an exception, the tracing
information is shown in the Details area of the System Job form in the web application.

Enable trace logging


Whether trace logs will be written depends on the value of the Organization Entity PluginTraceLogSetting
attribute value.
To enable trace logging you can programmatically update this value or in the web application navigate to Settings
> Administration > System Settings. In the Customization tab, locate the drop-down menu labeled Enable
logging to plug-in trace log and select one of the available options.

VALUE OPTION DESCRIPTION


VALUE OPTION DESCRIPTION

0 Off Writing to the trace log is disabled. No


PluginTraceLog records will be
created. However, custom code can still
call the Trace(String, Object[]) method
even though no log is written.

1 Exceptions Trace information is written to the log if


an exception is passed back to the
platform from custom code.

2 All Trace information is written to the log


upon code completion or an exception
is passed back to the platform from the
custom code.

If the trace logging setting is set to Exception and your custom code returns an exception back to the platform, a
trace log record is created and tracing information is also written to one other location. For custom code that
executes synchronously, the information is presented to the user in an error dialog box, otherwise, for
asynchronous code, the information is written to the related system job.

Write to the tracing service


Before writing to the tracing service, you must first extract the tracing service object from the passed execution
context. Afterwards, simply add Trace(String, Object[]) calls to your custom code where appropriate passing any
relevant diagnostic information in that method call.

//Extract the tracing service for use in debugging plug-ins.


ITracingService tracingService =
(ITracingService)serviceProvider.GetService(typeof(ITracingService));

// Use the tracing service


tracingService.Trace("Write your message here.");

Next, build and deploy the plug-in or custom workflow activity. During execution of the custom code, the
information provided in the Trace method calls is written to a trace log entity record by ITracingService, if
supported by your organization and enabled, and may also be made available to the user in a Web dialog or
system job as described in the previous section. Tracing information written to the trace log is configured in the
trace settings. For more information see Enable trace logging.

NOTE
If your custom code executes within a database transaction, and an exception occurs that causes a transaction rollback, all
entity data changes by your code will be undone. However, the PluginTraceLog records will remain after the rollback
completes.

Additional information about the tracing service


The ITracingService batches the information provided to it through the Trace method. The information is written
to a new PluginTraceLog record after the custom code successfully runs to completion or an exception is thrown.
Each Trace call is logged as a new line in the PluginTraceLog MessageBlock attribute. Only 10kb of text can be
written. Older trace lines will be removed to meet this limit so that only the most recent lines will be saved.
PluginTraceLog records have a finite lifetime. A bulk deletion background job runs once per day to delete records
that are older than 24 hours from creation.
Cau t i on

While this job can be disabled or the frequency in which it occurs can be adjusted, failure to set it back to the
original setting is frequently discovered to be the cause of performance issues later on.

Community tools
Plug-in trace viewer
Plugin Trace Viewer is a tool that XrmToolbox community developed. Please see the Community tools for
Common Data Service topic for community developed tools.

NOTE
The community tools are not a product of Microsoft and does not extend support to the community tools. If you have
questions pertaining to the tool, please contact the publisher. More Information: XrmToolBox.

See also
Plug-ins
Debug a plug-in
View trace logs
Use the tracing service
PluginTraceLog Entity
Analyze plug-in performance
3/22/2019 • 2 minutes to read • Edit Online

In addition to using a debugger and profiler to learn how your plug-in is performing at the code level, you can
obtain metrics as to the overall performance of your registered plug-ins in an organization through Common Data
Service analytics.
Through the Plug-in dashboard you can view metrics such as average execution time, failures, most active plug-ins,
and more.

See also
Use plug-ins to extend business processes
Tutorial: Debug a plug-in
Debug Plug-ins
Troubleshoot plug-ins
9/19/2019 • 6 minutes to read • Edit Online

This topic contains information about errors that can occur due to plug-ins and how to fix them.

Transaction errors
There are two common types of errors related to transactions:
Error Code: -2146893812
Error Message:
ISV code reduced the open transaction count. Custom plug-ins should not catch exceptions from
OrganizationService calls and continue processing.

Error Code: -2147220911


Error Message:
There is no active transaction. This error is usually caused by custom plug-ins that ignore errors from service
calls and continue processing.

NOTE
The top error was added most recently. It should occur immediately and in the context of the plug-in that contains the
problem. The bottom error can still occur in different circumstances, typically involving custom workflow activities. It may be
due to problems in another plug-in.

To understand the message, you need to appreciate that any time an error related to a data operation occurs within
a synchronous plug-in the transaction for the entire operation will be ended.
More information: Scalable Customization Design in Common Data Service
The most common cause is simply that a developer might believe they can attempt to perform an operation that
might succeed so they wrap that operation in a try/catch block and attempt to swallow the error if it fails.
While this may work for a client application, within the execution of a plug-in any data operation failure will result
in rolling back the entire transaction. You can't swallow the error, so you must make sure to always return an
InvalidPluginExecutionException.

Error: Sql error: Execution Timeout Expired


Error Code: -2147204783
Error Message:
Sql error: 'Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the
server is not responding.'

There are a wide variety of reasons that a SQL timeout error may occur.
Blocking
Blocking is the most common cause for a SQL Timeout error is that the operation is waiting for resources that are
being locked by another SQL transaction. The error is the result of the system protecting the integrity of the data
and from long running requests that impact performance for users.
Blocking may be due to other concurrent operations. Your code may work fine in isolation in a test environment
and still be susceptible to conditions that will only occur when multiple users are initiating the logic in your plug-in.
When writing plug-ins, it is essential to understand how to design customizations that are scalable. More
information: Scalable Customization Design in Common Data Service
Cascade operations
Certain actions you make in your plug-in, such as assigning or deleting a record, can initiate cascading operations
on related records. These actions could apply locks on related records causing subsequent data operations to be
blocked which in turn can lead to a SQL timeout.
You should consider the possible impact of these cascading operations on data operations in your plug-in. More
information: Entity relationship behavior
Because these behaviors can be configured differently between environments, the behavior may be difficult to
reproduce unless the environments are configured in the same way.
Indexes on new entities
If the plug-in is performing operations using an entity or attribute that has been created recently, some Azure SQL
capabilities to manage indexes might make a difference after a few days.

Errors due to user privileges


In a client application you can disable commands that users are not allowed to perform. Within a plug-in you don't
have this. Your code may include some automation that the calling user doesn't have the privileges to perform.
You can register the plug-in to run in the context of a user known to have the correct privileges by setting the Run
in User's Context value to that user. Or you can execute the operation impersonating another user. More
information:
Register a plug-in
Impersonate a user

Error: Message size exceeded when sending context to Sandbox


Error Code: -2147220970
Error Message: Message size exceeded when sending context to Sandbox. Message size: ### Mb

This error occurs when a message payload is greater than 116.85 MB AND a plug-in is registered for the message.
The error message will include the size of the payload that caused this error.
The limit will help ensure that users running applications cannot interfere with each other based on resource
constraints. The limit will help provide a level of protection from unusually large message payloads that threaten
the availability and performance characteristics of the Common Data Service platform.
116.85 MB is large enough that it should be rare to encounter this case. The most likely situation where this case
might occur is when you retrieve a record with multiple related records which include large binary files.
If you encounter this error you can:
1. Remove the plug-in for the message. If there are no plug-ins registered for the message, the operation will
complete without an error.
2. If the error is occurring in a custom client, you can modify your code so that it doesn't attempt to perform the
work in a single operation. Instead, write code to retrieve the data in smaller parts.

Error: The given key was not present in the dictionary


Common Data Service frequently uses classes derived from the abstract DataCollection<TKey,TValue> class that
represents a collection of keys and values. For example, with plug-ins the IExecutionContext.InputParameters
property is a ParameterCollection derived from the DataCollection<TKey,TValue> class. These classes are
essentially dictionary objects where you access a specific value using the key name.
Error codes
This error occurs when the key value in code doesn't exist in the collection. This is a run-time error rather a
platform error. When this error occurs within a plug-in, the error code will depend on whether the error was
caught.
If the developer caught the exception and returned an InvalidPluginExecutionException as described in Handle
exceptions in plug-ins, the following error will be returned:
Error Code: -2147220891
Error Message: ISV code aborted the operation.

However, with this error it is common that the developer doesn't catch it properly and the following error will be
returned:
Error Code: -2147220956
Error Message: An unexpected error occurred from ISV code.

NOTE
"ISV" stands for Independent Software Vendor.

Causes
This error frequently occurs at design time and can be due to a misspelling or using the incorrect casing. The key
values are case sensitive.
At run-time the error is frequently due to the developer assuming that the value will be present when it isn't. For
example, in a plug-in that is registered for the update of an entity, only those values which are changed will be
included in the Entity.Attributes collection.
Prevention
To prevent this error you must check that the key exists before attempting to use it to access a value.
For example, when accessing an entity attribute, you can use the Entity.Contains(String) method to check whether
an attribute exists in an entity as shown in the following code.

// Obtain the execution context from the service provider.


IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));

// The InputParameters collection contains all the data passed in the message request.
if (context.InputParameters.Contains("Target") &&
context.InputParameters["Target"] is Entity)
{
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters["Target"];

//Check whether the name attribute exists.


if(entity.Contains("name"))
{
string name = entity["name"];
}

Some developers use the Entity.GetAttributeValue<T>(String) method to avoid this error when accessing entity
attributes, but be aware that this method will return the default value of the type if the attribute doesn't exist. If the
default value is null, this works as expected. But if the default value doesn't return null, such as with a DateTime , the
value returned will be 1/1/0001 00:00 rather than null.
Access external web services
8/20/2019 • 2 minutes to read • Edit Online

Plug-ins and custom workflow activities can access the network through the HTTP and HTTPS protocols. This
capability provides support for accessing popular web services like social sites, news feeds, web services, and
more. The following web access restrictions apply to this sandbox capability.
Only the HTTP and HTTPS protocols are allowed.
Access to localhost (loopback) is not permitted.
IP addresses cannot be used. You must use a named web address that requires DNS name resolution.
Anonymous authentication is supported and recommended. There is no provision for prompting the logged on
user for credentials or saving those credentials.
Other methods of accessing web services include the use of webhooks and the Azure Service Bus. Refer to the
links provided below for more information on those topics.

How to access external web services


Today most people are familiar with the System.Net.Http.HttpClient Class. HttpClient was introduced with .NET
4.5 and provides significant capabilities over the System.Net.WebClient Class which is still available.
For new plug-ins you should use HttpClient because the .NET team doesn't recommend WebClient for new
development. However, this doesn't mean you must replace any legacy code uses of WebClient that you find. Most
of the advantages provided in HttpClient do not necessarily provide advantages within a plug-in. HttpClient is
intended to be re-used and is asynchronous by default. Unless you are making multiple Http requests within your
plug-in, WebClient is designed for a single request. Because HttpClient is asynchronous by default, you need to
break away from typical use patterns and add code to force the operations to be performed synchronously,
typically by removing the await keyword and appending .Result to any asynchronous calls.
WebClient provides simple synchronous methods such as UploadData, DownloadFile which don't clearly expose
the underlying Http method used, but they can be set using specific overrides such as UploadString(String, String,
String) in case you want to use PATCH instead of POST .
In most cases outside of plug-ins, you will want to use HttpClient . Within plug-ins, you can also use WebClient if
you prefer.

Best practices
As called out in the following best practices topics:
Set KeepAlive to false when interacting with external hosts in a plug-in
Set Timeout when making external calls in a plug-in
You should make sure to set an appropriate Timeout period for your external calls and disable KeepAlive . See
these topics for more information.

See also
Plug-ins
Workflow extensions
Azure integration
Use Web Hooks
Sample: Web Access from a Sandboxed Plug-in
Tutorial: Write and register a plug-in
7/24/2019 • 10 minutes to read • Edit Online

This tutorial is the first in a series that will show you how to work with plug-ins. This tutorial is a pre-requisite
for the following tutorials:
Tutorial: Debug a plug-in
Tutorial: Update a plug-in
For detailed explanation of supporting concepts and technical details see:
Use plug-ins to extend business processes
Write a plug-in
Register a plug-in
Debug Plug-ins

Goal
Create an asynchronous plug-in registered on the Create message of the account entity. The plug-in will create
a task activity that will remind the creator of the account to follow up one week later.

NOTE
This goal can be easily achieved using a workflow without writing code. We are using this simple example so that we can
focus on the process of creating and deploying a plug-in.

Prerequisites
Administrator level access to a Common Data Service environment
A model-driven app that includes the account and task entities.
If you don't have a model-driven app that includes these, see Build your first model-driven app from
scratch for steps to make one in just a few minutes.
Visual Studio 2017
Knowledge of the Visual C# programming language
Download the Plug-in Registration tool.
Information about downloading the Plug-in registration tool is at : Download tools from NuGet. That
topic includes instructions to use a PowerShell script to download the latest tools from NuGet.

Create a plug-in project


You need to use Visual Studio to write a plug-in. Use these steps to write a basic plug-in. Alternately, you can
find the complete plug-in solution files here: Sample: Create a basic plug-in.
Create a Visual Studio Project for the Plug-in
1. Open Visual Studio 2017 and open a new Class Library (.NET Framework) project using .NET
Framework 4.6.2
The name used for the project will be the name of the assembly. This tutorial uses the name BasicPlugin
.
2. In Solution Explorer, right-click the project and select Manage NuGet Packages… from the context
menu.

3. Select Browse and search for Microsoft.CrmSdk.CoreAssemblies and install the latest version.
4. You must select I Accept in the License Acceptance dialog.
5. In Solution Explorer, right-click the Class1.cs file and choose Rename in the context menu.

6. Rename the Class1.cs file to FollowupPlugin.cs .


7. When prompted, allow Visual Studio to re-name the class to match the file name.

Edit the Class file to enable a plug-in


1. Add the following using statements to the top of the FollowupPlugin.cs file:

using System.ServiceModel;
using Microsoft.Xrm.Sdk;

2. Implement the IPlugin Interface by editing the class.

NOTE
If you just type : IPlugin after the class name, Visual Studio will auto-suggest implementing a stub for the
Execute Method.
public class FollowupPlugin : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
throw new NotImplementedException();
}
}

3. Replace the contents of the Execute method with the following code:

// Obtain the tracing service


ITracingService tracingService =
(ITracingService)serviceProvider.GetService(typeof(ITracingService));

// Obtain the execution context from the service provider.


IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));

// The InputParameters collection contains all the data passed in the message request.
if (context.InputParameters.Contains("Target") &&
context.InputParameters["Target"] is Entity)
{
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters["Target"];

// Obtain the organization service reference which you will need for
// web service calls.
IOrganizationServiceFactory serviceFactory =
(IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

try
{
// Plug-in business logic goes here.
}

catch (FaultException<OrganizationServiceFault> ex)


{
throw new InvalidPluginExecutionException("An error occurred in FollowUpPlugin.", ex);
}

catch (Exception ex)


{
tracingService.Trace("FollowUpPlugin: {0}", ex.ToString());
throw;
}
}

About the code


The ITracingService enables writing to the tracing log. You can see an example in the final catch block. More
information: Use Tracing
The IPluginExecutionContext provides access to the context for the event that executed the plugin. More
information: Understand the execution context.
The code verifies that the context InputParameters includes the expected parameters for the CreateRequest
that this plug-in will be registered for. If the Target property is present, the Entity that was passed to the
request will be available.
The IOrganizationServiceFactory interface provides access to a service variable that implements the
IOrganizationService interface which provides the methods you will use to interact with the service to create
the task.
Add business logic
The plug-in will create a task activity that will remind the creator of the account to follow up one week later.
Add the following code to the try block. Replace the comment: // Plug-in business logic goes here . with the
following:

// Create a task activity to follow up with the account customer in 7 days.


Entity followup = new Entity("task");

followup["subject"] = "Send e-mail to the new customer.";


followup["description"] =
"Follow up with the customer. Check if there are any new issues that need resolution.";
followup["scheduledstart"] = DateTime.Now.AddDays(7);
followup["scheduledend"] = DateTime.Now.AddDays(7);
followup["category"] = context.PrimaryEntityName;

// Refer to the account in the task activity.


if (context.OutputParameters.Contains("id"))
{
Guid regardingobjectid = new Guid(context.OutputParameters["id"].ToString());
string regardingobjectidType = "account";

followup["regardingobjectid"] =
new EntityReference(regardingobjectidType, regardingobjectid);
}

// Create the task in Microsoft Dynamics CRM.


tracingService.Trace("FollowupPlugin: Creating the task activity.");
service.Create(followup);

About the code


This code uses the late-bound style to create a task and associate it with the account being created. More
information: Create entities using the Organization Service
Early bound classes can be used, but this requires generating the classes for the entities and including the file
defining those classes with the assembly project. This is mostly a personal preference, so those steps have
been left out of this tutorial for brevity. More information: Late-bound and Early-bound programming using
the Organization service
The Id of the account being created is found in the context OutputParameters and set as the
regardingobjectid lookup attribute for the task.

Build plug-in
In Visual Studio, press F6 to build the assembly. Verify that it compiles without error.

Sign plug-in
1. In Solution Explorer, right click the BasicPlugin project and in the context menu select Properties.
2. In the project properties, select the Signing tab and select the Sign the assembly checkbox.

3. In the Choose a strong name key file: dropdown, select <New…>.


4. In the Create Strong Name Keydialog, enter a key file name and deselect the Protect my key file
with a password checkbox.
5. Click OK to close the Create Strong Name Key dialog.
6. In the project properties Build tab, verify that the Configuration is set to Debug.
7. Press F6 to build the plug-in again.
8. Using windows explorer, find the built plug-in at: \bin\Debug\BasicPlugin.dll .

NOTE
Build the assembly using Debug configuration because you will use the Plug-in profiler to debug it in a later tutorial.
Before you include a plug-in with your solution, you should build it using the release configuration.

Register plug-in
To register a plug-in, you will need the plug-in registration tool
Connect using the Plug-in Registration tool
1. After you have downloaded the Plug-in registration tool, click the PluginRegistration.exe to open it.
2. Click Create new Connection to connect to your instance.
3. Make sure Office 365 is selected. If you are connecting using a Microsoft account other than one you
are currently using, click Show Advanced.

4. Enter your credentials and click Login.


5. If your Microsoft Account provides access to multiple environments, you will need to choose an
environment.
6. After you are connected, you will see any existing registered plug-ins & custom workflow activities
Register your assembly
1. In the Register drop-down, select New Assembly.

2. In the Register New Assembly dialog, select the ellipses (… ) button and browse to the assembly you
built in the previous step.
3. For Office 365 users, verify that the isolation mode is sandbox and the location to store the assembly
is Database.

NOTE
Other options for isolation mode and location apply to on-premises Dynamics 365 deployments. For the
location, you can specify the D365 server's database, the server's local storage (disk), or the server's Global
Assembly Cache. For more information see Plug-in Storage.

4. Click Register Selected Plug-ins.


5. You will see a Registered Plug-ins confirmation dialog.
6. Click OK to close the dialog and close the Register New Assembly dialog.
7. You should now see the (Assembly) BasicPlugin assembly which you can expand to view the (Plugin)
BasicPlugin.FollowUpPlugin plugin.

Register a new step


1. Right-click the (Plugin) BasicPlugin.FollowUpPlugin and select Register New Step.
2. In the Register New Step dialog, set the following fields:

SETTING VALUE

Message Create

Primary Entity account

Event Pipeline Stage of Execution PostOperation

Execution Mode Asynchronous

3. Click Register New Step to complete the registration and close the Register New Step dialog.
4. You can now see the registered step.

NOTE
At this point the assembly and steps are part of the system Default Solution. This is a good time to add them to the
unmanaged solution you will distribute. These steps are not included in this tutorial. See Add your assembly to a solution
and Add step to solution for more information.

Test plug-in
1. Open a model-driven app and create an account entity.
2. Within a short time, open the account and you can verify the creation of the task.
What if the task wasn't created?
Because this is an asynchronous plug-in, the operation to create the task occurs after the account is created.
Usually, this will happen immediately, but if it doesn't you may still be able to view the system job in the queue
waiting to be applied. This step registration used the Delete AsyncOperation if StatusCode = Successful
option which is a best practice. This means as soon as the system job completes successfully, you will not be
able to view the system job data unless you re-register the plug-in with the Delete AsyncOperation if
StatusCode = Successful option unselected.
However, if there was an error, you can view the system job to see the error message.

View System jobs


Use the Dynamics 365 --custom app to view system jobs.
1. In your model-driven app, navigate to the

2. In the Dynamics 365 --custom app, navigate to Settings > System > System Jobs.
3. When viewing system jobs, you can filter by Entity. Select Account.

4. If the job failed, you should see a record with the name BasicPlugin.FollowupPlugin: Create of
account

5. If you open the system job, you can expand the Details section to view the information written to the
trace and details about the error.
Query System jobs
You can use the following Web API query to return failed system jobs for asynchronous plug-ins

GET <your org uri>/api/data/v9.0/asyncoperations?$filter=operationtype eq 1 and statuscode eq


31&$select=name,message

More information: Query Data using the Web API


Or use the following FetchXml:

<fetch top='50' >


<entity name='asyncoperation' >
<attribute name='message' />
<attribute name='name' />
<filter type='and' >
<condition attribute='operationtype' operator='eq' value='1' />
<condition attribute='statuscode' operator='eq' value='31' />
</filter>
</entity>
</fetch>

More information: Use FetchXML with FetchExpression

View trace logs


The sample code wrote a message to the trace log. The steps below describe how to view the logs.
By default, plug-in trace logs are not enabled.
TIP
IF you prefer to change this setting in code: This setting is in the Organization Entity PluginTraceLogSetting attribute.
The valid values are:

VALUE L ABEL

0 Off

1 Exception

2 All

Use the following steps to enable them in a model-driven app.


1. Open the Dynamics 365 - custom app.

2. Navigate to Settings > System > Administration.

3. In Administration, select System Settings.


4. In the System Settings dialog, in the customization tab, set Enable logging to plug-in trace log to
All.
NOTE
You should disable logging after you are finished testing your plug-in, or at least set it to Exception rather than
All.

5. Click OK to close the System Settings dialog.


6. Repeat the steps to test your plug-in by creating a new account.
7. In the Dynamics 365 -- custom app, navigate to Settings > Customization > Plug-In Trace Log.
8. You should find that a new Plug-in Trace Log record has been created.

9. If you open the record you might expect that it would include the information you set in your trace, but it
does not. It only verifies that the trace occurred.
10. To see the details, it is easier to query this data using the Web API in your browser using the following
query with the plugintracelog EntityType, using the typename property to filter results in the
messageblock property based on the name of the plug-in class:

GET <your org uri>/api/data/v9.0/plugintracelogs?$select=messageblock&$filter=typename eq


'BasicPlugin.FollowUpPlugin'

11. You can expect to see the following returned with the Web API query:
{
"@odata.context": "<your org uri>/api/data/v9.0/$metadata#plugintracelogs(messageblock)",
"value": [{
"messageblock": "FollowupPlugin: Creating the task activity.",
"plugintracelogid": "f0c221d1-7f84-4f89-acdb-bbf8f7ce9f6c"
}]
}

Next steps
In this tutorial you have created a simple plug-in and registered it. Complete Tutorial: Debug a plug-in to learn
how to debug this plug-in.
Tutorial: Debug a plug-in
3/22/2019 • 3 minutes to read • Edit Online

This tutorial is the second in a series that will show you how to work with plug-ins.
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in (This tutorial)
Tutorial: Update a plug-in
For detailed explanation of supporting concepts and technical details see:
Use plug-ins to extend business processes
Write a plug-in
Register a plug-in
Debug Plug-ins

Goal
Because the plug-in executes on a remote server, you cannot attach a debugger to the process. The plug-in
profiler captures a profile of an executing plug-in and allows you to re-play the execution of the plug-in using
Visual Studio locally.

Prerequisites
All the prerequisites for Tutorial: Write and register a plug-in apply. See Prerequisites.
If you haven't completed the previous tutorial, you can use the general steps below with a different registered
plug-in.

Install plug-in profiler


1. If the Plug-in registration tool isn't already installed and open, follow the steps in Tutorial: Write and
register a plug-in to open it. Complete the Connect using the Plug-in Registration tool section.
2. In the Plugin Registration tool, click Install Profiler.

3. This will install a new managed solution named Plug-in Profiler in your Common Data Service
environment. This will take a minute or two to complete.

Start profiling
1. In the Plugin Registration tool, select the (Step) BasicPlugin.FollowupPlugin: Create of account step
you registered earlier, and click Start Profiling.
2. In the Profiler Settings dialog accept the default settings and click OK to close the dialog.

Form more information about running the profiler see Run the plug-in profiler from a Command Prompt
window.

Capture a profile
1. In your model-driven app, create a new account to trigger the plug-in. This will capture an instance of the
plug-in executing and persist it as a profile record in the system.
2. In the Plug-in Registration tool, click Debug.

3. In the Replay Plug-in Execution dialog, on the Setup tab, click the icon to open the Select Profile
from CRM dialog.
4. In the Select Profile from CRM dialog, select the profile where Type Name equals
BasicPlugin.FollowupPlugin and represents the profile captured when you last triggered the plug-in.

Debug your plug-in


1. In the Replay Plug-in Execution dialog, on the Setup tab, in the Specify Assembly section, click the
ellipses (… ) button and choose the location of your BasicPlugin.dll .
2. In your Visual studio project, set a break point in your plug-in class.

3. In your Visual Studio project, select Debug > Attach to Process….

4. Select the PluginRegistration.exe process and click Attach.


NOTE
You should see that the Plug-in Registration tool is now running in debug mode.

5. In the Replay Plug-in Execution dialog, click Start Execution.


6. In your Visual Studio project, you should see that the code is paused at the breakpoint you set earlier.

7. You can now step through your code to debug.

Repeat
To repeat, in your Visual Studio project select Debug > Reattach to process and in the Replay Plug-in
Execution dialog click Start Execution again.

Stop profiling
1. Close the Replay Plug-in Execution dialog
2. In the Plug-in Registration tool, click Stop Profiling.
Next steps
To learn more about common things you will do with plug-ins, continue to Tutorial: Update a plug-in
If you will not continue to the next tutorial you should unregister the BasicPlugin assembly you created in this
step. See Unregister assembly, plug-in, and step for instructions.

Run the plug-in profiler from a Command Prompt window


While it is often preferable to run the profiler interactively from the Plug-in Registration tool, the profiler can be
executed from a Command Prompt window independent of the tool. This is useful to obtain the plug-in profile
log from a customer's Dynamics 365 apps server to debug a failed plug-in. A developer can then use that log to
replay the plug-in's execution in the Plug-in Registration tool and debug the plug-in usingVisual Studio.
Procedure: Run the plug-in profiler from a command prompt
1. Open a Command Prompt window and set the working directory to the folder where you downloaded the
Plug-in Registration tool PluginRegistration.exe .
2. Type this command to see the available run-time parameters: PluginProfiler.Debugger.exe /? .
3. Review the supported parameter list and re-run the PluginProfiler.Debugger.exe program with the
appropriate parameters.
Tutorial: Update a plug-in
3/22/2019 • 4 minutes to read • Edit Online

This tutorial is the third in a series that will show you how to work with plug-ins.
Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in
Tutorial: Update a plug-in (This tutorial)
For detailed explanation of supporting concepts and technical details see:
Use plug-ins to extend business processes
Write a plug-in
Register a plug-in
Debug Plug-ins

Goal
This tutorial will describe additional common things you will do with plug-ins. In this tutorial you will:
Update a plug-in assembly
Create and register a synchronous plug-in
Use configuration data in the plug-in
Throw an error to show to the user
Configure and use a pre-entity image in your code
Unregister and assembly, a plug-in, or a step
The goal of this tutorial is:
Create a synchronous plug-in registered on the pre-validation stage of the Update message of the account
entity.
The plug-in will evaluate a set of string values set in using the configuration data when the plug-in is
registered.
If the name of the account is changed to one of these values and the previous value didn’t contain the new
name, cancel the operation and send an error message back to the user.

Prerequisites
Complete Tutorial: Write and register a plug-in
Tutorial: Debug a plug-in is recommended but not required.

NOTE
Because many basic steps were described in detail in Tutorial: Write and register a plug-in, the same level of detail is not
included for the same steps in this tutorial.

Create a new plug-in class


1. In Visual Studio, add a new class to the BasicPlugin project named ValidateAccountName.cs
2. Add the following code to the class and re-build the assembly.

using Microsoft.Xrm.Sdk;
using System;
using System.Collections.Generic;
using System.Linq;

namespace BasicPlugin
{
public class ValidateAccountName : IPlugin
{
//Invalid names from unsecure configuration
private List<string> invalidNames = new List<string>();

// Constructor to capture the unsecure configuration


public ValidateAccountName(string unsecure)
{
// Parse the configuration data and set invalidNames
if (!string.IsNullOrWhiteSpace(unsecure))
unsecure.Split(',').ToList().ForEach(s =>
{
invalidNames.Add(s.Trim());
});
}
public void Execute(IServiceProvider serviceProvider)
{

// Obtain the tracing service


ITracingService tracingService =
(ITracingService)serviceProvider.GetService(typeof(ITracingService));
try
{

// Obtain the execution context from the service provider.


IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));

// Verify all the requirements for the step registration


if (context.InputParameters.Contains("Target") && //Is a message with Target
context.InputParameters["Target"] is Entity && //Target is an entity
((Entity)context.InputParameters["Target"]).LogicalName.Equals("account") && //Target is an
account
((Entity)context.InputParameters["Target"])["name"] != null && //account name is passed
context.MessageName.Equals("Update") && //Message is Update
context.PreEntityImages["a"] != null && //PreEntityImage with alias 'a' included with step
context.PreEntityImages["a"]["name"] != null) //account name included with PreEntityImage with
step
{
// Obtain the target entity from the input parameters.
var entity = (Entity)context.InputParameters["Target"];
var newAccountName = (string)entity["name"];
var oldAccountName = (string)context.PreEntityImages["a"]["name"];

if (invalidNames.Count > 0)
{
tracingService.Trace("ValidateAccountName: Testing for {0} invalid names:", invalidNames.Count);

if (invalidNames.Contains(newAccountName.ToLower().Trim()))
{
tracingService.Trace("ValidateAccountName: new name '{0}' found in invalid names.",
newAccountName);

// Test whether the old name contained the new name


if (!oldAccountName.ToLower().Contains(newAccountName.ToLower().Trim()))
{
tracingService.Trace("ValidateAccountName: new name '{0}' not found in '{1}'.",
newAccountName, oldAccountName);
string message = string.Format("You can't change the name of this account from '{0}' to
'{1}'.", oldAccountName, newAccountName);

throw new InvalidPluginExecutionException(message);


}

tracingService.Trace("ValidateAccountName: new name '{0}' found in old name '{1}'.",


newAccountName, oldAccountName);
}

tracingService.Trace("ValidateAccountName: new name '{0}' not found in invalidNames.",


newAccountName);
}
else
{
tracingService.Trace("ValidateAccountName: No invalid names passed in configuration.");
}
}
else
{
tracingService.Trace("ValidateAccountName: The step for this plug-in is not configured
correctly.");
}
}
catch (Exception ex)
{
tracingService.Trace("BasicPlugin: {0}", ex.ToString());
throw;
}
}
}
}

About the code


This class includes a constructor to capture the unsecure configuration that will be set when a step is
configured.
This class requires specific step configuration to work correctly:
Update message
On the account entity
With the account name included in the attributes
With PreEntityImage using specific alias ‘a’
With PreEntityImage including the name attribute.
If the step configuration is not correct, the plugin will only write to the trace that it is not configured correctly
If no invalid names are set in the configuration, the plugin will only write to the trace that no invalid names
were passed to the configuration
If the new name matches any of the invalid names set using configuration AND the original name does not
contain the new name, an InvalidPluginExecutionException will be thrown with the message to the user that
this operation is not allowed.

Update the plug-in assembly registration


The existing assembly from Tutorial: Write and register a plug-in should already be registered. To add the new
ValidateAccountName plug-in without unregistering the existing assembly, you must update it.
1. Select the (Assembly) Basic Plugin and select Update.
2. In the Update Assembly: Basic Plugin dialog, specify the location of the assembly by clicking the
ellipses (… ) and the assembly will load.

3. Verify that the Assembly and both plug-ins are selected and click Update Selected Plugins.

Configure a new step


Configure the ValidateAccountName plugin using these settings:

SETTING VALUE

Message Update
SETTING VALUE

Primary Entity account

Filtering Attributes name

Event Pipeline Stage of Execution PreValidation

Execution Mode Synchronous

Unsecure Configuration test,


foo,
bar

Add an image
1. Right-click the step you just registered and select Register New Image.

2. In the Register New Image dialog, configure the image with these settings:
SETTING VALUE

Image Type Pre Image

Name account

Entity Alias a

Parameters name

3. When the image is registered you will see it in the plugin registration tool.

Test the plug-in


1. Open the application and attempt to update an existing account name to test , foo , or bar .
2. When you try to save, you should see the following message:
3. If you update an existing account with a name that includes test , foo , or bar , then update the account
to test , foo , or bar you should not see the message.

Unregister assembly, plug-in, and step


Use the Plug-in registration tool to Unregister (delete) any assembly, plug-in or step. Deleting an assembly will
delete all plug-ins and steps for that assembly.
Sample: Create a basic plug-in
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write a simple plug-in that creates a follow -up activity. You can download the sample
from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy. This sample is located under PowerApps-
Samples-master\cds\orgsvc\C#\FollowupPlugin.
2. Open the sample solution in Visual Studio, navigate to the project's properties, and verify the assembly will be
signed during the build. Press F6 to build the sample's assembly (FollowupPlugin.dll).
3. Run the Plug-in Registration tool and register the sample's assembly in the D365 server's sandbox and
database. When registering a step, specify the Create message, account entity, and asynchronous mode.
4. Using the D365 app, perform the appropriate operation to invoke the message and entity request that you
registered the plug-in on (create an account).
5. After the plug-in runs, you should see a new trace log entry "FollowupPlugin: Successfully created the task
activity" and a new activity with the subject "Send e-mail to the new customer." that is scheduled to activate in 7
days.
6. When you are done testing, unregister the assembly and step.

What this sample does


When executed upon creation of an account, the plug-in creates an activity to remind the user to follow -up with the
account customer in 7 days.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Demonstrate
1. How to create a task activity and schedule it for a future date.
2. How to use the tracing service to log run-time information.
3. How to catch exceptions from the web service and process it.
See also
Write a plug-in
Register a plug-in
Sample: Web access from a plug-in
8/20/2019 • 3 minutes to read • Edit Online

This sample shows how to write a plug-in that can access web (network) resources like a web service or feed. It also
demonstrates how to limit the time duration allowed for this call. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy. This sample is located under PowerApps-
Samples-master\cds\orgsvc\C#\WebAccessPlugin.
2. There are two different plug-in class examples:
WebClientPlugin uses WebClient Class
HttpClientPlugin uses HttpClient Class
3. Open the sample solution in Visual Studio, navigate to the project's properties, and verify the assembly will be
signed during the build. Press F6 to build the sample's assembly (WebAccessPlugin.dll).
4. Run the Plug-in Registration tool and register the assembly in the Common Data Service server's sandbox and
database.
5. For either plug-in type, when registering a step, specify a web URI string (i.e., http://www.microsoft.com ) in the
unsecure configuration field.
The default value http://www.bing.com will be used if none is provided.
6. Using an app or write code to perform the appropriate operation to invoke the message and entity request that
you registered the plug-in on.
7. When the plug-in runs, if the duration of the call exceeds the 15 second limit, it will throw an error. Otherwise it
should succeed.
8. When you are done testing, unregister the assembly and step.

What this sample does


When executed, the plug-in downloads web page data from the specified web service address (or the default
address). If the request exceeds the 15 second limit it will throw an InvalidPluginExecutionException and write
details to the Plugin Trace Log.
If the WebClientPlugin plugin fails, it will write something like the following to the Plugin Trace log:

Downloading the target URI: http://www.bing.com


Exception: Microsoft.Xrm.Sdk.InvalidPluginExecutionException: The timeout elapsed while attempting to
issue the request. ---> System.Net.WebException: The operation has timed out
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadData(Uri address)
at PowerApps.Samples.WebClientPlugin.Execute(IServiceProvider serviceProvider)
--- End of inner exception stack trace ---
at PowerApps.Samples.WebClientPlugin.Execute(IServiceProvider serviceProvider)

If the HttpClientPlugin plugin fails, it will write something like the following to the Plugin Trace log:
Downloading the target URI: http://www.bing.com
Inner Exceptions:
Exception: System.Threading.Tasks.TaskCanceledException: A task was canceled.
Exception: Microsoft.Xrm.Sdk.InvalidPluginExecutionException: An exception occurred while attempting to
issue the request.
at PowerApps.Samples.HttpClientPlugin.Execute(IServiceProvider serviceProvider)

The TaskCanceledException is somewhat ambigous about the cause of the task being cancelled. For a more
complete solution showing how to explicitly detect errors due to time outs, see this blog post: Better timeout
handling with HttpClient.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks the constuctor's unsecure configuration parameter for a web address value; otherwise, the default value
is used.
2. Depending on which plug-in is registered, either the WebClient Class or HttpClient Class class is used by the
plug-in's Execute method to download web page data.
3. If the call exceeds the 15 second duration specified, an InvalidPluginExecutionException will be thrown and
details about the error will be written to the Plugin Trace Log.
Demonstrate
WebClientPlugin plugin
1. Uses a derived CustomWebClient class to set the WebRequest.Timeout Property that is not available in the
WebClient class.

/// <summary>
/// A class derived from WebClient with 15 second timeout and KeepAlive disabled
/// </summary>
public class CustomWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
if (request != null)
{
request.Timeout = 15000; //15 Seconds
request.KeepAlive = false;

}
return request;
}
}

2. Uses the WebClient.DownloadData Method to download the data from the resource.
3. Shows how to parse the expected WebException Class and use the Status Property to determine whether the
cause of the failure was due to a timeout.
HttpClientPlugin plugin
1. Uses the HttpClient Class and sets the Timeout Property to limit the allowed time for the operation to complete.
2. Catches the expected AggregateException Class and examines the inner exceptions for the expected
TaskCanceledException
See also
Access external web resources
Register a plug-in
Workflow extensions
7/24/2019 • 14 minutes to read • Edit Online

You can extend the options available within the designer for workflows used in Common Data Service. These
extensions are added by adding an assembly that contains a class the extends the CodeActivity class. These
extensions are commonly called workflow assemblies or workflow activities.
You can use these custom extensions within the designer used for workflows, custom actions, and dialogs.

IMPORTANT
Whenever possible, you should first consider applying one of the several declarative options to define business logic. More
information: Apply business logic in Common Data Service
Use workflow extensions when a declarative process doesn’t meet your requirement.
This content is for Common Data Service workflow assemblies and applies for Dynamics 365 for Customer Engagement apps
(online) as well. Options for on-premises deployments of Dynamics 365 for Customer Engagement apps are described here:
On-premises options.

When to create a workflow extension


If you don’t find the functionality you require using the default process activities, you can add custom activities so
that they are available in the editor used to compose workflow, dialog, and action processes.
By default, these processes include a common set of activities you can perform as shown in the following table:

ACTIVITY WORKFLOW ACTION DIALOG

Query Data X

Assign Value X X

Create Record X X X

Update Record X X X

Assign Record X X X

Send Email X X X

Start Child Workflow X X X

Perform Action X X

Link Child Dialog X

Change Status X X X

Stop Workflow X X
ACTIVITY WORKFLOW ACTION DIALOG

Stop Dialog X

You can use the Perform Action activity to execute any custom actions or the following system messages called
Command Actions:

AddToQueue AddUserToRecordTeam RemoveUserFromRecordTeam

SetProcess SetWordTemplate

If you have Dynamics 365 Customer Engagement Sales or Service solutions, you can find other command actions
depending on the solution:

ApplyRoutingRule CalculateActualValue CloseOpportunity

GetQuoteProductsFromOpportunity GetSalesOrderProductsFromOpportunit LockInvoicePricing


y

LockSalesOrderPricing QualifyLead RemoveUserFromRecordTeam

ResolveIncident ResolveQuote Revise

UnlockInvoicePricing UnlockSalesOrderPricing

More information:
Configure workflow stages and steps
Use Common Data Service dialogs for guided processes
Create a custom action

Technology used
You can register an assembly built using the .NET Framework Activity library that defines custom activities that
will appear within the web application editor and will be invoked when the process runs.
Custom workflow activities require creating a .NET Framework assembly that includes one or more classes that
are derived from the abstract CodeActivity Class. This class provides the Execute(CodeActivityContext) Method
called by the Common Data Service platform when the activity is executed. Each class in your assembly will define
a specific activity.
Workflow activities should define input and output parameters which are visible in the process designer and
enable someone to pass data into the workflow activity and receive the processed output. When you write the
class you will add properties for these parameters and annotate them with .NET attributes to provide the metadata
that Common Data Service will use to expose your custom workflow activity with any parameters in the designer.

Create a custom workflow activity assembly


These are general steps used to create a custom workflow activity using Visual Studio. For a complete step-by-
step example see Tutorial: Create workflow extension.
1. Create a Class Library project using .NET Framework 4.6.2 as the target framework.
IMPORTANT
While assemblies built using later versions should generally work, if they use any features introduced after 4.6.2 an
error will occur.

2. Install the Microsoft.CrmSdk.Workflow NuGet package.


This package includes the Microsoft.CrmSdk.CoreAssemblies package.
3. (Optional) If you wish to use early bound entity classes, include them in the project.
More information:
Late-bound and Early-bound programming using the Organization service
Generate early-bound classes for the Organization service
4. Add a public class. The name of the class should correspond with the action to be performed by the activity.
5. Add the following using directives

using System.Activities;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Workflow;

6. Add properties to the class to represent any input or output parameters and use .NET attributes to provide
necessary metadata to expose these properties to the workflow process designer.
More information: Add parameters
7. Make your class derive from the CodeActivity Class and implement the Execute(CodeActivityContext)
Method that contains the operations your activity will perform.
More information: Add your code to the Execute method
8. Sign your assembly
9. Build your assembly.
10. Register your assembly using the Plug-in Registration tool and set the Name and
WorkflowActivityGroupName properties to define the text that will be visible in the process designer.

More information: Register your assembly


11. Test your workflow activity by invoking it from within a Workflow, dialog, or action processes
12. (Recommended) Add your workflow activity to a solution.

Add parameters
When you define parameters for your class you must define them as InArgument<T>, OutArgument<T>, or
InOutArgument<T> types. These types provide methods inherited from a common Argument Class to Get or Set
the parameters. Your code will use these methods in the Execute method. More information: Add your code to the
Execute method
When your custom workflow activity uses input or output parameters you must add appropriate .NET Attributes
to the public class properties that define them. This data will be read by the process designer to define how the
parameters can be set in the process designer.
You can use the following types of properties as input or output parameters:
bool DateTime Decimal

Double EntityReference int

Money OptionSetValue string

Input and Output parameters


To define the text to display for an input or output parameter in the process designer, you will use the following
pattern using .NET Attributes.

[Input("Integer input")]
public InArgument<int> IntInput { get; set; }

or

[Output("Integer output")]
public OutArgument<int> IntOutput { get; set; }

A single property in your class can be both an input and output parameter by including both attributes:

[Input("Int input")]
[Output("Int output")]
public InOutArgument<int> IntParameter { get; set; }

Required values
If you want to make an input parameter required when using the workflow activity in a process you must use the
[RequiredArgument] attribute.

Default values
When a value passed in as an input parameter or set as an output parameter is not defined, you can specify a
default value. For example, to set the default value for a bool property:

[Input("Bool input")]
[Default("True")]
public InArgument<bool> Bool { get; set; }

The format for the default value depends on the type of property. Examples are in the following table:

TYPE EXAMPLE

bool [Default("True")]

DateTime [Default("2004-07-09T02:54:00Z")]

Decimal [Default("23.45")]

Double [Default("23.45")]

Money [Default("23.45")]
TYPE EXAMPLE

EntityReference [Default("3B036E3E-94F9-DE11-B508-00155DBA2902",
"account")]

int [Default("23")]

OptionSetValue [Default("3")]

string [Default("string default")]

EntityReference parameters
When you define a property for an EntityReference parameter you must use the ReferenceTarget attribute. This
establishes which type of attribute is permitted. For example:

[Input("EntityReference input")]
[Output("EntityReference output")]
[ReferenceTarget("account")]
public InOutArgument<EntityReference> AccountReference { get; set; }

OptionSetValue parameters
When you define a property for an OptionSetValue parameter you must use the AttributeTarget attribute. This
attribute defines which entity and attribute contains the valid set of values for the parameter. For example:

[Input("Account IndustryCode value")]


[AttributeTarget("account", "industrycode")]
[Default("3")]
public InArgument<OptionSetValue> IndustryCode { get; set; }

Add your code to the Execute method


The logic you include in the CodeActivity.Execute(CodeActivityContext) Method method defines what your
workflow activity does.

IMPORTANT
The code in the Execute method should be written to be stateless. It is not recommended to use global or member
variables to pass data from one invocation to the next. For improved performance, Common Data Service caches custom
workflow activity instances. Because of this, the constructor is not called for every invocation of the custom workflow activity.
Also, multiple system threads could execute the custom workflow activity at the same time. You should only use the
information that is passed via the CodeActivityContext parameter to the Execute method.

Reference parameters
To reference parameters defined for your class you will use the Argument.Get or Argument.Set(ActivityContext,
Object) methods they provide which require the CodeActivityContext instance that is passed to the Execute
method. The following example shows accessing the value of an input parameter and setting the value of an
output parameter.
using Microsoft.Xrm.Sdk.Workflow;
using System.Activities;

namespace SampleWorkflowActivity
{
public class IncrementByTen : CodeActivity
{
[RequiredArgument]
[Input("Decimal input")]
public InArgument<decimal> DecInput { get; set; }

[Output("Decimal output")]
public OutArgument<decimal> DecOutput { get; set; }

protected override void Execute(CodeActivityContext context)


{
decimal input = DecInput.Get(context);
DecOutput.Set(context, input + 10);
}
}
}

Get Contextual information


When your code requires contextual information you can access this using the
CodeActivityContext.GetExtension<T> method with the IWorkflowContext Interface. This object is derived from
the IExecutionContext Interface which provides access to many read-only properties that describe the context of
the operation. The IWorkflowContext provides similar contextual information specific to the executing workflow
that is using your workflow assembly.
Use the following code in your Execute function to access the IWorkflowContext :

protected override void Execute(CodeActivityContext context)


{
IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();

...

IMPORTANT
You should not include any logic dependencies based on the context information. When your custom workflow activity is
used in a workflow, all the relevant input parameters should be set within the designer. The output value or behavior of the
custom activity should always be determined solely by the input parameters so that there are no hidden factors that change
the behavior. When someone uses the custom activity in the designer, the behavior should always be predictable.

Use the Organization Service


When you need to perform data operations using the Organization service you can access this using the
CodeActivityContext.GetExtension<T> method with the IOrganizationServiceFactory interface. From there you
can use the CreateOrganizationService(Nullable<Guid>) method to access an instance of the service proxy that
you can use to perform data operations. The IWorkflowContext.InitiatingUserId can be used to determine the user
context to use if you want the operation to be performed in the same context as the calling process. Use the
following code in your Execute function to get access to the Organization service:
protected override void Execute(CodeActivityContext context)
{
IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = context.GetExtension<IOrganizationServiceFactory>();

// Use the context service to create an instance of IOrganizationService.


IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.InitiatingUserId);

...

Register your assembly


You will use the Plug-in Registration Tool (PRT) to register assemblies containing custom workflow activities. This
is the same tool you use to register plug-ins. For both plug-ins and custom workflow activities, you must register
the assembly which will upload it to the environment. However, you do not register steps for custom workflow
activities.
For custom workflow activites you must specify the following properties to control what is displayed in the
workflow process designer.

FIELD DESCRIPTION

Description Not visible in the UI of the process designer, but may be


useful when generating documentation from data drawn from
the PluginType Entity that stores this information.

FriendlyName User friendly name for the plug-in.

Name The name of the menu represented

WorkflowActivityGroupName The name of the submenu added to the main menu in the
Common Data Service process designer.

NOTE
These values will not be visible in the unmanaged solution when you test your workflow activity. However, when you export
a managed solution that includes this workflow activity these values will be visible in the process designer.

Debug Workflow Activities


With custom workflow activities deployed to Common Data Service you can capture profiles to replay for local
debugging and use the tracing service to write information to an entity.
The following example shows using the tracing service to write the following message: Add your message.
protected override void Execute(CodeActivityContext context)
{
//Create the tracing service
ITracingService tracingService = executionContext.GetExtension<ITracingService>();

//Use the tracing service


tracingService.Trace("{0} {1} {2}.","Add","your","message");

...

More information:
Debug Workflow Activities
Use Tracing
View trace logs

Add to Solution
When you register assemblies using the plug-in registration tool they will be added to the Default solution, not
to be confused with the Common Data Service Default Solution. Because the Default solution contains all
the unmanaged customizations applied to the environment, before you can distribute your custom workflow
activity using a solution you must add it to an unmanaged solution. For example, you could add it to the Common
Data Service Default Solution or any unmanaged solution you have created.

Manage changes to custom workflow activities


You will need to maintain the code for your custom workflow activities. Because code changes can include
breaking changes, you will need to manage this change. You will use different steps to update or upgrade your
custom workflow assemblies.
When you register an assembly containing custom workflow activities the version of the assembly is included. This
information is extracted using reflection from the assembly. You can control the version number using the
AssemblyInfo.cs file in your Visual Studio project.

You will find a section at the bottom that looks like this:

// Version information for an assembly consists of the following four values:


//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
//[assembly: AssemblyVersion("1.0.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

This version information is important because it allows you to apply updates to deployed assemblies or upgrade
assemblies when you want to include new capabilities.
Update a custom workflow activity assembly
When you make changes to fix bugs or re-factor code that do not make significant changes to public classes or
method signatures you can update the assembly so that all running processes will automatically start using the
new version of the assembly.
To update an assembly:
1. Change only the Build Number and Revision values in your AssemblyInfo.cs AssemblyVersion attribute. For
example, change from 1.0.0.0 to 1.0.10.5 .
2. Use the Plug-in registration tool to Update the assembly. More information: Update an assembly
Upgrade a custom workflow activity assembly:
If you make changes that include significant changes to public classes or method signatures, such as changing the
parameters you would break any currently running processes defined to use the original signatures. In this case
you must upgrade the assembly. This will create a new custom workflow activity that exposes options define which
version to apply in the process designer. This allows for each process using this activity to be re-configured to
adapt to the changes included in the new assembly. After all processes using the original assembly are updated to
use the upgraded assembly, you can de-register the older assembly.
To upgrade an assembly:
1. Make sure the new assembly has the same Name , PublicKeyToken , and Culture as the existing assembly.
2. Change the Major Version and/or Minor Version values in your AssemblyInfo.cs AssemblyVersion
attribute. For example, change from 1.0.0.0 to 2.0.0.0 .
3. Use the Plug-in registration tool to Register the assembly as a new assembly. More information: Register an
assembly
4. For each process using the custom workflow activity, you must deactivate the process and edit the steps
which use the custom workflow activity.
You will find a Version selector in the process designer that you can use to choose which version of the
assembly should be used.

When all processes are converted to use the new assembly, you can use the Plug-in Registration tool to Unregister
the assembly, so it will no longer be available. More information: Unregister components

Performance Guidance
Performance considerations for your workflow extensions are the same as for ordinary plug-ins. More
information: Performance considerations
Unlike an ordinary plug-in, with workflow extensions you do not have the opportunity to explicitly register your
code for a specific step. This means you don't control whether the code in your workflow extension will run
synchronously or asynchronously. Particular care must be considered for code that runs synchronously because it
will directly impact the application user's experience.
As re-usable components, workflow extensions can be added to any workflow or custom action. The workflow
may be configured as a real-time workflow, which means it will run synchronously. Custom actions are always
synchronous, but they do not participate in a transaction unless they have Enable rollback set.

IMPORTANT
When your workflow extension is used in a synchronous workflow or a custom action the time spent running the code
directly impacts the user's experience. For this reason, workflow extensions should require no more than two seconds to
complete when used synchronously. If your extension requires more time than this, you should document this and
discourage use of the extension in synchronous workflows or custom actions.
You should also be aware that in a synchronous workflow or a custom action that participates in the transaction,
any error thrown by your workflow extension will cause the entire transaction to rollback, which is a very
expensive operation that can impact performance.
You can use the value in the IWorkflowContext.WorkflowMode property to determine if the plug-in is running
synchronously.

Real-time workflow stages


When a workflow extension is used in a real-time (synchronous) workflow it will be invoked in the event execution
pipeline stages shown in the following table. For more information : Event execution pipeline

MESSAGE STAGE

Create PostOperation

Delete PreOperation

Update PreOperation or
PostOperation

You can use the value in the IWorkflowContext.StageName property to detect the stage.
For the Update operation, the stage is configurable using Before or After options in the workflow designer. More
information: Using real-time workflows
If your workflow extension depends on data passed in the execution context, the stage it runs in will control
whether data is available in the IWorkflowContext.InputParameters and IWorkflowContext.OutputParameters.

NOTE
We don't recommend including logic dependencies based on the InputParameters and OutputParameters. Workflow
extensions should depend on the configured input and output parameters so that the person using the workflow extension
can understand the expected behavior without having anything hidden from them.

Entity Images for workflow extensions


There is no way to configure entity images for workflow extensions since you only register the assembly and the
workflow activity runs in the context of the workflow. For workflow extensions entity images are available using
the key values PreBusinessEntity and PostBusinessEntity respectively for the pre and post entity images. More
information: Entity Images
See also
Best practices and guidance regarding plug-in and workflow development Tutorial: Create workflow extension
Sample: Create a custom workflow activity
Sample: Update next birthday using a custom workflow activity
Sample: Calculate a credit score with a custom workflow activity
Scalable Customization Design in Common Data
Service
3/22/2019 • 7 minutes to read • Edit Online

NOTE
This is the first in a series of topics about scalable customization design. While this content has been divided into separate
topics, it presents a wholistic view of concepts, issues, and strategies surrounding the design of scalable customizations. Each
topic builds upon concepts established in preceding topics. You can download these topics as a single PDF document if you
want to read it offline.

Common Data Service is designed to protect itself and its users from long running activities that could affect both
the response times for the user making a request and the stability and responsiveness of the system for other
users.
A challenge faced by some people implementing Common Data Service solutions are errors thrown by the
platform or the underlying Microsoft SQL Server database when these protective measures take effect. This is
often interpreted as the platform not being able to scale or incorrectly terminating or throttling requests to the
system.
This content is based on experiences investigating and addressing the true underlying causes of the majority of
these types of challenges. These topics describe how the platform protects itself from the impact of these requests
imposed on the system and explains why this behavior is most often the result of custom implementations not
understanding the impact on blocking and transaction usage within the platform.
This content also describes how optimizing a custom implementation to avoid these types of behaviors will not
only avoid platform errors, but also enable better performance and end user experiences as a result. It provides
good design practices and identifies common errors to avoid.

The challenge
Investigating and addressing the challenges in this area typically starts when certain types of errors and symptoms
appear in the system. These are often perceived to be problems in the platform and the necessary remedial step is
to loosen up the platform constraints that typically trigger a slow running request to become a reported error.
In reality, while the errors could be avoided in the short term by relaxing some of the platform constraints, these
constraints are there for good reasons and are designed to prevent an excessively long running action from
affecting other users or system performance. While the constraints could be relaxed to avoid the errors, users
would still be experiencing slow response times and this would be affecting other users’ experience of the system
as well.
Therefore, it’s preferable to look at the root causes of why these constraints are being triggered and causing errors,
and then optimize the code customizations to avoid them. This will provide a more consistent and more
responsive system for the users.
Common symptoms
These types of problems typically exhibit a combination of common symptoms as shown in the following table.
SYMPTOM DESCRIPTION

Slow requests Users see slow response times for the system in particular
areas, for example, certain forms and queries

Generic SQL errors Certain actions respond with a platform error reporting a
Generic SQL Error.
This often translates at a platform layer to a SQL timeout.

Deadlocks Platform errors reporting that a deadlock has occurred, which


has forced the action to be terminated and rolled back.

Limited throughput Particularly in batch load scenarios, this often exhibits in really
slow throughput being achieved, much slower than should be
possible.

Intermittent errors / slow performance An important indicator of these behaviors is where the same
action can be very fast or incredibly slow, and retrying it
works much more quickly or avoids an error

In reality a combination of these symptoms can and often would be reported together when these challenges are
faced. It’s not always the case that these symptoms are an indicator of problems with the design. Other issues,
such as disk I/O limitations in the database or a product bug, can cause similar symptoms. But the most common
cause of these kinds of symptoms, and therefore one worth checking for, relates directly to the design of the
custom implementation and how it affects the system.

Why should we worry? Doesn’t Common Data Service just take care of this…?

It does as far as it can… But it uses locking and transactions to protect the system against conflicts when required.
We also provide options for you to make choices about your particular scenario and to decide where it is
important to control access to data. But those choices can be made incorrectly, and it is possible to introduce
unintended consequences in custom code. These problems typically have an impact on the user experience
through slower response times so understanding the implications of certain actions can lead to more consistent
and better results for users.

Understanding causes
Common symptoms have causes that force particular requests to run slowly and then to trigger platform
constraints. The following diagram shows typical symptoms with some of the common root causes of these
symptoms.
The underlying impact of long running transactions, database blocking, and complex queries can all overlap with
each other and amplify their effects to cause these symptoms. For example, a series of long running queries that
are completely independent of each other may cause slow user response times, but only once they require access
to the same resources do the response times become so slow that they become errors.

Design for platform constraints


The Common Data Service platform has a number of deliberate constraints it imposes to prevent any one action
having too detrimental an impact on the rest of the system and, therefore, on users. While this behavior can be
frustrating since it can block specific requests from completing and often leads to questions around whether the
constraints can be lifted, this is rarely a good approach when you consider the broader implications.
When the platform is used as intended and an implementation is optimized, it’s very rare that there is a scenario
where these constraints would be encountered. Running into the constraint is almost always an indication of
behaviors that will be tying up resources excessively in the system. This means other requests either from the
same user or other users can’t be processed. So while it may be possible to loosen the constraint on the request
being blocked, what that actually means is that the resources it is consuming are tied up for even longer causing
bigger impacts on other users.
At the heart of these constraints is the idea that the Common Data Service platform is designed to support a
transactional, multi-user application where quick response to user demand is the priority. It’s not intended to be a
platform for long running or batch processing. It is possible to drive a series of short requests to Common Data
Service but Common Data Service isn’t designed to handle batch processing. Equally, where there are activities
running large iterative processing, Common Data Service isn’t designed to handle that iterative processing.
In those scenarios, a separate service can be used to host the long running process, driving shorter transactional
requests to Common Data Service itself. For example, using Flow or hosting Microsoft SQL Server Integration
Services (SSIS ) elsewhere and then driving individual create or update requests to Common Data Service is a
much better pattern than using a plug-in to loop through thousands of records being created in Common Data
Service.
It is worth being aware of and understanding the platform constraints that do exist, so that you can allow for them
in your application design. Also, if you do encounter these errors, you can understand why they are happening and
what you can change to avoid them.

CONSTRAINT DESCRIPTION
CONSTRAINT DESCRIPTION

Plug-in timeouts • Plug-ins will time out after 2 minutes


• Don't preform long running operations in plug-ins. Protects
the platform and the sandbox service and ultimately the user
from poor user experience

SQL timeouts • Requests to SQL Server time out at 30 seconds


• Protects against long running requests
• Provides protection within a particular organization and its
private database
• Also provides protection at a database server level against
excessive use of shared resources such as processors/memory

Workflow limits • Operates under a Fair Usage policy


• No specific hard limits, but balance resource across
organizations
• Where demand is low an organization can take full
advantage of available capacity. Where demand is high,
resources and throughput are shared.

Maximum concurrent connections • There is a platform default setting of a maximum connection


pool limit of 100 connections from the Web Server connection
pool in IIS to the database. Common Data Service does not
change this value
• If you hit this, it is an indication of an error in the system;
look at why so many connections are blocking
• With multiple web servers, each with 100 concurrent
connections to the database of typical < 10ms, this suggests
a throughput of > 10k database requests for each web server.
This should not be required and would hit other challenges
well before that

ExecuteMultiple • The ExecuteMultiple message is designed to assist with


collections of operations being sent to Common Data Service
from an external source
• The processing of large groups of these requests can tie up
vital resources in Common Data Service at the expense of
more response critical requests by users, therefore this is
limited to 2 concurrent ExecuteMultiple requests per
organization

Next steps
To understand how the platform constraints are applied it is necessary to understand database transactions. More
information: Scalable Customization Design: Database transactions
Best practices and guidance regarding plug-in and
workflow development for the Common Data Service
9/23/2019 • 2 minutes to read • Edit Online

This list below contains all of the guidance and best practices regarding the plug-in and workflow development
within the Common Data Service.

BEST PRACTICE DESCRIPTION

Avoid usage of batch request types in plug-ins and workflow You shouldn't use ExecuteMultipleRequest or
activities ExecuteTransactionRequest message request classes within the
context of a plug-in or workflow activity.

Develop IPlugin implementations as stateless Members of classes that implement IPlugin are exposed to
potential thread-safety issues which could lead to data
inconsistency or performance problems.

Do not duplicate plug-in step registration Duplicate plug-in step registration will cause the plug-in to fire
multiple times on the same message/event.

Do not use parallel execution within plug-ins and workflow Multi or parallel threading within plug-ins or custom workflow
activities activities is not supported.

Implement all types of queries when filtering results using For best performance and consistent results for all applications
PreOperation RetrieveMultiple you must implement filtering for all types of queries that can
be used with plug-ins that are registered for the PreOperation
stage of RetrieveMultiple

Include filtering attributes with plug-in registration If no filtering attributes are set for a plug-in registration step,
then the plug-in will execute every time an update message
occurs for that event.

Limit the registration of plug-ins for Retrieve and Adding synchronous plug-in logic to the Retrieve and
RetrieveMultiple messages RetrieveMultiple message events can cause slowness.

Optimize custom assembly development Consider merging separate plug-ins/custom workflow


activities into a single custom assembly to improve
performance and maintainability and move plug-ins/custom
workflow activities into multiple custom assemblies if an
assembly size is near the sandbox assembly size constraints.

Remove unsupported code that uses reflection in custom Workflow activities containing unsupported code that uses
workflow activities reflection will break in the coming months unless it is
removed.

Set KeepAlive to false when interacting with external hosts in a KeepAlive property set to true in the HTTP request header or
plug-in not explicitly defined as false can cause increased execution
times of plug-ins.

Set Timeout when making external calls in a plug-in Limit the time period that external calls will expect a response
within plug-ins.
BEST PRACTICE DESCRIPTION

Use InvalidPluginExecutionException in plug-ins and workflow Use InvalidPluginExecutionException when raising errors
activities within the context of a plug-in or workflow activity.

See Also
Apply business logic using code
Use plug-ins to extend business processes
Workflow extensions
Import data
3/22/2019 • 2 minutes to read • Edit Online

If you want to import data into Common Data Service, you can use the data import feature. Data import lets you
upload data from various customer relationship management systems and data sources into Common Data
Service. You can import data into standard and customized attributes of most business and custom entities. You
can also include related data, such as notes and attachments.
Common Data Service includes a web application tool called Import Data Wizard. You use this tool to import data
records from one or more comma-separated values (.csv), XML Spreadsheet 2003 (.xml), or text files.
For more information about the Import Data Wizard, see Common Data Service Help.
The Common Data Service web services provide the following additional capabilities that aren’t available in the
Import Data Wizard:
Create data maps that include complex transformation mapping, such as concatenation, split, and replace.
Define custom transformation mapping.
View source data that is stored inside the temporary parse tables.
Access error logs to build custom error reporting tools with improved error logging views.
Run data import by using command-line scripts.
Add LookupMap XML tags in the data map to indicate that the data lookup will be initiated and performed
on a source file that is used in the import.
Add custom OwnerMetadata XML tags in the data map to match the user records in the source file with the
records of the user (system user) in Common Data Service.
Use optional validation checks.

NOTE
Validation isn’t optional in the Import Data Wizard.

To implement data import, you typically do the following:


Create a comma-separated values (CSV ), XML Spreadsheet 2003 (XMLSS ), or text source file.
Create a data map or use an existing data map.
Associate an import file with a data map.
Upload the content from a source file to the associated import file.
Parse the import file.
Transform the parsed data.
Upload the transformed data into the target Common Data Service server.
You can import data from one source file or several source files. A source file can contain data for one
entity type or multiple entity types.
Parsing, transforming, and uploading of data is done by the asynchronous jobs that run in the background.

NOTE
By default, all custom entities are enabled for import. To determine if a business entity is enabled for import, see the entity
metadata for the specific entity. If an entity is enabled for import, the entity metadata property IsImportable is set to
true . The value of this property can’t be changed for the out-of-the-box business entities.

See Also
Prepare source files for import
Create data maps for import
Add transformation mappings for import
Configure data import
Run data import
Data import entities
Sample: Export and import a data map
Sample: Import data using complex data map
Prepare source files for import
3/22/2019 • 2 minutes to read • Edit Online

Before you can import data into Common Data Service, you must create the source data files.
The data source files that you use in an import must be formatted as comma-separated values (.csv), XML
Spreadsheet 2003 (.xml), or text files. The use of source files enables the transfer of data from database systems
that use different formats into Common Data Service.
A source file may contain data for one entity type or multiple entity types, such as accounts and contacts. For the
source files that contain multiple entity data, you must provide a map that includes the <EntitiesPerFile> tag. Set
the value of this tag to “Multiple” to indicate that there is more than one entity type in the source file. Add the
Dedupe = “Eliminate” attribute to the <EntityMap> tag. This assures that if the file contains duplicate rows for the
entity type, a single row is used to minimize lookup related errors.
You can download an example of a data map with multiple entity types from Microsoft Downloads:
DataImportMaps.zip. Look at the MapForSalesForceContactAccount.xml file.
The field values in the source file can be separated by commas, tabs, or other characters that are defined in the
ImportFile.FieldDelimiterCode attribute.

NOTE
Do not use non-printable characters, null (\0) or break (\b), as delimiters for the field values.

The first row in the source file should contain column headings. If you do not include headings, use the
ImportFile.IsFirstRowHeader attribute to specify that the first row represents actual data. In this case, default
column headings are created with the names Col1, Col2, and so on.
See Also
Import data
Create data maps for import
Add transformation mappings for import
Configure data import
Run data import
Data import entities
Sample: Export and import a data map
Sample: Import data using complex data map
Create data maps for import
3/22/2019 • 5 minutes to read • Edit Online

To import data into Common Data Service, you must provide the appropriate data maps.
You can download examples of data maps from Microsoft Downloads: DataImportMaps.zip.
You use data maps to map the data contained in the source file to the Common Data Service entity attributes. You
must map every column in the source file to an appropriate attribute. The data in the unmapped columns is not
imported during the data import operation.
The data map is represented by the import map (data map) entity. You can create a new map by using the
CreateRequest message or update an existing map by using the IOrganizationService.Update method. The map
has a unique name that is contained in the ImportMap.Name attribute. You can specify the name of the import
source for which this data map is created by using the ImportMap.Source attribute.

Column, list value, and lookup mappings


To map a column, a list value, or lookup value in the source file to a Common Data Service attribute, use the
following mappings:
Column Mapping
Maps a column in a source file to a Common Data Service entity attribute. For column mapping, use the column
mapping ( ColumnMapping ) entity. You can use 1:1 (one-to-one) or 1:N (one-to-many) relationships between source
and target attributes. For example, you can map account address information to the billing and shipping addresses
in an order.
List Value Mapping
Maps a list value in a source file to a Common Data Service attribute of the OptionSetValue type. For list value
mapping, use the picklist mapping ( PicklistMapping ) entity.
If a value specified in the source file column is a list value, such as an OptionSetValue, Status, State, and Boolean,
you must provide a list value mapping additionally to a column mapping. For example, map the "bill" and "ship"
list values in the source file to the bill and ship values of the OptionSetValue type.
Lookup Mapping
Maps a lookup value in a source file to a Common Data Service attribute of the EntityReference type. For lookup
mapping, use the lookup mapping ( LookupMapping ) entity.
If the value specified in the source file references an entity, you must provide a lookup mapping for this value. Use
the LookupMapping.LookupSourceCode attribute to specify whether to search for the referenced entity inside the
source file or inside Common Data Service. If you are using early bound types, you can use the LookupSourceType
enumeration to set the lookup values. To search inside the source file, use the LookupSourceType.Source value. To
search inside Common Data Service, use the LookupSourceType.System value. For a list of the LookupSourceCode
values, see the picklist values for this entity. To view the entity metadata for your organization, install the Metadata
Browser solution described in Browse the metadata for your organization. You can also browse the reference
documentation for entities in the Entity Reference. You can provide multiple lookup mappings. The asynchronous
transformation job processes all available mappings. It finds the referenced records and updates the parse table
with the record unique identifiers. For more information, see Run Data Import.
Owner mapping
Use owner mapping to map a user specified in the source file to a user in Common Data Service. For logging
information, use the Common Data Service user logon name. For owner mapping, use the owner mapping (
OwnerMapping ) entity.

Notes and attachments


Mapping for notes and attachments is handled differently from other entities. Notes and attachments are used to
append additional information to a record in Common Data Service. Notes are stored as text and attachments are
stored as files in the Common Data Service database.
To create a note in Common Data Service, set the Annotation.IsDocument attribute in the annotation (note) entity
to false . To create an attachment, set IsDocument to true .
Use the following settings for mapping notes and attachments:
Set the ColumnMapping.SourceAttributeName attribute to “ true ” or “ false ”. The “ true ” value indicates an
attachment. The “ false ” value indicates a note.
Set the ColumnMapping.TargetAttributeName attribute to IsDocument .
Set the ColumnMapping.ProcessCode attribute to the ImportProcessCode.Internal value of the
ImportProcessCode enumeration, if you are using early bound types. For a list of the ProcessCode values,
see the picklist values for this entity.
If the source data represents a note, map the text of the note to the Annotation.NoteText attribute. If you
are working with Salesforce files, they are usually stored on the disk under unique identification numbers.
To import an attachment, you must map a file identification number that is contained in the source file to
the Annotation.DocumentBody attribute. The DocumentBody attribute stores the contents of the attachment.
The import asynchronous job checks for mappings that have the source attribute name set to “ true ” and “
false ” to discover notes and attachments. If it finds an attachment mapping, it looks for the specified files
on the disk and uploads the file contents as attachments into Common Data Service. If a file is not found,
an error is returned.
If you do not provide mapping for an annotation (note) entity, the import job generates a default mapping
for the note.

NOTE
The maximum size of files that can be uploaded is determined by the Organization.MaxUploadFileSize property. This
property is set in the Email tab of the System Settings in the Common Data Service application. This setting limits the size
of files that can be attached to email messages, notes, and web resources. The default setting is 5 MB. However, an
attachment size cannot exceed the maximum HTTP request size (the default is 16MB). For the change to take effect, reset
Internet Information Services. To do this, click Start, click Run, type iisreset , and then click OK.

Import and export data maps


You can export an existing data map to an XML file and import XML data mappings into Common Data Service.
To export a data map from Common Data Service, use the ExportMappingsImportMapRequest message. To
import XML data mappings and create a data map in Common Data Service, use the
ImportMappingsImportMapRequest message.
See Also
Import data
Prepare source files for import
Add transformation mappings for import
Configure data import
Run data import
Data import entities
Sample: Export and import a data map
Sample: Import data using complex data map
Add transformation mappings for import
3/22/2019 • 6 minutes to read • Edit Online

Use transformation mapping to modify data before importing it. For example, split a full name that is contained in
the source file into a first name and a last name to match the target attributes for an entity.
To implement transformation mapping, use the transformation mapping ( TransformationMapping ) entity and
transformation parameter mapping ( TransformationParameterMapping ) entity.
The transformed data must be compatible with the Common Data Service entity attribute types.
The transformation type is described by the TransformationMapping.TransformationTypeName property. The valid
values for this property are listed in the following table:

FIELD VALUE

AddToCurrentDate "Microsoft.Crm.Transformations.AddToCurrentDate"

AddToDate "Microsoft.Crm.Transformations.AddToDate"

AdvancedAddToCurrentDate "Microsoft.Crm.Transformations.AdvancedAddToCurrentDate"

AssignValue "Microsoft.Crm.Transformations.AssignValue"

Concatenate "Microsoft.Crm.Transformations.Concatenate"

Replace "Microsoft.Crm.Transformations.Replace"

Split "Microsoft.Crm.Transformations.Split"

Substring "Microsoft.Crm.Transformations.Substring"

The following sections describe the available transformations.

Concatenation
Concatenates strings and separates them with a delimiter.

INPUT PARAMETERS DESCRIPTION

Prefix String that is used as a prefix in the concatenated string.

Suffix String that is used as a suffix in the concatenated string.

Delimiter One character or combination of characters that separate


substrings inside the concatenated string. The delimiter is not
used between the prefix and the substring or between the
suffix and the substring. Do not use the backspace (\b),
newline (\n), and return (\r) characters as a delimiter.

<Variable> Array of variable length that contains substrings.


OUTPUT PARAMETERS DESCRIPTION

String Concatenated string.

Split
Separates a string that includes a delimiter into substrings. There can be up to ten substrings.

INPUT PARAMETERS DESCRIPTION

Input String String that contains one or more substrings that is separated
with delimiters.

Delimiter One character or combination of characters that separate


substrings inside the string. Do not use the backspace (\b),
newline (\n), and return (\r) characters or empty strings as a
delimiter.

OUTPUT PARAMETERS DESCRIPTION

Variable Substrings 1 through maximum of 10.

For example, if the input string contains eleven substrings, the output contains ten substrings as shown in the
following example:
Input string: a;b;c;d;e;f;g;h;i;j;k
Output:
a
b
c
d
e
f
g
h
i
j;k

Substring
Returns a substring of a specified length, starting at a specified point in the string.

INPUT PARAMETERS DESCRIPTION

Input String String that contains a substring.


INPUT PARAMETERS DESCRIPTION

Start Index Starting position of the substring.

Length Length of the substring. If the length is null, returns a


complete string from the start index.

OUTPUT PARAMETERS DESCRIPTION

Substring Returned substring.

Replace
Replaces all occurrences of a specified string with another specified string.

INPUT PARAMETERS DESCRIPTION

Input String String that contains a search string.

Search String Search string. Do not use the backspace (\b), newline (\n), and
return (\r) characters as a search string.

Replace String Replacement string. Use an empty string to remove a search


string. Do not use the backspace (\b), newline (\n), and return
(\r) characters as a replacement string.

OUTPUT PARAMETERS DESCRIPTION

Value Replacement value (same as assigned value).

Assign value
Replaces all values with a specified value.

INPUT PARAMETERS DESCRIPTION

Value Value that you want to assign.

OUTPUT PARAMETERS DESCRIPTION

Value Replacement value (same as assigned value).

NOTE
Date transformations can only be used for correctly formatted dates. For information about how to format dates, see
Common Data Service Help.

Add to date
Adds a specified number of days, months, and years to a date.
INPUT PARAMETERS DESCRIPTION

Date Date string that is to be modified.

Year Offset Positive or negative value that is added to the year


component of an input date.

Month Offset Positive or negative value that is added to the month


component of an input date.

Day Offset Positive or negative value that is added to the day


component of an input date.

OUTPUT PARAMETERS DESCRIPTION

New Date New data string that contains day, month, and year added in
this order.

Adjust current date and set time


Adds a specified number of days, months, and years to the current date and sets the specified time. The offsets can
only be integer numbers.

INPUT PARAMETERS DESCRIPTION

Year Offset Positive or negative value that is added to the year


component of a current date.

Month Offset Positive or negative value that is added to the month


component of a current date.

Day Offset Positive or negative value that is added to the day


component of a current date.

Hours Value that is used to set the hours component of a current


date.

Minutes Value that is used to set the minutes component of a current


date.

Seconds Value that is used to set the seconds component of a current


date.
INPUT PARAMETERS DESCRIPTION

Day of Week Day of the week that can be Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday, or Sunday. The days of the week
are represented by whole numbers, starting with decimal 1
for Monday. The values for days of the week are contained in
the DayOfWeek enumeration. For more information about
this enumeration, see the MSDN topic,
DayOfWeekEnumeration.
If the calculated current date does not fall on the specified day
of the week, it is adjusted to the nearest earlier date that falls
on the specified day of the week. The current date is always
adjusted to a date in the past.
For example, if you specify Wednesday as a day of the week,
and the newly calculated date falls on Tuesday, March 9, then
the date is adjusted to Wednesday, March 3.

OUTPUT PARAMETERS DESCRIPTION

New Date New data string that contains day, month, and year added in
this order.

Advanced add to current date


Adds a specified number of days, months, and years to the current date. You can specify whether offsets are
relative to the current date or absolute values. The offsets can only be integer numbers.
For example, if you use an absolute value of 3 for a month offset, the newly calculated month is March. If you set a
relative to current date month offset to 3, and the current month is April, the newly calculated month is July.

INPUT PARAMETERS DESCRIPTION

Year Offset Positive or negative value that is added to the year


component of a current date or absolute year.

Year Offset Mode Specify whether the offset is relative to the current date or
absolute value by using the
TransformationParameterMapping.Data attribute. If you are
using early bound types, you can use the
TransformationOffsetMode enumeration to specify relative
or absolute offset. For a list of the DataTypeCode values, see
the picklist values for this entity. To view the entity metadata
for your organization, install the Metadata Browser solution
described in Browse the metadata for your organization. You
can also browse the reference documentation for entities in
the Entity Reference.

Month Offset Positive or negative value that is added to the month


component of a current date or absolute month.

Month Offset Mode Specify whether the offset is relative to the current date or
absolute value by using the
TransformationParameterMapping.Data attribute. If you are
using early bound types, you can use the
TransformationOffsetMode enumeration to specify relative
or absolute offset. For a list of the DataTypeCode values, see
the picklist values for this entity.
INPUT PARAMETERS DESCRIPTION

Day Offset Positive or negative value that is added to the day


component of a current date or absolute day.

Day Offset Mode Specify whether the offset is relative to the current date or
absolute value by using the
TransformationParameterMapping.Data attribute. If you are
using early bound types, you can use the
TransformationOffsetMode enumeration to specify relative
or absolute offset. For a list of the DataTypeCode values, see
the picklist values for this entity.

Hours Value that sets the hours component of a current date.

Minutes Value that sets the minutes component of a current date.

Seconds Value that sets the seconds component of a current date.

OUTPUT PARAMETERS DESCRIPTION

New Date New data string that contains day, month, and year, added in
this order. First, the relative components are added, and then
the absolute values are used to form a date.

See Also
Import data
Prepare source files for import
Create data maps for import
Configure data import
Run data import
Data import entities
Sample: Export and import a data map
Sample: Import data using complex data map
Configure data import
3/22/2019 • 2 minutes to read • Edit Online

The configuration information that is required for importing data is contained in the data import ( Import ) entity
and the import source file ( ImportFile ) entity.
To configure data import, do the following:
Use the Import.ModeCode attribute to specify whether to create or update data during import. If you are
using early bound types, you can use the ImportModeCode enumeration. For a list of the ModeCode values,
see the picklist values for this entity. To view the entity metadata for your organization, install the Metadata
Browser solution described in Browse the metadata for your organization. You can also browse the
reference documentation for entities in the Entity Reference.
Use the ImportFile.FileTypeCode attribute to specify the type of the import file. If you are using early
bound types, you can use the ImportFileType enumeration. For a list of the FileTypeCode values, see the
picklist values for this entity.
Use the ImportFile.DataDelimiterCode attribute to specify the single character data delimiter in the import
file. If you are using early bound types, you can use the ImportDataDelimiter enumeration. For a list of the
ImportDataDelimiter values, see the picklist values for this entity.
Use the ImportFile.FieldDelimiterCode attribute to specify the single character field delimiter in the import
file. If you are using early bound types, you can use the ImportFieldDelimiter enumeration. For a list of the
FieldDelimiterCode values, see the picklist values for this entity.
Set ImportFile.IsFirstRowHeader to true to indicate that the first row in the source file contains column
headings or to false to indicate that the first row contains actual data. If set to false , default column
headings are generated.
Set ImportFile.ImportId to the ID of the import (data import) that the import file is associated with.
Set ImportFile.ImportMapId to the ID of the associated import map (data map).
Set ImportFile.EnableDuplicateDetection to true to enable duplicate detection during data import.
Read the content of the source file into the ImportFile.Content .

IMPORTANT
We do not recommend updating records by using data import programmatically. To update, use the data export and import
capabilities of the Common Data Service Web application. Use Export to Excel to export records to an XML Spreadsheet
2003 (.xml) file. This is the only valid source file type for the Update mode. Re-importing data from the XML Spreadsheet
2003 (.xml) source file ensures that the data integrity in Common Data Service is maintained. To import updated data, use
the Common Data Service Import Data Wizard. For more information about the Import Data Wizard, see Common Data
Service Help.

See Also
Import data
Blog Post: How to Import attachments programmatically
Prepare source files for import
Create data maps for import
Add transformation mappings for import
Run data import
Data import entities
Sample: Export and import a data map
Sample: Import data using complex data map
Run data import
3/22/2019 • 5 minutes to read • Edit Online

Data import runs directly on the Common Data Service server. To run data import, set up asynchronous jobs to
run in the background that do the following, in this order:
Parse source data that is contained in the import file.
Transform parsed data by using the data map.
Upload transformed data into Common Data Service.
All Common Data Service users who have appropriate permissions can run data import.

Parse source data


Parsing source data includes parsing of all import files associated with a particular import (data import).
Parsed data is stored in the temporary parse tables that are created for every imported file. The name of the parse
table is stored in the ImportFile.ParsedTableName attribute. The source file column headings are specified in the
ImportFile.HeaderRow attribute. If the source file does not include a first row that contains the column headings,
this attribute specifies the system-generated default column headings.
Save parsed data in the parse table by using the ParseImportRequest message. Retrieve data from the parse table
by using the GetDistinctValuesImportFileRequest message and the RetrieveParsedDataImportFileRequest
message.
The following table lists the messages that you can use to parse the import files and retrieve the parsed data from
the parse tables.

MESSAGE DESCRIPTION

ParseImportRequest Submits an asynchronous job that parses all import files


associated with the specified import (data import). Pass the
ID of the associated import (data import) in the ImportId
property of this request. The ID of the asynchronous job that
runs in the background and performs parsing of data is
returned in the AsyncOperationId property of the message
response.

GetDistinctValuesImportFileRequest Returns distinct values for a column in the source file that
contains list values. Pass the ID of the associated import file
in the ImportFileId property of this request. The distinct
values are returned in an array of strings, in the Values
property of the message response. Use this message only
after you have created a parse table by using the
ParseImportRequest message. Important: Do not use this
message after you use the ImportRecordsImportRequest
message. You cannot access the parse table after the import
job submitted by the ImportRecordsImportRequest message
has finished running.
MESSAGE DESCRIPTION

RetrieveParsedDataImportFileRequest Retrieves the data from the parse table. Pass the ID of the
associated import file in the ImportFileId property of this
request. The parsed data is returned in a two-dimensional
array of strings in the Values property of the message
response. The data is returned with the same column order as
the column order in the source file. Use this message only
after you have created a parse table by using the
ParseImportRequest message. Important: Do not use this
message after you use the ImportRecordsImportRequest
message. You cannot access the parse table after the import
job submitted by the ImportRecordsMessage message has
finished running.

Transform parsed data


During transformation, you change parsed data by applying all available data mappings and transformations that
are associated with a particular import (data import) to the data.
Use the TransformImportRequest message to submit an asynchronous job to transform the parsed data. Pass a
unique identifier of the associated import (data import) in the Import.ImportId attribute of the request. A unique
identifier of the asynchronous job that runs in the background and performs the transformation is returned in the
AsyncOperationId property of the message response.

Upload transformed data to the target server


After you successfully complete the transformation, the data is ready to be uploaded into the Common Data
Service server.
Use the ImportRecordsImportRequest message to submit an asynchronous job to upload the transformed data
into Common Data Service. The unique identifier of the associated import (data import) must be specified in the
ImportId property of the request. A unique identifier of the asynchronous job that runs in the background and
uploads the data into Common Data Service is returned in the AsyncOperationId property of the message
response. All import files that are associated with the specified import (data import) are imported.
Each import job has a unique sequence number that it stores in the ImportSequenceNumber attribute of records it
creates. The Organization.CurrentImportSequenceNumber attribute contains a unique sequence number of the last
import job that ran in the system. You can use these unique sequence numbers to track records that belong to
one import job.

Log failures
A failure to import a record can occur during parsing, transformation, or uploading of data. The failure reasons
and other detailed information about the records that failed to import are captured in the import log (ImportLog)
entity.
To find out how many records failed to import, retrieve the ImportFile.FailureCount attribute of the record. To
verify how many records had partial failures during import, retrieve the ImportData.HasError attribute. If the
HasError attribute is true , a partial failure occurred, if it is false , the record imported successfully.

Import auditing data


The Common Data Service entities have four default attributes that are used to track the date and time when a
record was created and last modified, and the person who created and modified it.
The createdon attribute specifies the date and time that the record was created. To import data in the createdon
attribute, map the source column that contains this data to the overriddencreatedon attribute. During import, the
record’s createdon attribute is updated with the value that was mapped to the overriddencreatedon attribute and
the overriddencreatedon attribute is set to the date and time that the data was imported. If no source value is
mapped to the overriddencreatedon attribute, the createdon attribute is set to the date and time that the data
was imported and the overriddencreatedon attribute is not set to any value.

NOTE
To override the value in the createdon attribute during import, you need the prvOverrideCreatedOnCreatedBy
privilege. Note that the privilege name implies that you can also override the createdby attribute during import. However,
this capability is not currently supported.

You cannot import data into the modifiedon , createdby , and modifiedby attributes. If you have to store data
related to who created and modified the data and when the data was modified, you can create custom attributes
in Common Data Service and map the source columns to the new custom attributes.
See Also
Import data
Prepare source files for import
Create data maps for import
Add transformation mappings for import
Configure data import
Data import entities
Sample: Export and import a data map
Sample: Import data using complex data map
Blog Post: How to Import attachments programmatically
Data import entities
3/22/2019 • 2 minutes to read • Edit Online

The Common Data Service data import entities are used to create data maps, configure and run data imports, and
log failure information.
The following table lists the entities that are used to configure, run, and log failures for import operations.

ENTITY NAME (DISPLAY NAME) DESCRIPTION

import (data import) Status and ownership information for the import job.

importfile (import source file) Logical source file.

importlog (import log) Failure reason and other detailed information for a record
that failed to import.

The following table lists the entities that are used for creating data maps.

ENTITY NAME (DISPLAY NAME) DESCRIPTION

importmap (data map) Data map that is used for import.

columnmapping (column mapping) Mapping between a column in the source file and a target
attribute in Common Data Service.

lookupmapping (lookup mapping) Mapping between a column in the source file, or an output of
a complex transformation and a target attribute of type
EntityReference. Used in conjunction with column mapping or
complex transformation mapping.

ownermapping (owner mapping) Mapping between a user specified in the source file and a
user in Common Data Service.

picklistmapping (picklist mapping) Mapping between a column in the source file and a target
attribute of OptionSetValue, Boolean, state, or status type in
Common Data Service. Used in conjunction with column
mapping.

transformationmapping (transformation mapping) Complex transformation mapping.

transformationparametermapping (transformation parameter Parameter mapping that is used in complex transformation


mapping) mapping.

See also
Import Data in Dynamics 365
Import Entity
ImportFile Entity
ImportLog Entity
ImportMap Entity
ColumnMapping Entity
LookupMapping Entity
OwnerMapping Entity
PicklistMapping Entity
TransformationMapping Entity
TransformationParameterMapping Entity
Sample: Export and Import a Data Map
Create data maps for import
Add transformation mappings for import
Configure data import
Run data import
Sample: Export and import a data map
Sample: Import data using complex data map
Data export service
6/28/2019 • 6 minutes to read • Edit Online

Data Export is an add-on service made available as a Common Data Service solution that adds the ability to
replicate Common Data Service 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
Dynamics 365 (online) system.
The Data Export service provides an interface for managing configuration and ongoing administration of this
service from within Common Data Service. For more information, see Data Export. This topic explains the
corresponding programmatic interface and issues for this service.

Prerequisites for using the Data Export Service


Because this service requires access to an external Microsoft Azure SQL Database from Common Data Service, a
number of prerequisites must be satisfied before you can successfully access this service. The following perquisites
are more fully explained from an administrator's perspective in the section Prerequisites for using Data Export
Service.
Your Common Data Service service must be configured so that:
The entities that will be exported are enabled with change tracking. For more information, see Use change
tracking to synchronize data with external systems.
Code is run in the context of a user with the System Administrator security role.

NOTE
Note that programmatic access to this service does not require the installation of the associated Data Export managed
solution.

The target Azure SQL Database must be configured so that:


The subscription must support the volume of data being replicated from your Common Data Service
instance.
Firewall settings must allow access from the IP address of your Data Export service. For more information,
see Configure an Azure SQL Database server-level firewall rule using the Azure Portal.
It is recommended that option “Allow access to azure services” be enabled.
The database user, specified in the data export connection string, must have the proper create and alter
permissions on the target database. At minimum these include: CRTB , CRTY , CRVW , CRPR , and ALUS . For
more information, see Permissions (Database Engine).
At least one user have extensive permissions on the schema. The following script creates such a new user.
USE MASTER;
CREATE LOGIN NewUser WITH PASSWORD='newpassword';

USE DESTINATIONDATABASE;
CREATE USER NewUser FOR LOGIN NewUser
GRANT CREATE TABLE, CREATE TYPE, CREATE VIEW, CREATE PROCEDURE, ALTER ANY USER to NewUser
GRANT ALTER, REFERENCES, INSERT, DELETE, UPDATE, SELECT, EXECUTE ON SCHEMA::dbo TO NewUser

For online solutions and services, Azure provides a Key Vault service to safeguard cryptographic keys, passwords,
and other secrets. To use Azure Key Vault, this customer-owned service must be configured so that permission is
granted to "Dynamics 365 Data Export Service", which is used to safely store the SQL Azure connection string. To
perform this configuration with a PowerShell script, see How to set up Azure Key Vault. Alternately, this service can
be managed through its REST API; see Key Vault management.
It is also advised that you add the domain https://discovery.crmreplication.azure.net/ to the trusted sites list in your
browser and to enable pop-ups for this site.

Programming for the Data Export Service


The Data Export Service exposes a REST-based API that is divided into two groups: a set of Metadata operations
for exploring Common Data Service organizational structure, relationships, and connection information; and a set
of Profiles operations for configuring and managing each data replication. This API is fully defined and
documented at the following Swagger URLs:

SWAGGER ENDPOINT DESCRIPTION

https://discovery.crmreplication.azure.net/swagger/docs/2016- JSON definition of the Data Export Service API for use by
01-01 developer tools and dynamic processes

https://discovery.crmreplication.azure.net/swagger/ui/index# The user-friendly version of this API for developer reference

API Quick Reference


For the reader's convenience, these interfaces are summarized in the following tables.
Metadata operations ( https://discovery.crmreplication.azure.net/crm/exporter/metadata/ )

RESOURCE METHODS DESCRIPTION

organizations GET Get organizational details for all


organizations that the current user
belongs to

discover GET Get organizational details for the


specified organization

connector GET Get connector details for the specified


organization

entities GET Get all exportable public entities for the


specified organization

relationships GET Get all exportable relationships for the


specified organization
RESOURCE METHODS DESCRIPTION

hasorgacceptedprivacyterms GET Check if the associated organization has


accepted the privacy terms

acceptprivacyterms POST Accept the specified org for data access

Profiles operations ( [Organization-URI]/crm/exporter/ )

RESOURCE METHODS DESCRIPTION

profiles GET, POST Get all profiles for specified


organization, create a new export profile

profiles/{id} GET, PUT, DELETE Get, update or delete a specific profile

profiles/{id}/activate POST Activate a profile, which starts


replication of both the associated
metadata and data

profiles/{id}/activatemetadata POST Activate profile for metadata replication


only

profiles/{id}/activatedata POST Activate profile for data replication only

profiles/{id}/deactivate POST Deactivate a profile

profiles/{id}/test GET Perform test operations on an existing


profile

profiles/validate POST Perform test operations on a profile


description before creating it

profiles/{id}/failures GET Get the connection string to a blob that


contains failure details for a given profile

Gain Access
Because only Common Data Service System Administrators are authorized to perform data export operations,
these APIs enforce caller authorization through the use of Azure Active Directory (AAD ) security tokens. The
following code snippet demonstrates generating such a token for a web application by using the administrator's
name and password. You must replace the AppId , crmAdminUser and crmAdminPassword with values appropriate to
your service. This approach can be used for development and testing, but more secure means should be used for
production, such as the use of Azure Key Vault.
//Reference Azure AD authentication Library (ADAL)
using Microsoft.IdentityModel.Clients.ActiveDirectory;
. . .
string yourAppClientID = "[app-associated-GUID]"; //Your AAD-registered AppId
string crmAdminUser = "admin1@contoso.com"; //Your CRM administrator user name
string crmAdminPassword = "Admin1Password"; //Your CRM administrator password;
//For interactive applications, there are overloads of AcquireTokenAsync() which prompt for password.
var authParam = AuthenticationParameters.CreateFromResourceUrlAsync(new
Uri("https://discovery.crmreplication.azure.net/crm/exporter/aad/challenge")).Result;
AuthenticationContext authContext = new AuthenticationContext(authParam.Authority, false);
string token = authContext.AcquireTokenAsync(authParam.Resource, yourAppClientID,
new UserCredential(crmAdminUser, crmAdminPassword)).Result.AccessToken;

For instructions on how to obtain a AppId see Authorize access to web applications using OAuth 2.0 and Azure
Active Directory. For more information about Azure user security, see Authentication Scenarios for Azure AD.
Error handling and failure processing
Once a profile is correctly configured, the synchronization process is typically highly reliable. However, if a record
fails to synchronize, the following failure processing is applied:
1. After the configured retry interval, another attempt is made to synchronize the record. This is repeated up to
the configured maximum number of retries.
2. The record is marked as processed.
3. A corresponding failed record entry is written to the error log.
4. The next record is processed.
Because the record is marked as processed, no future attempt is made to synchronize the record until its value or
schema changes. (Note that writing identical values back into an entity instance also marks it as modified.)
The entries in the error log are write-only. Future successes or failures during synchronization of the same record
do not result in the alteration of past entries for this record. For example, a failure entry will remain in the error log
even after the record has been successfully synchronized during some later synchronization cycle.
Cau t i on

This error processing logic is subject to change in future releases of this service.
These failure entries can be retrieved through the Get the failure details for a given Profile request. The response
returns a URI to an Azure blob that contains the failure information. Each line has the following comma-separated
fields (newlines added for clarity):

Entity: <entity-name>,
RecordId: <”N/A” | guid>,
NotificationTime: <datetime>,
ChangeType: <sync-type>,
FailureReason: <description>

For example:
Entity: lead,
RecordId: N/A, NotificationTime: , ChangeType: Trigger Initial Export, FailureReason: There is already an
object named 'hatest201_lead' in the database.
Entity: account, RecordId: b2a19cdd-88df-e311-b8e5-6c3be5a8b200, NotificationTime: 8/31/2016 6:50:38 PM,
ChangeType: New, FailureReason: Invalid object name 'dbo.hatest201_account'.

See also
Manage your data in Dynamics 365
Import data
Data Synchronization
3/22/2019 • 4 minutes to read • Edit Online

Sometimes you’ll need to synchronize and integrate Common Data Service data with data that is stored in other
systems. The common data integration patterns include taking data from an external system and pushing it into
Common Data Service, taking data from Common Data Service and synchronizing it to some external data store,
or updating Common Data Service with external data. You can now use several new capabilities to make it easier to
write code to achieve these scenarios.
These new features can be used separately as needed in any situation, but together they address common issues
related to synchronizing and integrating data with external data. The following table introduces these new features.

FEATURE DESCRIPTION

Removing specialized messages Common Data Service has a number of specialized messages
for specific operations that update records. These messages
are deprecated in this release and you should now simply use
Update to perform the same operations. The deprecated
messages are:

- Assign
- SetParentSystemUser
- SetParentTeam
- SetParentBusinessUnit
- SetBusinessEquipment
- SetBusinessUnit
- SetState

Simply updating the record is much simpler than using these


messages and should streamline your development for data
integration and synchronization scenarios. More information:
Perform specialized operations using Update
FEATURE DESCRIPTION

Alternate Keys In enterprise deployments of Common Data Service, it’s


common for data from external enterprise systems to be
loaded into Common Data Service so that it can be presented
to users. These external systems often can’t be extended to
store the Common Data Service record identifiers, known as
GUIDs, required for system synchronization. A common
solution is to add a custom attribute to an entity in Common
Data Service that can be used to store the identifier of the
related record in the external system.

When you build data load processes that update records in


Common Data Service and assign references to related records
in Common Data Service, you first have to make an extra
Common Data Service web service call to retrieve the target
Common Data Service record based on this external identifier.
This lookup can be slow if an appropriate index is not in place
for the custom attribute, and in Common Data Service
scenarios, each of these lookups requires a costly round-trip
across the Internet. These extra round trips can increase by an
order of magnitude the time it takes to update each Common
Data Service record and can reduce overall throughput
drastically.

Now, web service operations can target a Common Data


Service record using one or more alternate keys instead of a
GUID. In addition, entity references to related records can be
specified using one or more alternate keys. Because alternate
keys are indexed, lookup operations show increased
performance as compared to adding a custom attribute as an
identifier. If something goes wrong, the system will throw an
error and roll back all the changes. More information: Define
alternate keys for an entity

Change tracking When organizations need to maintain Common Data Service


data in external storage there is now a way to keep that data
synchronized in a performant way by detecting what data has
changed since the data was initially extracted or last
synchronized. The RetrieveEntityChangesRequest message is
used to retrieve the changes for an entity. See Use change
tracking to synchronize data with external systems for more
information.

Upsert When loading data into Common Data Service from an


external system, you may not know if a record already exists in
Common Data Service and should be updated, or whether you
must create a new record. Use the new UpsertRequest
message to update the record if it exists, or create a new
record if it doesn’t exist, in one API call. More information:
Update Dynamics 365 with external data using Upsert

The following table compares the complexity of synchronizing with and without these new features.
BEFORE DESCRIPTION

For each record:

1. Query Common Data Service to see if the account exists. If


it exists, get its account ID (for example, ABC123)
2. Query the contacts to verify that the contact exists. If it
exists, get the email ID of the contact (for example,
contact@company.com).
3. Query to get or set the region ID (for example, NW).
4. Query to get the user ID to set the owner (for example,
user@mycompany.com)
5. Update the account.
6. Set the state of the account by calling the SetState API.
7. Assign the owner by calling the Assign API.

Now, with the new features, it just takes one call to the server to perform the same operations as previously shown.

AFTER DESCRIPTION

Just one call to verify that there is an account with the unique
ID ABC123, set the primary contact to
contact@company.com, set the region to NW, set the owner
to user@mycompany.com and the status to active.

In This Section
Define alternate keys for an entity
Using alternate keys
Use change tracking to synchronize data with external systems
Update Dynamics 365 with external data using Upsert
Sample: Insert or update a record using Upsert
Sample: Synchronize data with external systems using change tracking

Related Sections
Perform specialized operations using Update
Developers guide to customization for Dynamics 365
Use an alternate key to create a record
4/21/2019 • 2 minutes to read • Edit Online

You can use alternate keys to create instances of Entity and EntityReference classes. This topic discusses the usage
patterns and possible exceptions that might be thrown when using alternate keys. To understand how to define
alternate keys for an entity, see Define alternate keys for an entity.

NOTE
You can also update records using alternate keys. More information: Update with Alternate Key

Using alternate keys to create an entity


You can create an Entity with a primary ID, a single KeyAttribute , or a collection of key attributes in a single call
using these constructors.

public Entity (string logicalName, Guid id) {…}


public Entity (string logicalName, string keyName, object keyValue) {…}
public Entity (string logicalName, KeyAttributeCollection keyAttributes) {…}

A valid Entity used for update operations includes a logical name of the entity and one of the following:
A value for ID (primary key GUID value)
A specified key value pair
A KeyAttributeCollection with a valid set of attributes matching a defined key for the entity.

Using alternate keys to create an EntityReference


You can also create an EntityReference with a primary ID, a single KeyAttribute , or a collection of key attributes in
a single call using these constructors.

public EntityReference(string logicalName, Guid id) {…}


public EntityReference(string logicalName, string keyName, object keyValue) {…}
public EntityReference(string logicalName, KeyAttributeCollection keyAttributeCollection) {…}

A valid EntityReference includes a logical name of the entity and either:


A value for ID (primary key GUID value)
A specified key value pair
A KeyAttributeCollection collection with a valid set of attributes matching a defined key for the entity.

Alternative input to messages


When passing entities to CreateRequest and UpdateRequest, values provided for lookup attributes using an
EntityReference can now use EntityReference with alternate keys defined in KeyAttributes to specify related record.
These will be resolved to and replaced by primary ID based entity references before the messages are processed.
Exceptions when using alternate keys
You have to be aware of the following conditions and possible exceptions when using alternate keys:
The primary ID is used if it is provided. If it is not provided, it will examine the KeyAttributeCollection. If the
KeyAttributeCollection is not provided, it will throw an error.
If the provided KeyAttributeCollection includes one attribute that is the primary key of the entity and the
value is valid, it populates the ID property of the Entity or EntityReference with the provided value.
If the key attributes are provided, the system attempts to match the set of attributes provided with the keys
defined for the Entity. If it does not find a match, it will throw an error. If it does find a match, it will validate
the provided values for those attributes. If valid, it will retrieve the ID of the record that matched the
provided key values, and populate the ID value of the Entity or EntityReference with this value.
If you specify an attribute set that is not defined as a unique key, an error will be thrown indicating that use
of unique key attributes is required.
See also
Define alternate keys for an entity
Use change tracking to synchronize data with external systems
Use Upsert to insert or update a record
Use change tracking to synchronize data with
external systems
6/21/2019 • 5 minutes to read • Edit Online

The change tracking feature in Common Data Service provides a way to keep the data synchronized in an efficient
manner by detecting what data has changed since the data was initially extracted or last synchronized. Previously,
without this new feature, it was difficult to build a reliable and efficient mechanism to determine what records had
changed in Common Data Service. This topic discusses how to retrieve changes for an entity.

Enable change tracking for an entity


Before retrieving the changes for an entity, make sure that the change tracking feature is enabled for that entity.
This feature can be enabled by using the customization user interface (UI) or programmatically by setting the
ChangeTrackingEnabled property to True . Annotation Org.OData.Capabilities.V1.ChangeTracking gets added to
entity sets that have change tracking enabled. To see annotations in entity metadata, do

GET [Organization URI]/api/data/v9.0/$metadata?annotations=true

Read more about metadata annotations on Metadata annotations.


For more information about using the customization user interface (UI), see Enable change tracking to control
data synchronization.

Retrieve changes for an entity using the Web API


Changes made in entities can be tracked using Web API requests by adding odata.track-changes as a preference
header. Preference header odata.track-changes is used to request that a delta link be returned which can
subsequently be used to retrieve entity changes.
Delta links are opaque, service-generated links that the client uses to retrieve subsequent changes to a result.
They are based on a defining query that describes the set of results for which changes are being tracked; for
example, the request that generated the results containing the delta link. The delta link encodes the collection of
entities for which changes are being tracked, along with a starting point from which to track changes. Read more
about delta links here Oasis OData Version 4.0 - Delta Links

Retrieve changes in entities using Web API example


This example shows how to retrieve changes made in accounts data using the Web API.
Request

GET [Organization URI]/org1/api/data/v9.0/accounts?$select=name,accountnumber,telephone1,fax HTTP/1.1


Prefer: odata.track-changes
Cache-Control: no-cache
OData-Version: 4.0
Content-Type: application/json

Response
{
"@odata.context":"[Organization URI]/api/data/v9.0/$metadata#accounts(name,accountnumber,telephone1,fax)",
"@odata.deltaLink": "[Organization URI]/api/data/v9.0/accounts?
$select=name,accountnumber,telephone1,fax&$deltatoken=919042%2108%2f22%2f2017%2008%3a10%3a44",
"value":[
{
"@odata.etag":"W/\"915244\"",
"name":"Monte Orton",
"accountnumber":null,
"telephone1":"555000",
"fax":"10101",
"accountid":"60c4e274-0d87-e711-80e5-00155db19e6d"
}
]
}

The delta link returned from the above example can be used to fetch changes in entities. In this example a new
account was created and an existing account deleted. The delta link returned from the previous request fetches
these changes, as shown in the example below.
Request

GET [Organization URI]/api/data/v9.0/accounts?


$select=name,accountnumber,telephone1,fax&$deltatoken=919042%2108%2f22%2f2017%2008%3a10%3a44

Response

{
"@odata.context":"[Organization URI]/data/v9.0/$metadata#accounts(name,telephone1,fax)/$delta",
"@odata.deltaLink":"[Organization URI]/api/data/v9.0/accounts?
$select=name,telephone1,fax&$deltatoken=919058%2108%2f22%2f2017%2008%3a21%3a20",
"value":
[
{
"@odata.etag":"W/\"915244\"",
"name":"Monte Orton",
"telephone1":"555000",
"fax":"10101",
"accountid":"60c4e274-0d87-e711-80e5-00155db19e6d"
},
{
"@odata.context":"[Organization URI]/api/data/v9.0/$metadata#accounts/$deletedEntity",
"id":"2e451703-c686-e711-80e5-00155db19e6d",
"reason":"deleted"
}
]
}

The response for the delta link returned in the initial change tracking request contains another delta link. This
delta link helps in retrieving all the subsequent changes in entities. An empty JSON response is returned if no
entity changes have occurred after the initial change tracking request was called.

Retrieve count of the changes made in entities using Web API


$count can be added to the delta link returned from the initial change tracking request, as shown in the example
below to get the number of changes made.
Request
GET [Organization URI]/api/data/v9.0/accounts/$count?$deltatoken=919042%2108%2f22%2f2017%2008%3a10%3a44

Query options not supported in Change Tracking Web API request


System query options $filter , $orderby and $top are not supported when using odata.track-changes as
header in Web API request. An error message saying "The $filter / $orderby / $top query parameter isn't
supported when Change Tracking is enabled." gets returned when using these query options in the Web API
request.

Retrieve changes for an entity using the Organization Service


When change tracking is enabled for an entity, you can use the RetrieveEntityChangesRequest message to
retrieve the changes for that entity. The first time this message is used it returns all records for the entity and that
data can be used to populate the external storage. The message also returns a version number that will be sent
back with the next use of the RetrieveEntityChangesRequest message so that only data for those changes that
occurred since that version will be returned.
You should be aware of the following constraints when retrieving changes for an entity:
Only one entity will be tracked in retrieve changes. If retrieve changes is executed with no version / or
token, the server will treat it as the system minimum version, returning all of the records as new. Deleted
objects won’t be returned.
Changes will be returned if the last token is within a default value of 90 days. If it is more than 90 days, the
system will return all the records.
If a client has a set of changes for an entity, say version 1, a record is created and deleted prior to the next
query for changes, they will get the deleted item even if they didn’t have the item to begin with.
Records are retrieved in the order determined by server side logic. Usually, the end user will always get all
new or updated records first (sorted by version number) followed by deleted records. If there are 3000
records created or updated and 2000 records deleted, Common Data Service returns a collection of 5000
records, which have the first 3000 entries comprised of new or updated records and the last 2000 entries
for deleted records.
If the new or updated item collection is greater than 5000, the user can page through the collection.

Sample code
The following code snippet shows how the RetrieveEntityChangesRequest message is used to retrieve the changes
for an entity. For the complete sample, see Synchronize data with external systems using change tracking.
string token;

// Initialize page number.


int pageNumber = 1;
List<Entity> initialrecords = new List<Entity>();

// Retrieve records by using Change Tracking feature.


RetrieveEntityChangesRequest request = new RetrieveEntityChangesRequest();
request.EntityName = _customBooksEntityName.ToLower();
request.Columns = new ColumnSet("sample_bookcode", "sample_name", "sample_author");
request.PageInfo = new PagingInfo() { Count = 5000, PageNumber = 1, ReturnTotalRecordCount = false };

// Initial Synchronization. Retrieves all records as well as token value.


Console.WriteLine("Initial synchronization....retrieving all records.");
while (true)
{
RetrieveEntityChangesResponse response = (RetrieveEntityChangesResponse)_serviceProxy.Execute(request);

initialrecords.AddRange(response.EntityChanges.Changes.Select(x => (x as
NewOrUpdatedItem).NewOrUpdatedEntity).ToArray());
initialrecords.ForEach(x => Console.WriteLine("initial record id:{0}", x.Id));
if (!response.EntityChanges.MoreRecords)
{
// Store token for later query
token = response.EntityChanges.DataToken;
break;

}
// Increment the page number to retrieve the next page.
request.PageInfo.PageNumber++;
// Set the paging cookie to the paging cookie returned from current results.
request.PageInfo.PagingCookie = response.EntityChanges.PagingCookie;
}

See also
Define alternate keys for an entity
Using alternate keys
Update Dynamics 365 with external data using Upsert
Use Upsert to insert or update a record
4/21/2019 • 2 minutes to read • Edit Online

You can reduce the complexity involved with data integration scenarios by using the UpsertRequest message.
When loading data into Common Data Service from an external system, for example in a bulk data integration
scenario, you may not know if a record already exists in Common Data Service. In such cases you won’t know if
you should call an UpdateRequest or a CreateRequest operation. This results in your querying for the record first
to determine if it exists before performing the appropriate operation. You can now reduce this complexity and load
data into Common Data Service more efficiently by using the new UpsertRequest (Update or Insert) message.

Using Upsert
It is best to use UpsertRequest only when you aren’t sure if the record exists. That is, when you aren’t sure if you
should call a CreateRequest or an UpdateRequest operation. There is a performance decrease in using
UpsertRequest versus using CreateRequest. If you are sure the record doesn’t exist, use CreateRequest.
The UpsertRequest includes a property named Target. This property contains the entity definition that will be used
in an UpdateRequest or a CreateRequest operation. It also includes all the attributes required by the
CreateRequest for the target entity type so that the record can be created if it doesn’t exist.
You can inspect RecordCreated to determine if the record was created. RecordCreated will be true if the record
didn’t exist and was created. It will be false if the record already existed and was updated. Target will be an
EntityReference to the record that was found to exist or to the record that was created.

To understand how UpsertRequest works, see the following section.

Understanding the Upsert process


The following steps describe the processing logic when an UpsertRequest is received:
1. Send UpsertRequest with enough data for a create or insert operation.
2. Common Data Service will look up the record targeted by the target entity.
3. If the record exists:
a. Set the ID property of the target entity with the ID of the found record.
b. Call Update.
c. Set the RecordCreated to false .
d. Create an EntityReference from the target entity of the update as the value for Target.
e. Return the UpsertResponse.
4. If the record doesn’t exist:
a. Copy any alternate key values into the target entity attributes.
b. Call Create .
c. Set the RecordCreated to true .
d. Create an EntityReference from the target entity type and the ID result of the Create request as the
value for Target.
e. Return the UpsertResponse.
The following illustration shows the process that unfolds when an UpsertRequest is received.

Sample code
The Insert or update a record using Upsert sample ProductUpsertSample.cs file contains the following
ProcessUpsert method to apply the UpsertRequest message on the contents of an XML file to create new records
or update existing ones.
public void ProcessUpsert(String Filename)
{
Console.WriteLine("Executing upsert operation.....");
XmlTextReader tr = new XmlTextReader(Filename);
XmlDocument xdoc = new XmlDocument();
xdoc.Load(tr);
XmlNodeList xnlNodes = xdoc.DocumentElement.SelectNodes("/products/product");

foreach (XmlNode xndNode in xnlNodes)


{
String productCode = xndNode.SelectSingleNode("Code").InnerText;
String productName = xndNode.SelectSingleNode("Name").InnerText;
String productCategory = xndNode.SelectSingleNode("Category").InnerText;
String productMake = xndNode.SelectSingleNode("Make").InnerText;

//use alternate key for product


Entity productToCreate = new Entity("sample_product", "sample_productcode", productCode);

productToCreate["sample_name"] = productName;
productToCreate["sample_category"] = productCategory;
productToCreate["sample_make"] = productMake;
UpsertRequest request = new UpsertRequest()
{
Target = productToCreate
};

try
{
// Execute UpsertRequest and obtain UpsertResponse.
UpsertResponse response = (UpsertResponse)_serviceProxy.Execute(request);
if (response.RecordCreated)
Console.WriteLine("New record {0} is created!", productName);
else
Console.WriteLine("Existing record {0} is updated!", productName);
}

// Catch any service fault exceptions that Microsoft Dynamics CRM throws.
catch (FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>)
{
throw;
}

}
// Prompts to view the sample_product entity records.
// If you choose "y", IE will be launched to display the new or updated records.
if (PromptForView())
{
ViewEntityListInBrowser();
}

See also
Use change tracking to synchronize data with external systems
Define alternate keys for an entity
Using alternate keys
Server-side synchronization entities
3/22/2019 • 2 minutes to read • Edit Online

In PowerApps, server-side synchronization provides an interface between Common Data Service and one or more
Exchange servers or POP3 servers for incoming email, and one or more SMTP or Exchange servers for outgoing
email. It retrieves and evaluates emails for relevance to Common Data Service and accordingly creates
corresponding email activities in Common Data Service. It also picks emails from Common Data Service and
sends them through the configured email server for users and queues. It also allows synchronization of
appointments, contacts, and tasks with Exchange Server 2010 and Exchange Server 2013.
With the centralized email configuration, the Common Data Service entity model allows having common user
interface (UI) settings (like user name, password, email address, and synchronization methods) for users, queues,
and forward mailboxes. Each user or a queue can have mailboxes, which can be monitored through either server-
side synchronization or Microsoft Dynamics 365 for Outlook. The EmailServerProfile entity represents the email
server profile for an organization. The Mailbox entity represents the appointments, contacts, and tasks delivery
method of the mailbox. Currently, the user entity is restricted to have only one mailbox record per user and the
queues entity to have only one mailbox record per queue, as shown in the following illustration.

Server-side synchronization offers the following capabilities:


Process emails of a user and a queue using the email address, email delivery method, and credentials from
the related mailbox record.
Process appointments, contacts, and tasks.
Use mailbox records to process emails for users and queues having the incoming delivery method set as
Forward Mailbox.
Use information from a related email profile record to process emails for all mailboxes.
Prevent email processing for inactive mailboxes or for mailboxes that don’t have an associated email profile.
Automatically relate an associated mailbox to the default email profile when a user or a queue is created
with the email delivery method set as server-side synchronization.
Automatically track Microsoft Exchange emails in PowerApps for a user based on the folder-level tracking
rules.
Related topics
Configure folder level tracking rules
Configure Exchange folder-level tracking rules
3/22/2019 • 3 minutes to read • Edit Online

Configure folder-level tracking rules to map a Microsoft Exchange inbox folder to a Common Data Service record
so that all the emails in the Microsoft Exchange folder get automatically tracked against the mapped record in
Common Data Service. Folder-level tracking of emails will work only if:
The folder-level tracking feature is enabled for your Common Data Service instance. You can enable folder-
level tracking by using the web client or Dynamics 365 for Outlook. More information: Configure folder-
level tracking
The folder that you are tracking is under the Inbox folder in Microsoft Exchange. Emails in the folders that
are not under the Inbox folder won’t be tracked.

Create and manage folder-level tracking rules


Use the MailboxTrackingFolder Entity to programmatically configure and manage your folder-level tracking rules.
To set up a tracking rule, use the following attributes.

ATTRIBUTE DESCRIPTION

ExchangeFolderId Specify the Microsoft Exchange folder ID that you want to


map. You can use the Exchange Web Services (EWS) to retrieve
the ID of a folder under your Inbox folder. For more
information, see MSDN: How to: Work with folders by using
EWS in Exchange. This is a required attribute.

MailboxId Specify the mailbox ID in Common Data Service that you want
to create the rule for. This is a required attribute.

RegardingObjectId Set the regarding object in Common Data Service that you
want the specified Microsoft Exchange folder to be mapped to.
This is an optional attribute.

The following sample code shows how you can create a folder-level tracking rule.

// Create a folder-level tracking rule


MailboxTrackingFolder newTrackingFolder = new MailboxTrackingFolder();

// Set the required attributes


newTrackingFolder.ExchangeFolderId = "123456"; // Sample value. Retrieve this value using Exchange Web
Services (EWS)
newTrackingFolder.MailboxId = new EntityReference(Mailbox.EntityLogicalName, _mailboxId);

// Set the optional attributes


newTrackingFolder.RegardingObjectId = new EntityReference(Account.EntityLogicalName, _accountId);
newTrackingFolder.RegardingObjectId.Name = _accountName;
newTrackingFolder.ExchangeFolderName = "Sample Exchange Folder";

// Execute the request to create the rule


_folderTrackingId = _serviceProxy.Create(newTrackingFolder);
Console.WriteLine("Created folder-level tracking rule for '{0}'.\n", _mailboxName);

You can create a maximum of 25 folder-level tracking rules per mailbox. The folder ID of the Microsoft Exchange
folder can’t be validated at the time of creating the mapping using SDK. However, as soon as you create a mapping
rule, and if the folder ID is invalid, it will show up in the UI in Common Data Service to indicate that the mapping is
invalid.
Any manual changes done to the regarding object in the tracked activity records, created in Common Data Service
as a result of the folder-level tracking rule, will be overridden the next time server-side synchronization occurs. For
example, if you have set up a mapping between the Adventure Works folder and the Adventure Works account, all
the emails in the Adventure Works Microsoft Exchange folder will be tracked as activities in Common Data Service
with the regarding set to the Adventure Works account record. If you change the regarding of some activities to any
other record, it will automatically be overridden the next time server-side synchronization occurs.

Retrieve folder-level tracking rules for a mailbox


You can retrieve all the folder-level tracking rules for a mailbox by using the
RetrieveMailboxTrackingFoldersRequest message. Pass the mailbox ID for which you want to retrieve the rules in
the RetrieveMailboxTrackingFoldersRequest.MailboxId property, and execute the message.
The following sample code shows how you can retrieve folder-level tracking rules for a mailbox.

// Retrieve the folder mapping rules for a mailbox


RetrieveMailboxTrackingFoldersRequest req = new RetrieveMailboxTrackingFoldersRequest
{
MailboxId = _mailboxId.ToString()
};

RetrieveMailboxTrackingFoldersResponse resp =
(RetrieveMailboxTrackingFoldersResponse_serviceProxy.Execute(req);
Console.WriteLine("Retrieved folder-level tracking rules for {0}:", _mailboxName);
int n = 1;
foreach (var folderMapping in resp.MailboxTrackingFolderMappings)
{
Console.WriteLine("\tRule {0}: '{1}' is mapped to '{2}'.",
n, folderMapping.ExchangeFolderName, folderMapping.RegardingObjectName);
n++;
}

See also
RetrieveMailboxTrackingFolders Function
MailboxTrackingFolder Entity
Mailbox Entity
Configure folder-level tracking
Server-side Synchronization Entities
Get started with virtual entities
6/21/2019 • 4 minutes to read • Edit Online

Virtual entities enable the integration of data residing in external systems by seamlessly representing that data as
entities in Common Data Service, without replication of data and often without custom coding. The initial
implementation of this feature provides just read-only support for such entities, and has a number of other
limitations described in the section Limitations of Virtual Entities below. Besides these limitations, virtual entities
behave the same as other custom entities.
Virtual entities replace previous client-side and server-side approaches to integrating external data, which required
customized code and suffered from numerous limitations, including imperfect integration, data duplication, or
extensive commitment of development resources. In addition, for administrators and system customizers, the use
of virtual entities greatly simplifies administration and configuration.

NOTE
This section discusses the implications of virtual entities for developers. For more information about managing virtual entities
from the user interface, see Create and edit virtual entities that contain data from an external data source.

Virtual entities, data providers and data sources


A virtual entity is a definition of an entity in the Common Data Service platform metadata without the associated
physical tables for entity instances created in the Common Data Service database. Instead during runtime, when an
entity instance is required, its state is dynamically retrieved from the associated external system. Each virtual entity
type is associated with a virtual entity data provider and (optionally) some configuration information from an
associated virtual entity data source.
The following data providers ship with Common Data Service:
An OData v4 provider is included with the service and is installed by default.
An Azure Cosmos DB (formerly Microsoft Document DB ) provider is available from AppSource.
Additional providers will be made available by Microsoft, its partners, or other third parties. If a data provider
cannot be found for your external data source, you can develop a custom virtual entity data provider; for more
information, see Virtual entity data providers.

Virtual entity creation and mapping


Initially, defining a virtual entity is the same as defining a custom entity: you specify the entity, attributes, and
relationships for the new virtual entity type. However, additionally, you then connect the virtual entity to a data
provider to manage data retrieval. The custom entity type and its fields must be mapped to the corresponding data
in the external data source. For example, a virtual entity might be represented as a row in an external relational
database, and each of its fields might correspond to a column in that row. (Note that these external data names are
often different than their corresponding virtual entity names.) A specific, required mapping occurs for the entity ID
field: the data provider must be able to provide this GUID and associate it to the external record that represents this
entity instance. The most direct way to achieve this is to actually use GUIDs as primary keys in the external data
source.
In this example, a corresponding virtual entity data source would also be provided to supply user and connection
information for the external database.
Limitations of Virtual Entities
In this release, there are some limitations to virtual entities that you need to be aware of when evaluating whether
you can use virtual entities with your external data.
Data is read-only. The virtual entity feature doesn’t support pushing changes made in Common Data Service
back to the external system.
Only organization-owned entities are supported. The security filtering applied to user-owned entities is not
supported. Access to the virtual entity data can be turned on or off for individual users based on their security
role. Field-level security is not supported.
It must be possible to model the external data as a Common Data Service entity. This means:
All entities in the external data source must have an associated GUID primary key.
All entity properties must be represented as Common Data Service attributes. You can use simple types
representing text, numbers, optionsets, dates, images, and lookups.
You must be able to model any entity relationships in Common Data Service.
An attribute on a virtual entity cannot be calculated or rollup. Any desired calculations must be done on
the external side, possibly within or directed by the data provider.
Although you can add virtual entity columns as a lookup on a grid or other UI views, you cannot filter or
sort based on this virtual entity lookup column.
Auditing and change tracking is not supported. These may be implemented within the external data store.
Virtual entities cannot be enabled for queues.
Offline caching of values is not supported for virtual entities.
A virtual entity cannot represent an activity and do not support business process flows.
Once created, a virtual entity cannot be changed to be a standard (non-virtual) entity. The reverse is also true: a
standard entity cannot be converted into a virtual entity.
For more information about how these limitations are reflected in the Common Data Service API, see API
considerations of virtual entities.
See also
API considerations of virtual entities
Custom virtual entity data providers
Sample: Generic virtual entity data provider plug-in
Azure Integration
6/28/2019 • 8 minutes to read • Edit Online

Common Data Service supports integration with Azure. Developers can register plug-ins with Common Data
Service that can pass runtime message data, known as the execution context, to one or more Azure solutions in
the cloud. This is especially important because Azure is one of two supported solutions for communicating
runtime context obtained in a plug-in to external line-of-business (LOB ) applications. The other solution is the
external custom endpoint access capability from a plug-in registered in the sandbox.
The Azure Service Bus provides a secure and reliable communication channel between Common Data Service
runtime data and external cloud-based line-of-business (LOB ) applications. This capability is especially useful in
keeping disparate Common Data Service systems or other Common Data Service servers synchronized with
business data changes.

Key elements of the connection


The key elements that implement the connection between Common Data Service and the Azure Service Bus are
described later. A diagram in the next section shows these elements in operation.
Data Context
The data context contains the business data that is being processed as part of the current Common Data Service
operation. This processing was initiated when a request to perform a certain operation was made by a user,
workflow, or application, to the Dynamics 365 platform. The data context is passed to any plug-ins or custom
workflow activities that are registered with the event pipeline to execute on the specific request and entity
combination that is currently being processed. The data context is of type IPluginExecutionContext when it is
being passed along the event execution pipeline and RemoteExecutionContext when it is posted to the service
bus.
The data context contained within the message that is posted to the Azure Service Bus can be formatted in XML
or JSON in addition to the default .NET binary format. This allows for cross-platform interoperability where
Azure hosted non-.NET clients can read Common Data Service data from the service bus.

IMPORTANT
When the size of the entire HTTP payload exceeds 192Kb, the following properties will be removed:
ParentContext
InputParameters
PreEntityImages
PostEntityImages
Some operations do not include these properties.
If the size of the payload is below 192Kb after the additional data is removed, an additional MessageMaxSizeExceeded
property is added to the BrokeredMessage sent by the system. This indicates that some of the data has been truncated.
If the size of the payload exceeds 192Kb after the additional data is removed, an error occurs and the message is not
sent.

For more information about the technologies described earlier, see:


Event execution pipeline
Write a listener application for a Microsoft Azure solution.
Plug-ins
Plug-ins are one of two methods used to initiate posting the message containing the data context to the Azure
Service Bus, the other method being a custom workflow activity. There are two kinds of plug-ins supported by
the Common Data Service-Azure connection feature: out-of-box (OOB ), and custom. In either case, it is
recommended that you register the plug-in to run asynchronously for best system performance.
An Azure-aware OOB plug-in is provided with Common Data Service and can be registered using the Plug-in
Registration Tool. This plug-in executes in full trust with the Common Data Service platform. You must register a
plug-in 'step' in the event execution pipeline that identifies the message and entity combination that triggers the
plug-in to execute and perform the posting notification. When executed, the plug-in notifies the asynchronous
service, through a service endpoint notification service (IServiceEndpointNotificationService), to post the current
request data context to the Azure Service Bus.
You can also write your own custom plug-in that is “Azure-aware”. The custom plug-in executes in partial trust
mode in the sandbox. A custom plug-in can initiate posting of the data context to the service bus through the
service endpoint notification service. Adding code to invoke this service makes the plug-in “Azure-aware”.
For more information about plug-ins in general, see Writing a Plug-in. For more information about Azure-aware
plug-ins, see Write a Custom Azure-aware Plug-in.
Custom Workflow Activities
Similarly to plug-ins, custom workflow activities can be written to initiate posting the current request message
data context to the Azure Service Bus by using the service endpoint notification service. More information:
Workflow extensions
Asynchronous Service
Once notified by the service endpoint notification service, the asynchronous service handles posting the data
context of the request message currently being processed by the event execution pipeline to the Azure Service
Bus. Each post is performed by a system job of the asynchronous service. A user can view the status of each
system job by using the System Jobs view of the PowerApps web application.
For more information about the asynchronous service see Asynchronous service.
Microsoft Azure Service Bus
The service bus relays the request message data context between Common Data Service and Azure Service Bus
solution listener applications. The service bus also provides data security so that only authorized applications can
access the posted Dynamics 365 data. Authorization of Common Data Service to post the data context to the
service bus and for listener applications to read it is managed by Azure Shared Access Signatures (SAS ).
For more information about the service bus, see Service Bus. For more information about service bus
authorization, see Service Bus authentication and authorization.
Microsoft Azure Solution
For the Common Data Service and Azure connection to work, there must be at least one solution in an Azure
Service Bus solution account, where the solution contains one or more service endpoints. For a relay endpoint
contract, a listener application that is “Common Data Service-aware” must be actively listening on the endpoint
for the Common Data Service request on the service bus. For a queue endpoint contract, a listener doesn’t have
to be actively listening. A listener is made Common Data Service-aware by linking it to the Microsoft.Xrm.Sdk
assembly so that type RemoteExecutionContext is defined. More information: Write a Listener for a Microsoft
Azure Solution
Common Data Service supports sending event data to an Azure Event Hubs solution. More information about
event hubs, see Work with event data in your Azure Event Hub solution.

Common Data Service to service bus scenario


Let us now identify a scenario that implements the previously mentioned connection components. As a
prerequisite, SAS has been configured to recognize Common Data Service as the supported issuer and the Azure
Service Bus solution configured with rules to allow Common Data Service to post to the endpoint where the
listener is.
The following diagram shows the physical elements that make up the scenario.

The sequence of events as identified in this diagram are as follows:


1. A listener application is registered on a Azure Service Bus solution endpoint, and begins actively listening
for the Common Data Service remote execution context on the service bus.
2. A user performs some operation in Common Data Service that triggers execution of the registered OOB
plug-in or a custom Azure-aware plug-in. The plug-in initiates a post, through an asynchronous service
system job, of the current request data context to the service bus.
3. The claims posted by Common Data Service are authenticated. The service bus then relays the remote
execution context to the listener. The listener processes the context information and performs some
business-related task with that information. The service bus notifies the asynchronous service of a
successful post and sets the related system job to a completed status.

Establish a contract between Common Data Service and an Azure


solution
For each solution endpoint, you configure a contract that defines the handling of these remote execution context
“messages” on the service bus and the security that should be used on that endpoint. Service bus messages are
received at an endpoint using one of the supported contracts listed here.
Queue
A queue contract provides a message queue in the cloud. With a queue contract, a listener doesn’t have to be
actively listening for messages on the endpoint. For queues, there is a destructive read and a non-destructive
read. A destructive read reads an available message from the queue and the message is removed. A non-
destructive read doesn’t remove a message from the queue.
The type of queue supported by Common Data Service is called a persistent queue. Persistent queues have a
long but finite message availability duration that can be specified in code.
One -way
A one-way contract requires an active listener. If there is no active listener on an endpoint, the post to the service
bus fails. Common Data Service will retry the post in exponentially larger and larger time spans until the
asynchronous system job that is posting the request is eventually aborted and its status is set to “Failed.”
Two -way
A two-way contract is similar to a one-way contract except that a string value can be returned from the listener to
the plug-in or custom workflow activity that initiated the post.
REST
A REST contract is similar to a two-way contract on a REST endpoint.
Topic
Similar to a queue except that one or more listeners can subscribe to receive messages from the topic.
Event Hub
This contract type applies to Azure Event Hub solutions.

IMPORTANT
To use these contracts, you must write your listener applications using the Azure SDK v1.7 or later.

Identifying the kind of security a contract uses is part of the contract’s configuration. A contract can use Transport
security, which uses Transport Layer Security (TLS ) or Secure Sockets Layer (SSL ) (https).
Claims authentication is used for secure access to the service bus. The claim used to authenticate to the service
bus is generated in Common Data Service and signed by the AppFabricIssuer certificate specified in the
Common Data Service configuration database.

Manage run-time errors


If an error occurred after a post was attempted to the service bus, check the status of the related system job in the
web application for more information on the error. If the service bus is down or a listener/endpoint isn’t available,
the current message being processed in Common Data Service will not be posted to the bus. The asynchronous
service will continue to try to post the message in an exponential pattern where it will try to post frequently at
first and then at longer and longer intervals. For an internal Common Data Service error, message posts are not
attempted. For an external service bus or network error, the related system job will be in a “Wait” state.
Work with Common Data Service data in your Azure
solution
6/28/2019 • 2 minutes to read • Edit Online

An internal plug-in named ServiceBusPlugin is provided with Common Data Service (CDS ). The plug-in contains
the business logic to post the CDS message execution context to the Azure Service Bus. To use this plug-in, you
need to register a Azure Service Bus solution endpoint and a step for the plug-in. The step defines what message
and entity combination being processed by the core CDS operation should trigger the plug-in to execute. The
ServiceBusPlugin can only be registered to run asynchronously. For more information, see Walkthrough: Register
an Azure-aware Plug-in using the Plug-in Registration Tool.
In addition, you can write a custom plug-in that includes the required lines of code to post to the service bus. The
plug-in is registered in a similar way, except that it must be registered in the sandbox and run under partial trust.
For more information on writing a custom plug-in that can post to the Azure Service Bus, see Write a Custom
Azure-aware Plug-in.
You can also write a custom workflow activity that can post the execution context to the service bus and include
this activity in your workflows. Sample code for a custom Azure-aware workflow activity is provided in the topic
Sample: Azure Aware Custom Workflow Activity
See also
Writing a Plug-in
Event execution pipeline
ServiceEndPoint Entity
Work with Common Data Service event data in your
Azure Event Hub solution
6/28/2019 • 2 minutes to read • Edit Online

Azure Event Hubs is a highly scalable publish-subscribe service that can ingest millions of events per second and
stream them into multiple applications. The Common Data Service-Azure interface enables your event data to be
published to the Azure Service Bus and made available to your event hub solution subscribers. The following
information describes the general tasks that must be completed to send Azure event data to an event hub solution.

NOTE
An Azure subscription and event hub license is required for access to event hubs.

1. Create an event hub


You can create an event hub in Azure either through API programming or interactively by using the Azure classic
portal. Either way, after creating your event hub you must obtain a copy of the event hub connection string and
provide that string when registering the Azure service endpoint detailed in the next section.
For more information about creating event hubs see the Event Hubs documentation.

2. Register an endpoint
Registering a service endpoint for an event hub is similar to registering for any other supported contract type such
as queues or topics. You use the Plug-in Registration Tool, provided in the SDK download, to register the service
endpoint. When filling out the registration form specify a contract type of Event Hub. For the message body
format, you can choose XML or JSON. In addition, only SAS authorization is permitted and you must provide the
connection string obtained when you created the event hub. More information: Tutorial: Configure Microsoft
Azure (SAS ) for integration with Common Data Service.

3. Register code
Dynamics 365 needs to know the exact operation (entity/message combination) that, when processed, would
cause the Azure-aware plug-in to execute. Since you are creating an event hub, this operation would be related to
the processing of Azure event data in particular. You must register a step for the Azure-aware plug-in in the Azure
event execution pipeline. For more information see Tutorial: Register an Azure-aware plug-in using the Plug-in
Registration Tool.
If you are using an Azure-aware custom workflow activity instead of a plug-in, you would register the activity's
assembly using the Plug-in Registration Tool and incorporate that activity into a workflow. For more information,
see Sample: Azure aware custom workflow activity.

4. Start listening
Start your Azure service hub solution application listening on the service endpoint.

5. Trigger
Perform an operation in Azure that would cause the plug-in or workflow containing the custom workflow activity
to execute. This is the same operation (entity/message combination) that you registered the plug-in step for in the
previous section of this topic. You can perform the intended operation by using the web application or through
application code accessing the Azure web services.

6. Verification
You can check the related system job in the Azure web application and look for a status of Succeeded. If you find
a status of Failed, use the status information to identify the possible cause of the failure. You can then recheck the
configurations of both systems or debug application code to locate and fix the problem, depending on the nature
of the failure.
See also
Azure integration with Common Data Service
Configure Azure integration with Common Data
Service
3/22/2019 • 2 minutes to read • Edit Online

You can post the message request data for the current core operation to cloud hosted applications listening on the
Azure Service Bus. To enable this capability in Common Data Service, perform the tasks detailed in this topic.

Configure Azure For Common Data Service integration


Because you will use SAS for authorization, you need to configure the rules and issuers of your Azure solution to
allow a listener application to read the Common Data Service message posted to the Azure Service Bus. In
addition, you must configure the service bus rules to accept the Common Data Service issuer claim. The
recommended method to configure Azure is to use the Plug-in Registration Tool (PRT).
For instructions on configuring authorization see Tutorial: Configure Azure (SAS ) for integration with Common
Data Service.

Test Configuration
After configuring Azure integration, you will need to perform these additional tasks.
1. Write and register a listener application with a Azure Service Bus solution endpoint. For more information, see
the Azure Service Bus documentation.
2. Register a Azure aware plug-in or a Azure aware custom workflow activity with Common Data Service. More
information: Tutorial: Register an Azure-aware plug-in using the Plug-in Registration Tool
3. Perform the necessary Common Data Service operation that triggers the plug-in or custom workflow activity to
run.
If all of the preceding steps were performed correctly, a message containing the Common Data Service data
context should be sent to a Azure queue or topic and ultimately received by the listener application. You can
navigate to the System Jobs grid in the Common Data Service web application and check the status of the related
System Job to see if the post to the Azure Service Bus succeeded. In case of errors, the message section of the
System Job displays the error details.
See also
Azure Integration
Use plug-ins to extend business processes
Work with Common Data Service data in your Azure solution
Write a listener application for a Azure solution
What is Azure Service Bus?
Write a custom Azure-aware plug-in
6/28/2019 • 4 minutes to read • Edit Online

Writing a plug-in that works with Azure is similar to writing any other Dynamics 365 Common Data Service plug-
in. However, in addition to invoking any desired web service methods, the plug-in must include code to initiate
posting the execution context to the Azure Service Bus.

Plug-in design considerations


For a plug-in that executes synchronously, the recommended design is for the plug-in to send a message to Azure
for the purpose of retrieving information from a listener application or other external service. Use of a two-way or
REST contract on the Azure Service Bus endpoint allows a data string to be returned to the plug-in.
It is not recommended that a synchronous plug-in use the Azure Service Bus to update data with an external
service. Problems can arise if the external service becomes unavailable or if there is a lot of data to update.
Synchronous plug-ins should execute fast and not hold up all logged in users of an organization while a lengthy
operation is performed. In addition, if a rollback of the current core operation that invoked the plug-in occurs, any
data changes made by the plug-in are undone. This could leave Dynamics 365 and an external service in an
unsynchronized state.
Note that it is possible for synchronous registered plug-ins to post the execution context to the Azure Service Bus.

Write the plug-in code


In the following sample plug-in code has been added to obtain the Azure service provider and initiate posting the
execution context to the service bus by calling Execute(EntityReference, IExecutionContext). Tracing code has been
added to facilitate debugging of the plug-in because the plug-in must run in the sandbox.

NOTE
The serviceEndpointId passed into the constructor in this code is the one you get from creating a service endpoint as
described in Walkthrough: Configure Azure (SAS) for integration with Common Data Service
You can query available service endpoints for your environment using a GET request to Web API using your browser with a
query like this: [organization Uri] /api/data/v9.0/serviceendpoints?$select=name,description,serviceendpointid

using System;
using System.Diagnostics;
using System.Threading;
using System.Runtime.Serialization;

using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;

using Microsoft.Xrm.Sdk;

namespace Microsoft.Crm.Sdk.Samples
{
/// <summary>
/// A custom plug-in that can post the execution context of the current message to the Windows
/// Azure Service Bus. The plug-in also demonstrates tracing which assist with
/// debugging for plug-ins that are registered in the sandbox.
/// </summary>
/// <remarks>This sample requires that a service endpoint be created first, and its ID passed
/// to the plug-in constructor through the unsecure configuration parameter when the plug-in
/// step is registered.</remarks>
public sealed class SandboxPlugin : IPlugin
{
private Guid serviceEndpointId;

/// <summary>
/// Constructor.
/// </summary>
public SandboxPlugin(string config)
{
if (String.IsNullOrEmpty(config) || !Guid.TryParse(config, out serviceEndpointId))
{
throw new InvalidPluginExecutionException("Service endpoint ID should be passed as config.");
}
}

public void Execute(IServiceProvider serviceProvider)


{
// Retrieve the execution context.
IPluginExecutionContext context =
(IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

// Extract the tracing service.


ITracingService tracingService =
(ITracingService)serviceProvider.GetService(typeof(ITracingService));
if (tracingService == null)
throw new InvalidPluginExecutionException("Failed to retrieve the tracing service.");

IServiceEndpointNotificationService cloudService =
(IServiceEndpointNotificationService)serviceProvider.GetService(typeof(IServiceEndpointNotificationService));
if (cloudService == null)
throw new InvalidPluginExecutionException("Failed to retrieve the service bus service.");

try
{
tracingService.Trace("Posting the execution context.");
string response = cloudService.Execute(new EntityReference("serviceendpoint",
serviceEndpointId), context);
if (!String.IsNullOrEmpty(response))
{
tracingService.Trace("Response = {0}", response);
}
tracingService.Trace("Done.");
}
catch (Exception e)
{
tracingService.Trace("Exception: {0}", e.ToString());
throw;
}
}
}
}

In your plug-in code, you can update the writeable data in the context before initiating the post. For example, you
can add a key/value pair to the shared variables in the context.

Plug-in registration
There are a few restrictions when you register a Azure aware custom plug-in. The plug-in must be registered to
execute in the sandbox. Because of this, the plug-in is limited to calling IOrganizationService methods, Azure
solution methods, or accessing a network using a web client. No other external access, such as access to a local file
system, is allowed.
For a plug-in registered to execute in asynchronous mode, this also means that the order of plug-in execution
compared to other asynchronous plug-ins is not guaranteed. In addition, asynchronous plug-ins always execute
after the Dynamics 365 core operation.

Handle a failed service bus post


The expected behavior from a failed service bus post is dependent on whether the plug-in was registered for
synchronous or asynchronous execution. For asynchronous plug-ins, the system job that actually posts the
execution context to the service bus will retry the post. For a synchronous registered plug-in, an exception is
returned. More information Management and Notification of Run-time Errors

IMPORTANT
For asynchronous registered plug-ins only, when the asynchronous job that posts to the Azure Service Bus is retried after a
post failure, the entire plug-in logic is executed again. Because of this, don’t add any other logic to the custom Azure aware
plug-in other than just modifying the context and posting to the service bus.

For a plug-in registered to execute asynchronously, the RemoteExecutionContext contained in the body of the
message that is sent over the service bus includes a OperationId property and a OperationCreatedOn property.
These properties contain the same data as the AsyncOperationId and CreatedOn attributes of the related System
Job ( AsyncOperation ) record. These additional properties facilitate sequencing and duplicate detection if the Azure
Service Bus post must be retried.
See also
Azure Extensions for Dynamics 365
Send Dynamics 365 Data over the Microsoft Azure Service Bus
Write a Plug-In
Event Execution Pipeline
Register and Deploy Plug-Ins
Write a listener application for a Azure solution
6/28/2019 • 5 minutes to read • Edit Online

This topic describes how to write an Azure solution listener application that can read and process Dynamics 365
(online) Common Data Service messages that are posted to the Azure Service Bus. As a prerequisite, you should
familiarize yourself with how to write a Azure Service Bus listener before trying to learn the specifics of a
Dynamics 365 listener. For more information, see the Azure Service Bus documentation.

Write a queue listener


A message queue is a repository of messages received at a service bus endpoint. A queue listener is an application
that reads and processes these queued messages. Because the service bus messages are stored in a queue, a
listener doesn’t have to be actively listening for messages to be received in the queue. A queue listener can be
started after messages have arrived in the queue and still process those messages. Other types of listeners
discussed in the next section must be actively listening or they will miss the opportunity to read a message. These
messages can originate from Dynamics 365 or from some other source.

IMPORTANT
When writing a queue listener, check each message header action to determine if the message originated from Dynamics
365. For information on how to do this see Filter messages.

You can do a destructive message read using Receive in ReceiveAndDelete mode, where the message is read and
removed from the queue, or a non-destructive read using PeekLock mode, where the message is read but still
available in the queue. The persistent queue listener sample code provided in this SDK does a destructive read.
For more information about reading messages from a queue, see How to Receive Messages from a Queue.
A topic is similar to a queue but implements a publish/subscribe model. One or more listeners can subscribe to
the topic and receive messages from its queue. More information: Queues, Topics, and Subscriptions

IMPORTANT
To use these queue or topic contracts, you must write your listener applications using the Azure SDK version 1.7 or higher.

Use of queues and topics in your multi-system software design can result in the decoupling of systems. If the
listener application ever becomes unavailable, the message delivery from Dynamics 365 will still succeed and the
listener application can continue processing the queue message when it is back online. More information: Queues,
Topics, and Subscriptions

Write a one-way, two-way, or REST listener


In addition to the queue listener described previously, you can write a listener for three other service bus contracts
that are supported by Dynamics 365: one-way, two-way, and REST. A one-way listener can read and process a
message posted to the service bus. A two-way listener can do the same but can also return a string of some
information back to Dynamics 365. A REST listener is the same as the two-way listener except that it works with a
REST endpoint. Notice that these listeners must be actively listening at a service endpoint to read a message sent
over the service bus. If the listener isn’t listening when Dynamics 365 attempts to post a message to the service
bus, the message doesn’t get sent.
Writing a listener is structured around what is known as ABC: address, binding, and contract.
One -way listener
Address: service URI
Binding: WS2007HttpRelayBinding
Contract: IServiceEndpointPlugin
After your listener is registered with an endpoint, the listener’s Execute method is invoked whenever a message is
posted to the service bus by Dynamics 365. The Execute method doesn’t return any data from the method call.
For more information, see the one-way listener sample, Sample: One-way Listener.
Two -way listener
Address: service URI
Binding: WS2007HttpRelayBinding
Contract: ITwoWayServiceEndpointPlugin
For this two-way contract, the Execute method returns a string from the method call. For more information, see
the two-way listener sample, Sample: Two-way Listener.
REST listener
Address: service URI
Binding: WebHttpRelayBinding
Contract: IWebHttpServiceEndpointPlugin
For the REST contract, the Execute method returns a string from the method call. Refer to the REST listener
sample, Sample: REST Listener, for more information. Notice that in the REST listener sample, a WebServiceHost
is instantiated and not a ServiceHost as was done in the two-way sample.

NOTE
When using the out-of-box (ServiceBusPlugin) plug-in with a two-way or REST listener, the plug-in doesn’t use any string
data returned from the listener. However, a custom Azure-aware plug-in could make use of this information.
When you run the listener samples, the issuer secret you’re prompted for is the Azure Service Bus management key. The
WS2007 Federation HTTP binding uses token mode and the WS-Trust 1.3 protocol.

Filter messages
There is a property bag of extra information added to each brokered message Properties property sent from
Dynamics 365 (online) and Dynamics 365 (online). The property bag, available with queue, relay, and topic
contract endpoints, contains the following information:
Organization URI
Calling user ID
Initiating user ID
Entity logical name
Request name
This information identifies the organization, user, entity, and message request being processed by Dynamics 365
that resulted in the service bus message being posted. The availability of these properties indicates that the
message was sent from Dynamics 365. Your listener code can decide how to process the message based on these
values.

Read the data context in multiple data formats


The data context from the current Dynamics 365 operation is passed to your Azure solution listener application in
the body of a service bus message. In previous releases, only a .NET binary format was supported. For cross-
platform (non-.NET) interoperability, you can now specify one of three data formats for the message body: .NET
Binary, JSON, or XML. This format is specified in the MessageFormat attribute of the ServiceEndpoint Entity.
When receiving messages, your listener application can read the data context in the message body based on the
contentType of the message. Sample code to do so is shown below.

var receivedMessage = inboundQueueClient.Receive(TimeSpan.MaxValue);

if (receivedMessage.ContentType = "application/msbin1")
{
RemoteExecutionContext context = receivedMessage.GetBody<RemoteExecutionContext>();
}
else if (receivedMessage.ContentType = "application/json")
{
//string jsonBody = new StreamReader(receivedMessage.GetBody<Stream>(), Encoding.UTF8).ReadToEnd();
RemoteExecutionContext contextFromJSON = receivedMessage.GetBody<RemoteExecutionContext>(
new DataContractJsonSerializer(typeof(RemoteExecutionContext)));
}
else if (receivedMessage.ContentType = "application/xml")
{
//string xmlBody = new StreamReader(receivedMessage.GetBody<Stream>(), Encoding.UTF8).ReadToEnd();
RemoteExecutionContext contextFromXML = receivedMessage.GetBody<RemoteExecutionContext>(
new DataContractSerializer(typeof(RemoteExecutionContext)));
}

See also
Azure Extensions
Write a Custom Azure-aware Plug-in
Sample: Persistent Queue Listener
Sample: One-way Listener
Sample: Two-way Listener
Sample: REST Listener
Send Dynamics 365 Data over the Azure Service Bus
Work with Dynamics 365 event data in your Azure Event Hub solution
Tutorial: Configure Azure (SAS) for integration with
Common Data Service
6/28/2019 • 2 minutes to read • Edit Online

This walkthrough guides you through configuring the Azure Service Bus issuer, scope, and rules to allow a listener
application to read the Common Data Service messages posted to the Azure Service Bus.

NOTE
This walkthrough applies to any Common Data Service deployment when using SAS authorization for Azure messaging. For
more information about Azure Service Bus authorization, see Service Bus authentication and authorization.
You must use the Plug-in Registration Tool. To download the plug-in registration tool, see Download tools from NuGet.

Prerequisites
An Azure account with a license to create Service Bus entities.
A SAS configured service bus namespace.
A SAS configured service bus messaging entity: queue, topic, relay, or event hub.
The messaging entity must have the Send policy permission at a minimum. For a two-way relay, the policy
must also have the Listen permission.
The authorization connection string of your messaging entity.

Refer to the Create a Service Bus namespace using the Azure portal for instructions on how to create a Service
Bus namespace and messaging entity.

Create a service endpoint


A ServiceEndpoint Entity contains configuration data that is required for external messaging with a Azure Service
Bus solution endpoint. By using the Plug-in Registration Tool, you can easily create a service endpoint entity in a
Common Data Service organization and configure the service bus endpoint issuer, scope, and rules.
Register a Service Endpoint
1. Run the Plug-in Registration Tool and log into your target Common Data Service organization.
2. Select Register > Register New Service Endpoint.
3. Check Let's Start with the connection string from the Azure Service Bus Portal and paste the
connection string of your service bus messaging entity.

4. Select Next.
5. Fill out the Service Endpoint Registration form by entering the Designation Type, Message Format,
and optionally the User Information Sent and Description fields

For more information about the message format, see Write a listener application for a Azure solution.
6. Select Save.
7. After a few seconds or so, you will see the new service endpoint in the Registered Plug-ins & Custom
Workflow Activities list.
See also
Azure Integration
Azure Service Bus
Tutorial: Register an Azure-aware plug-in using the
Plug-in Registration Tool
6/28/2019 • 2 minutes to read • Edit Online

This walkthrough demonstrates how to register a service endpoint step using the Plug-in Registration Tool. Once
configured, Common Data Service (CDS ) can post the execution context of the current operation to a Azure
solution endpoint. For this walkthrough, the step is registered to post the execution context of the CreateRequest
message for an Account entity to the Azure Service Bus.
The following prerequisites must be completed before you start this walkthrough:
Access to the Plug-in Registration Tool. To get the Plug-in Registration Tool, see Download tools from NuGet.
Your CDS system user account must have the System Customizer or System Administrator role.
Have access to a Azure platform service namespace that is configured for SAS authorization, to which CDS will
post a message.
If you plan to use any other Azure messaging entity other than a queue, for example a relay, there must be a
listener application actively listening to the specified solution endpoint for CDS to successfully post to the
Azure Service Bus. For more information, see Write a Listener for an Azure Solution.
A configured service endpoint with SAS authorization is available in the target organization. More information:
Walkthrough: Configure Microsoft Azure (SAS ) for integration with CDS.

Steps
This walkthrough contains the following steps:
1. Connect to CDS
2. Register a service endpoint step for an event
3. Test the endpoint registration

Connect to CDS
Follow the steps below to connect to CDS using the Plug-in Registration tool.
1. Run the Plug-in Registration tool.
2. Click Create New Connection.
3. In the Login dialog box, select Office 365.
4. If you check Display list of available organizations, you are presented with a list of organizations that
you belong to after you click Login. This enables you to choose the organization that you want to register
the service endpoint with. Otherwise, your default organization is used.
5. Enter the indicated information about the server and login account, and then click Login.

Register a service endpoint step for an event


Follow the steps below to register a step for an event on the service endpoint.
1. Select an existing service endpoint in the tab of the tab of the target organization.
2. Navigate to the Register menu and click Register New Step.
3. Fill out the Register New Step dialog box for an account create event as shown in the following figure.
4. Click Register New Step.
CDS will now post the current message containing the execution context to the service bus whenever an account
is created. The post is performed asynchronously and is not executed immediately.

Test the endpoint registration


After you register the endpoint you can test it. A listener must be running or a queue available on the target
endpoint for the service bus post from the plug-in to happen.
1. Open a canvas or model-driven application for the same organization that you registered the service endpoint
under.
2. Create a new Account entity record.
3. Enter an account name, for example 'Adventure Works Cycle', into the Account Name field, and then click
Save.
4. Wait about 10 minutes for the Azure Service Bus post to occur.
5. In the Dynamics 365 - Custom model-driven app, select Settings > System > System Jobs.
6. Open the system job that has the same name that you specified for your service endpoint. Check the status to
see if the post was successful, is waiting, or failed.
You can now unregister the endpoint, if so desired, by selecting it in the tool’s tree view and click Unregister.
See also
Azure integration for CDS
Introduction to Microsoft Azure Integration with CDS
Tutorial: Update a service endpoint imported from a
solution
6/28/2019 • 2 minutes to read • Edit Online

An extra step is required after importing into an organization a solution containing one or more service endpoints
configured for SAS authorization. When the solution containing the service endpoints is exported, the exported
solution does not contain the SAS Key for each service endpoint. After importing the solution into an organization,
you must perform an additional step to provide the SAS Key for each service endpoint.
Follow these steps to set the SAS Key for each service endpoint after solution import.
Update the SAS Key
1. Run the Plug-in Registration Tool, which can be found in the Tools folder of the Dynamics CRM 2016
Service Pack 1 On-Premises (or later) SDK download. Previous releases of the tool do not support SAS
authorization.
2. Using the tool, sign in to the organization that contains the imported solution.
3. Select the target service endpoint in the tab view of the organization.
4. Select Update. You should see the following form with the fields already filled in.

5. The SAS Key field is displayed with a value of "*******". Replace that value with the correct SAS key value.
You can obtain the SAS Key for your Azure messaging entity (queue, topic, etc.) from the Azure classic
portal.
6. Select Save.
See also
Azure integration for Dynamics 365
Service Bus authentication and authorization
Use webhooks to create external handlers for server
events
9/5/2019 • 8 minutes to read • Edit Online

With Common Data Service, you can send data about events that occur on the server to a web application using
webhooks. Webhooks is a lightweight HTTP pattern for connecting Web APIs and services with a publish/subscribe
model. Webhook senders notify receivers about events by making requests to receiver endpoints with some
information about the events.
Webhooks enable developers and ISV’s to integrate Customer Engagement data with their own custom code
hosted on external services. By using the webhook model, you can secure your endpoint by using authentication
header or query string parameter keys. This is simpler than the SAS authentication model that you may currently
use for Azure Service Bus integration.
When deciding between the webhook model and the Azure Service Bus integration, here are some items to keep in
mind:
Azure Service Bus works for high scale processing, and provides a full queueing mechanism if Common Data
Service is pushing many events.
Webhooks can only scale to the point at which your hosted web service can handle the messages.
Webhooks enables synchronous and asynchronous steps. Azure Service Bus only allows for asynchronous
steps.
Webhooks send POST requests with JSON payload and can be consumed by any programming language or
web application hosted anywhere.
Both webhooks and Azure Service Bus can be invoked from a plugin or custom workflow activity.

Get Started
There are three parts to using web hooks:
Creating or configuring a service to consume webhook requests.
Registering webhook step on the Common Data Service service, or
Invoking a webhook from a plug-in or custom workflow activity.
Start by registering a test webhook
In order to understand how to create and configure a service to consume a webhook request from Common Data
Service, it is valuable to start by understanding how to register a web hook. More information: Register a web hook
When you have registered an example webhook you can use a request logging site to examine the contextual data
that will be passed. More information: Test webhook registration with request logging site

TIP
Completing the steps to register a test webhook and examining the contextual data that is passed will help make the rest of
the information in this topic easier to understand. Complete these steps and return to this topic.

Create or Configure a service to consume webhook requests


Webhooks is simply a pattern that can be applied using a wide range of technologies. There are no required
frameworks, platforms, or programming languages you must use. Use the skills and knowledge you have to deliver
the appropriate solution.
Azure Functions provide an excellent way to deliver a solution using webhooks, but it is not a requirement. This
section will not provide guidance towards a specific solution but will instead describe the data that will be passed to
your service that will enable your service to add value.
As demonstrated in Test webhook registration with request logging site, you can register a test webhook step and
use the request logging site to capture the specific kinds of data that your application can process.
Data passed to the service
There are three types of data in the request: Query String, Header Data, and Request Body.
Query String
The only kind of data that will be passed as a query string may be the authentication values passed if the web hook
is configured to use the WebhookKey or HttpQueryString options as described in Authentication options.
Header Data
If you choose the HttpHeader authentication option, you will need to use the key/value pairs that your service will
require.
Other data you can expect to find passed to your service is in the table below:

KEY VALUE DESCRIPTION

x-request-id A unique identifier for the request

x-ms-dynamics-organization The name of the tenant sending the request

x-ms-dynamics-entity-name The logical name of the entity passed in the execution context
data.

x-ms-dynamics-request-name The name of the Event that the webhook step was registered
for.

x-ms-correlation-request-id Unique identifier for tracking any type of extension. This


property is used by the platform for infinite loop prevention.
In most cases, this property can be ignored. This value may be
used when working with technical support because it can be
used to query telemetry to understand what occurred during
the entire operation.

x-ms-dynamics-msg-size-exceeded Sent only when the HTTP payload size exceeds the 256KB.

Request Body
The body will contain string that represents the JSON value of an instance of the RemoteExecutionContext class.
This is the same data that is passed to Azure service bus integrations.
The service you create must parse this data to extract the relevant items of information for your service to provide
its function. How you choose to parse this data depends on the technology you are using and your preferences.

IMPORTANT
Due to certain Service Bus optimizations, it is not recommended that .NET developers deserialize the JSON formatted
message request body to a RemoteExecutionContext object. Rather, use JObject to parse the message body.

The following is an example of the serialized JSON data passed for a step registered with the following properties:
PROPERTY DESCRIPTION

Message Update

Primary Entity contact

Secondary Entity none

Filtering Attributes firstname,lastname

Run in User’s Context Calling User

Execution Order 1

Event Pipeline Stage of Execution PostOperation

Execution Mode Asynchronous

{
"BusinessUnitId": "e2b9dd85-e89e-e711-8122-000d3aa2331c",
"CorrelationId": "b374239d-4233-41a9-8b17-a86cb4f737b5",
"Depth": 1,
"InitiatingUserId": "75c2dd85-e89e-e711-8122-000d3aa2331c",
"InputParameters": [{
"key": "Target",
"value": {
"__type": "Entity:http:\/\/schemas.microsoft.com\/xrm\/2011\/Contracts",
"Attributes": [{
"key": "firstname",
"value": "James"
}, {
"key": "contactid",
"value": "6d81597f-0f9f-e711-8122-000d3aa2331c"
}, {
"key": "fullname",
"value": "James Glynn (sample)"
}, {
"key": "yomifullname",
"value": "James Glynn (sample)"
}, {
"key": "modifiedon",
"value": "\/Date(1506384247000)\/"
}, {
"key": "modifiedby",
"value": {
"__type": "EntityReference:http:\/\/schemas.microsoft.com\/xrm\/2011\/Contracts",
"Id": "75c2dd85-e89e-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "systemuser",
"Name": null,
"RowVersion": null
}
}, {
"key": "modifiedonbehalfby",
"value": null
}],
"EntityState": null,
"FormattedValues": [],
"Id": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "contact",
"RelatedEntities": [],
"RowVersion": null
"RowVersion": null
}
}],
"IsExecutingOffline": false,
"IsInTransaction": false,
"IsOfflinePlayback": false,
"IsolationMode": 1,
"MessageName": "Update",
"Mode": 1,
"OperationCreatedOn": "\/Date(1506409448000-0700)\/",
"OperationId": "4af10637-4ea2-e711-8122-000d3aa2331c",
"OrganizationId": "4ef5b371-e89e-e711-8122-000d3aa2331c",
"OrganizationName": "OrgName",
"OutputParameters": [],
"OwningExtension": {
"Id": "75417616-4ea2-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "sdkmessageprocessingstep",
"Name": null,
"RowVersion": null
},
"ParentContext": {
"BusinessUnitId": "e2b9dd85-e89e-e711-8122-000d3aa2331c",
"CorrelationId": "b374239d-4233-41a9-8b17-a86cb4f737b5",
"Depth": 1,
"InitiatingUserId": "75c2dd85-e89e-e711-8122-000d3aa2331c",
"InputParameters": [{
"key": "Target",
"value": {
"__type": "Entity:http:\/\/schemas.microsoft.com\/xrm\/2011\/Contracts",
"Attributes": [{
"key": "firstname",
"value": "James"
}, {
"key": "contactid",
"value": "6d81597f-0f9f-e711-8122-000d3aa2331c"
}],
"EntityState": null,
"FormattedValues": [],
"Id": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "contact",
"RelatedEntities": [],
"RowVersion": null
}
}, {
"key": "SuppressDuplicateDetection",
"value": false
}],
"IsExecutingOffline": false,
"IsInTransaction": false,
"IsOfflinePlayback": false,
"IsolationMode": 1,
"MessageName": "Update",
"Mode": 1,
"OperationCreatedOn": "\/Date(1506409448000-0700)\/",
"OperationId": "4af10637-4ea2-e711-8122-000d3aa2331c",
"OrganizationId": "4ef5b371-e89e-e711-8122-000d3aa2331c",
"OrganizationName": "OneFarm",
"OutputParameters": [],
"OwningExtension": {
"Id": "75417616-4ea2-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "sdkmessageprocessingstep",
"Name": null,
"RowVersion": null
},
"ParentContext": null,
"PostEntityImages": [],
"PreEntityImages": [],
"PrimaryEntityId": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"PrimaryEntityName": "contact",
"RequestId": null,
"SecondaryEntityName": "none",
"SharedVariables": [{
"key": "ChangedEntityTypes",
"value": [{
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "feedback",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "contract",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "salesorder",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "connection",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "socialactivity",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "postfollow",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "incident",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "invoice",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "entitlement",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "lead",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "opportunity",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "quote",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "socialprofile",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "contact",
"value": "Update"
}]
}],
"Stage": 30,
"UserId": "75c2dd85-e89e-e711-8122-000d3aa2331c"
},
"PostEntityImages": [{
"key": "AsynchronousStepPrimaryName",
"value": {
"Attributes": [{
"key": "fullname",
"value": "James Glynn (sample)"
}, {
"key": "contactid",
"value": "6d81597f-0f9f-e711-8122-000d3aa2331c"
}],
"EntityState": null,
"FormattedValues": [],
"Id": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "contact",
"RelatedEntities": [],
"RowVersion": null
}
}],
"PreEntityImages": [],
"PrimaryEntityId": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"PrimaryEntityName": "contact",
"RequestId": null,
"SecondaryEntityName": "none",
"SharedVariables": [],
"Stage": 40,
"UserId": "75c2dd85-e89e-e711-8122-000d3aa2331c"
}

IMPORTANT
When the size of the entire HTTP payload exceeds 256KB, the x-ms-dynamics-msg-size-exceeded header will be included
and the following RemoteExecutionContext properties will be removed:
ParentContext
InputParameters
PreEntityImages
PostEntityImages
Some operations do not include these properties.

Invoke a webhook from a plugin or workflow activity


Because a webhook is a kind of service endpoint you can also invoke it without registering a step with a plug-in or
workflow activity in the same way you can for an Azure Service Bus endpoint. You need to provide the
ServiceEndpointId to the IServiceEndpointNotificationService interface. See the following Azure Service Bus
samples for more information:
Sample: Azure aware custom plug-in
Sample: Azure aware custom workflow activity

Troubleshoot web hook registrations


Webhooks are relatively simple. The service will send the request and evaluate the response. The system cannot
parse any data returned with the body of the response, it will only look at the response StatusCode value.
The timeout is 60 seconds. Generally, if no response is returned before the timeout period or if the response
StatusCode value is not within the 2xx range to indicate success it will fail. The exception is when the error
returned is in the following table:
STATUSCODE DESCRIPTION

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

These errors indicate a networking issue that might be resolved with another attempt. The webhook service will
make one more attempt only when these error codes are returned.
Asynchronous webhooks
If your web hook is registered to run asynchronously, you can examine the system job for details on the error. More
information: Query failed asynchronous jobs for a given step
Synchronous webhooks
When you choose to use a synchronous execution mode any failure will be reported back to the user of the
application with an Endpoint unavailable error dialog informing the user that the webhook service endpoint may
be configured incorrectly or is not available. The dialog will allow you to download a log file to get details on any
errors.

Next steps
Register a webhook
Test webhook registration with request logging site
See also
Write a plug-in
Register a plug-in
Asynchronous service in Common Data Service
Sample: Azure aware custom plug-in
Sample: Azure aware custom workflow activity
Azure Functions
ServiceEndpoint Entity
SdkMessageProcessingStep Entity
AsynchronousOperations Entity
RemoteExecutionContext
IServiceEndpointNotificationService
Use webhooks to create external handlers for server
events
9/5/2019 • 8 minutes to read • Edit Online

With Common Data Service, you can send data about events that occur on the server to a web application using
webhooks. Webhooks is a lightweight HTTP pattern for connecting Web APIs and services with a
publish/subscribe model. Webhook senders notify receivers about events by making requests to receiver
endpoints with some information about the events.
Webhooks enable developers and ISV’s to integrate Customer Engagement data with their own custom code
hosted on external services. By using the webhook model, you can secure your endpoint by using authentication
header or query string parameter keys. This is simpler than the SAS authentication model that you may currently
use for Azure Service Bus integration.
When deciding between the webhook model and the Azure Service Bus integration, here are some items to keep
in mind:
Azure Service Bus works for high scale processing, and provides a full queueing mechanism if Common Data
Service is pushing many events.
Webhooks can only scale to the point at which your hosted web service can handle the messages.
Webhooks enables synchronous and asynchronous steps. Azure Service Bus only allows for asynchronous
steps.
Webhooks send POST requests with JSON payload and can be consumed by any programming language or
web application hosted anywhere.
Both webhooks and Azure Service Bus can be invoked from a plugin or custom workflow activity.

Get Started
There are three parts to using web hooks:
Creating or configuring a service to consume webhook requests.
Registering webhook step on the Common Data Service service, or
Invoking a webhook from a plug-in or custom workflow activity.
Start by registering a test webhook
In order to understand how to create and configure a service to consume a webhook request from Common Data
Service, it is valuable to start by understanding how to register a web hook. More information: Register a web
hook
When you have registered an example webhook you can use a request logging site to examine the contextual data
that will be passed. More information: Test webhook registration with request logging site

TIP
Completing the steps to register a test webhook and examining the contextual data that is passed will help make the rest of
the information in this topic easier to understand. Complete these steps and return to this topic.

Create or Configure a service to consume webhook requests


Webhooks is simply a pattern that can be applied using a wide range of technologies. There are no required
frameworks, platforms, or programming languages you must use. Use the skills and knowledge you have to
deliver the appropriate solution.
Azure Functions provide an excellent way to deliver a solution using webhooks, but it is not a requirement. This
section will not provide guidance towards a specific solution but will instead describe the data that will be passed
to your service that will enable your service to add value.
As demonstrated in Test webhook registration with request logging site, you can register a test webhook step and
use the request logging site to capture the specific kinds of data that your application can process.
Data passed to the service
There are three types of data in the request: Query String, Header Data, and Request Body.
Query String
The only kind of data that will be passed as a query string may be the authentication values passed if the web
hook is configured to use the WebhookKey or HttpQueryString options as described in Authentication options.
Header Data
If you choose the HttpHeader authentication option, you will need to use the key/value pairs that your service
will require.
Other data you can expect to find passed to your service is in the table below:

KEY VALUE DESCRIPTION

x-request-id A unique identifier for the request

x-ms-dynamics-organization The name of the tenant sending the request

x-ms-dynamics-entity-name The logical name of the entity passed in the execution context
data.

x-ms-dynamics-request-name The name of the Event that the webhook step was registered
for.

x-ms-correlation-request-id Unique identifier for tracking any type of extension. This


property is used by the platform for infinite loop prevention.
In most cases, this property can be ignored. This value may
be used when working with technical support because it can
be used to query telemetry to understand what occurred
during the entire operation.

x-ms-dynamics-msg-size-exceeded Sent only when the HTTP payload size exceeds the 256KB.

Request Body
The body will contain string that represents the JSON value of an instance of the RemoteExecutionContext class.
This is the same data that is passed to Azure service bus integrations.
The service you create must parse this data to extract the relevant items of information for your service to provide
its function. How you choose to parse this data depends on the technology you are using and your preferences.

IMPORTANT
Due to certain Service Bus optimizations, it is not recommended that .NET developers deserialize the JSON formatted
message request body to a RemoteExecutionContext object. Rather, use JObject to parse the message body.
The following is an example of the serialized JSON data passed for a step registered with the following properties:

PROPERTY DESCRIPTION

Message Update

Primary Entity contact

Secondary Entity none

Filtering Attributes firstname,lastname

Run in User’s Context Calling User

Execution Order 1

Event Pipeline Stage of Execution PostOperation

Execution Mode Asynchronous

{
"BusinessUnitId": "e2b9dd85-e89e-e711-8122-000d3aa2331c",
"CorrelationId": "b374239d-4233-41a9-8b17-a86cb4f737b5",
"Depth": 1,
"InitiatingUserId": "75c2dd85-e89e-e711-8122-000d3aa2331c",
"InputParameters": [{
"key": "Target",
"value": {
"__type": "Entity:http:\/\/schemas.microsoft.com\/xrm\/2011\/Contracts",
"Attributes": [{
"key": "firstname",
"value": "James"
}, {
"key": "contactid",
"value": "6d81597f-0f9f-e711-8122-000d3aa2331c"
}, {
"key": "fullname",
"value": "James Glynn (sample)"
}, {
"key": "yomifullname",
"value": "James Glynn (sample)"
}, {
"key": "modifiedon",
"value": "\/Date(1506384247000)\/"
}, {
"key": "modifiedby",
"value": {
"__type": "EntityReference:http:\/\/schemas.microsoft.com\/xrm\/2011\/Contracts",
"Id": "75c2dd85-e89e-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "systemuser",
"Name": null,
"RowVersion": null
}
}, {
"key": "modifiedonbehalfby",
"value": null
}],
"EntityState": null,
"FormattedValues": [],
"Id": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "contact",
"LogicalName": "contact",
"RelatedEntities": [],
"RowVersion": null
}
}],
"IsExecutingOffline": false,
"IsInTransaction": false,
"IsOfflinePlayback": false,
"IsolationMode": 1,
"MessageName": "Update",
"Mode": 1,
"OperationCreatedOn": "\/Date(1506409448000-0700)\/",
"OperationId": "4af10637-4ea2-e711-8122-000d3aa2331c",
"OrganizationId": "4ef5b371-e89e-e711-8122-000d3aa2331c",
"OrganizationName": "OrgName",
"OutputParameters": [],
"OwningExtension": {
"Id": "75417616-4ea2-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "sdkmessageprocessingstep",
"Name": null,
"RowVersion": null
},
"ParentContext": {
"BusinessUnitId": "e2b9dd85-e89e-e711-8122-000d3aa2331c",
"CorrelationId": "b374239d-4233-41a9-8b17-a86cb4f737b5",
"Depth": 1,
"InitiatingUserId": "75c2dd85-e89e-e711-8122-000d3aa2331c",
"InputParameters": [{
"key": "Target",
"value": {
"__type": "Entity:http:\/\/schemas.microsoft.com\/xrm\/2011\/Contracts",
"Attributes": [{
"key": "firstname",
"value": "James"
}, {
"key": "contactid",
"value": "6d81597f-0f9f-e711-8122-000d3aa2331c"
}],
"EntityState": null,
"FormattedValues": [],
"Id": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "contact",
"RelatedEntities": [],
"RowVersion": null
}
}, {
"key": "SuppressDuplicateDetection",
"value": false
}],
"IsExecutingOffline": false,
"IsInTransaction": false,
"IsOfflinePlayback": false,
"IsolationMode": 1,
"MessageName": "Update",
"Mode": 1,
"OperationCreatedOn": "\/Date(1506409448000-0700)\/",
"OperationId": "4af10637-4ea2-e711-8122-000d3aa2331c",
"OrganizationId": "4ef5b371-e89e-e711-8122-000d3aa2331c",
"OrganizationName": "OneFarm",
"OutputParameters": [],
"OwningExtension": {
"Id": "75417616-4ea2-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "sdkmessageprocessingstep",
"Name": null,
"RowVersion": null
},
"ParentContext": null,
"PostEntityImages": [],
"PreEntityImages": [],
"PrimaryEntityId": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"PrimaryEntityName": "contact",
"RequestId": null,
"SecondaryEntityName": "none",
"SharedVariables": [{
"key": "ChangedEntityTypes",
"value": [{
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "feedback",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "contract",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "salesorder",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "connection",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "socialactivity",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "postfollow",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "incident",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "invoice",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "entitlement",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "lead",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "opportunity",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "quote",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "socialprofile",
"value": "Update"
}, {
"__type": "KeyValuePairOfstringstring:#System.Collections.Generic",
"key": "contact",
"value": "Update"
}]
}],
"Stage": 30,
"UserId": "75c2dd85-e89e-e711-8122-000d3aa2331c"
},
"PostEntityImages": [{
"key": "AsynchronousStepPrimaryName",
"value": {
"Attributes": [{
"key": "fullname",
"value": "James Glynn (sample)"
}, {
"key": "contactid",
"value": "6d81597f-0f9f-e711-8122-000d3aa2331c"
}],
"EntityState": null,
"FormattedValues": [],
"Id": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"KeyAttributes": [],
"LogicalName": "contact",
"RelatedEntities": [],
"RowVersion": null
}
}],
"PreEntityImages": [],
"PrimaryEntityId": "6d81597f-0f9f-e711-8122-000d3aa2331c",
"PrimaryEntityName": "contact",
"RequestId": null,
"SecondaryEntityName": "none",
"SharedVariables": [],
"Stage": 40,
"UserId": "75c2dd85-e89e-e711-8122-000d3aa2331c"
}

IMPORTANT
When the size of the entire HTTP payload exceeds 256KB, the x-ms-dynamics-msg-size-exceeded header will be included
and the following RemoteExecutionContext properties will be removed:
ParentContext
InputParameters
PreEntityImages
PostEntityImages
Some operations do not include these properties.

Invoke a webhook from a plugin or workflow activity


Because a webhook is a kind of service endpoint you can also invoke it without registering a step with a plug-in or
workflow activity in the same way you can for an Azure Service Bus endpoint. You need to provide the
ServiceEndpointId to the IServiceEndpointNotificationService interface. See the following Azure Service Bus
samples for more information:
Sample: Azure aware custom plug-in
Sample: Azure aware custom workflow activity

Troubleshoot web hook registrations


Webhooks are relatively simple. The service will send the request and evaluate the response. The system cannot
parse any data returned with the body of the response, it will only look at the response StatusCode value.
The timeout is 60 seconds. Generally, if no response is returned before the timeout period or if the response
StatusCode value is not within the 2xx range to indicate success it will fail. The exception is when the error
returned is in the following table:
STATUSCODE DESCRIPTION

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

These errors indicate a networking issue that might be resolved with another attempt. The webhook service will
make one more attempt only when these error codes are returned.
Asynchronous webhooks
If your web hook is registered to run asynchronously, you can examine the system job for details on the error.
More information: Query failed asynchronous jobs for a given step
Synchronous webhooks
When you choose to use a synchronous execution mode any failure will be reported back to the user of the
application with an Endpoint unavailable error dialog informing the user that the webhook service endpoint
may be configured incorrectly or is not available. The dialog will allow you to download a log file to get details on
any errors.

Next steps
Register a webhook
Test webhook registration with request logging site
See also
Write a plug-in
Register a plug-in
Asynchronous service in Common Data Service
Sample: Azure aware custom plug-in
Sample: Azure aware custom workflow activity
Azure Functions
ServiceEndpoint Entity
SdkMessageProcessingStep Entity
AsynchronousOperations Entity
RemoteExecutionContext
IServiceEndpointNotificationService
Register a webhook
3/22/2019 • 5 minutes to read • Edit Online

Use the Plug-in Registration tool to register a webhook. To get the Plug-in registration tool, see Download tools
from NuGet.
In the Plug-in Registration tool there is a new Register New Web Hook option to select.

When you register a webhook you must provide three items of information:

ITEM DESCRIPTION

Name A unique name describing the web hook.

Endpoint URL The URL to post execution context information to.

Authentication One of three authentication options. For any type of


authentication, you must provide the keys that will identify
the request as legitimate.

Authentication options
The correct webhook registration authentication option and values to use depend on what the endpoint expects.
The owner of the endpoint must tell you what to use. To use webhooks with Common Data Service, the endpoint
must allow one of the three authentication options described below:
TYPE DESCRIPTION

HttpHeader Includes one or more key values pairs in the header of the
http request.
Example:
Key1: Value1
Key2: Value2

WebhookKey Includes a query string using code as the key and a value
required by the endpoint. When registering the web hook
using the Plug-in Registration tool, only enter the value.
Example:
?code=00000000-0000-0000-0000-000000000001

HttpQueryString Includes one or more key value pairs as query string


parameters.
Example:
?Key1=Value1&Key2=Value2

NOTE
The WebhookKey option is useful with Azure Functions because the authentication query string is expected to have a key
name of code .

Any request to the endpoint configured should fail when the authentication options passed in the request do not
match. This is the responsibility of the endpoint.

Query webhook Registrations


Webhook registrations are stored in the ServiceEndpoint Entity and have a Contract value of 8 .
You can find details about the registered webhooks by querying the ServiceEndpoint entity.
Web API:
GET [organization URI]/api/data/v9.0/serviceendpoints?$filter=contract eq 8&$select=
serviceendpointid,name,authtype,url

More information: Query Data using the Web API


FetchXml:

<fetch>
<entity name="serviceendpoint" >
<attribute name="serviceendpointid" />
<attribute name="name" />
<attribute name="authtype" />
<attribute name="url" />
<filter>
<condition attribute="contract" operator="eq" value="8" />
</filter>
</entity>
</fetch>

More information: Use FetchXML with FetchExpression


Details about the authentication values set are in the AuthValue property and cannot be retrieved.

Register a step for a webhook


Register a step for a webhook
Registering a step for a webhook is like registering a step for a plugin. The main difference is that you cannot
specify any configuration information.
Just like a plugin, you specify the message, and information about entities when appropriate. You can also specify
where in the event pipeline to execute the web hook, the execution mode and whether to delete any
AsyncOperation when the operation succeeds.

Information about the Step Name, and Description will be auto-populated based on the options you choose,
but you can change them. If you do not set some Filtering Attributes for a message that supports them, you will
be prompted to do so as a performance best practices.
Execution mode and debugging your web hook registration
Your choice in registering the webhook changes the experience you will have when debugging if things don’t
work.
Asynchronous mode
When you use asynchronous execution mode an asyncoperation job will be created to capture the success or
failure of the operation. Choosing to delete the asyncoperation when it succeeds will save you database space.
Any errors that occur will be recorded in System Jobs. In the web application you can go to Settings > System >
System Jobs to review the status of any web hooks. There will be a Status Reason value of Failed. Open the
failed system job entity to find details that describe why the job failed.
Query failed asynchronous jobs for a given step
When you know the sdkmessageprocessingstepid of a given step, you can query the AsynchronousOperations
Entity for any errors. You can use the OwningExtensionId value to filter the results to a specific registered step.
The following examples use <stepid> for the sdkmessageprocessingstepid of the step.

TIP
To get the sdkmessageprocessingstepid of a given step, see Query steps registered for a webhook below.
Web API:
GET [organization URI]/api/data/v9.0/asyncoperations?$orderby=completedon desc&$filter=statuscode eq 31 and
_owningextensionid_value eq @stepid&$select=name,friendlymessage,errorcode,message,completedon?@stepid=
<stepid>

More information: Query Data using the Web API


FetchXML:

<fetch>
<entity name="asyncoperation" >
<attribute name="name" />
<attribute name="friendlymessage" />
<attribute name="errorcode" />
<attribute name="message" />
<attribute name="completedon" />
<filter>
<condition attribute="owningextensionid" operator="eq" value="<stepid>" />
</filter>
<order attribute="completedon" descending="true" />
</entity>
</fetch>

More information: Use FetchXML with FetchExpression


Synchronous mode
When you choose to use a synchronous execution mode any failure will be reported back to the user of the
application with an Endpoint unavailable error dialog informing the user that the webhook service endpoint
may be configured incorrectly or is not available. The dialog will allow you to download a log file to get details on
any errors.

NOTE
You should use synchronous mode when it is important that the operation triggered by the webhook occur immediately or
if you want the entire transaction to fail unless the webhook payload is recieved by the service. A simple webhook step
registration provides limited options to manage failure, but you can also invoke webhooks using plugins workflow activities
if you require more control. More information: Invoke a webhook from a plugin or workflow activity.

Query steps registered for a webhook


Data for registered webhooks is in the SdkMessageProcessingStep Entity.
You can query the steps registered for a specific webhook when you know the serviceendpointid for the webhook.
See Query webhook registrations for a query to get the id for a registered web hook.
Web API:
You can use this Web API Query where <id> is the ServiceEndpointId of the webhook:

GET [organization URI]/api/data/v9.0/serviceendpoints(@id)/serviceendpoint_sdkmessageprocessingstep?


$select=sdkmessageprocessingstepid,name,description,asyncautodelete,filteringattributes,mode,stage?@id=<id>

For more information about the registered step, you can use this Web API query where <stepid> is the
SdkMessageProcessingStepId for the step:
GET [organization URI]/api/data/v9.0/sdkmessageprocessingsteps(@id)?
$select=name,description,filteringattributes,asyncautodelete,mode,stage&$expand=plugintypeid($select=friendly
name),eventhandler_serviceendpoint($select=name),sdkmessagefilterid($select=primaryobjecttypecode),sdkmessage
id($select=name)?@id=<stepid>

FetchXML:
You can use this FetchXML to get the same information in one query where <serviceendpointid> is the id of the
webhook:

<fetch>
<entity name="sdkmessageprocessingstep" >
<attribute name="name" />
<attribute name="filteringattributes" />
<attribute name="stage" />
<attribute name="asyncautodeletename" />
<attribute name="description" />
<attribute name="mode" />
<link-entity name="serviceendpoint" from="serviceendpointid" to="eventhandler" link-type="inner"
alias="endpnt" >
<attribute name="name" />
<filter>
<condition attribute="serviceendpointid" operator="eq" value="<serviceendpointid>" />
</filter>
</link-entity>
<link-entity name="sdkmessagefilter" from="sdkmessagefilterid" to="sdkmessagefilterid" link-type="inner"
alias="fltr" >
<attribute name="primaryobjecttypecode" />
</link-entity>
<link-entity name="sdkmessage" from="sdkmessageid" to="sdkmessageid" link-type="inner" alias="msg" >
<attribute name="name" />
</link-entity>
</entity>
</fetch>

Next steps
Test webhook registration with request logging site
Use webhooks to create external handlers for server events
Test webhook registration with request logging site
3/22/2019 • 2 minutes to read • Edit Online

Before you create or configure a service to consume web hooks, you should test what kind of data the service will
receive so that you can know what kind of data you will need to process. For this purpose, you can use one of
several request logging sites. For the purpose of this example, we will use Webhook Tester to configure a target
for the webhook requests. Use the following steps:
1. Go to https://webhook.site. In the top right-hand corner you will see a green Copy button.

2. Use the Copy button to copy the URL. Keep this page open.
3. Use the plugin registration tool to register a new webhook as described in Register a web hook.
a. Use the URL you copied in step 2 as the Endpoint URL.
b. Set a name and any authentication properties you want. Webhook Tester will not evaluate these values
in the way that an actual site that will process the data should, but you can see how they will be passed
through.
4. Use the plugin registration tool to register a step using the webhook you created in step 4 as described in
Register a step for a webhook.
a. Make sure to use an event that you can easily perform by editing data in the Common Data Service
application, such as updating a contact entity.
5. Use the Common Data Service app to perform the operation to trigger the event.
6. After you trigger the event, return to the Webhook Tester page from step 2. You should see that the page
has been updated to show the data passed in the request:
TIP
Use the Format JSON option to make the JSON returned in the body of the request easier to read.

Next steps
Use webhooks to create external handlers for server events
See also
Register a webhook
Common Data Service entities
3/22/2019 • 3 minutes to read • Edit Online

Providing storage for data is the most important function of Common Data Service. Common Data Service
includes a base set of entities that provide structure for data used by business applications.
You can view the base set of entities in the Common Data Service entity reference.

Modify entities
You can modify the entity metadata using several different methods.
Use designers
There are several ways to edit entity metadata using designers.

DESIGNER DESCRIPTION

powerapps.com The easiest and most common approach to modify the


schema is to use the powerapps.com site to edit Common
Data Service associated with an environment. Changes applied
here are performed in the context of an unmanaged Common
Data Service Default solution.

Common Data Service Default solution explorer There is another designer available from the powerapps.com
site when editing Common Data Service. In the lower left-
hand corner, the Advanced button will open the solution
explorer to the Common Data Service Default solution.

Solution explorer for your solution If you will distribute a solution you should create any new
entities, attributes, or relationships in the context of the
unmanaged solution that you will use to develop your
solution.
More information: Create a solution publisher and solution

From the form editor When editing a model-driven app form for an entity, you can
click the New Field button in the Field Explorer. If you
create a lookup field, you will create a new entity relationship
to support it.

Import a solution
A solution can contain entity metadata and other customized components. Importing a managed or unmanaged
solution into your Common Data Service tenant will include those entities or extend existing entities with the new
entity metadata they contain.
From a data source using Power Query
You can create new entities and fill them with data using Power Query. More information: Add data to an entity in
Common Data Service by using Power Query
Use metadata services
The web services exposed in Common Data Service include capabilities to create, read, write, and delete entity
metadata. These services are most frequently used to read the metadata because that data can inform your code at
runtime about how the environment has been customized. More information: Metadata services
Entity metadata
The data model is defined as metadata that is stored within Common Data Service. This data about the schema is
known as Entity Metadata.
The EntityMetadata Class defines this with the Organization service.
The EntityMetadata EntityType defines this for the Web API.
The Entity metadata includes the following information:

DATA DESCRIPTION

Entity Properties Each entity has nearly 100 properties that describe how it is
identified and what can be done with it. More information:
Entity Metadata

Attributes The entity Attributes property is a collection of attributes.


Each attribute has around 50 properties to describe how it is
identified, the type of data it contains, how it is formatted, and
what can be done with it. More information: Attribute
Metadata

Relationships Three of the entity properties are collections of relationships


between entities. These collections contain different types of
relationships: Many-To-Many, Many-To-One, and One-To-
Many. More information: Entity Relationships Metadata

Privileges One of the entity properties is a collection of between 0 and 8


privileges that identity the kinds of data operations that can
be performed on that entity with a unique identifier
associated with each one. These operations include: Append,
AppendTo, Assign, Create, Delete, Read, Share, and Write.

Keys By default, each entity has a single GUID (globally unique


identifier) attribute and the Keys property is an empty
collection. You can add alternate keys to an entity. More
information: Entity Keys

TIP
Developing an understanding of the entity metadata in the system can help you understand how Common Data Service
works. Many of the properties also control what entities in model-driven apps can do. The designers available to edit
metadata cannot show all the details found in the metadata. You can install a model-driven app called the Metadata Browser
which will allow you to view all the hidden entities and metadata properties that are found in the system. More information:
Browse the metadata for your organization

See also
Common Data Service Developer Overview
Customer entities (account, contact)
3/22/2019 • 2 minutes to read • Edit Online

The account and contact entities in Common Data Service are essential for identifying and managing customers,
selling products and services, and providing superior service to the customers. A customer address entity is used to
store address and shipping information for a customer.

Account entity
The account entity is one of the entities in Common Data Service to which most other entities are attached or
parented. In Common Data Service, an account represents a company with which the business unit has a
relationship. Information that is included in an account is all relevant contact information, company information,
category, relationship type, and address information. Other information that applies includes the following items:
An account can be a parent to almost any other entity. This includes another account.
An account can be a standalone entity.
An account can have only one account as its parent.
Accounts can have multiple child accounts and child contacts.
Account management is one of the important concepts of business-to-business customer relationship
management (Dynamics 365) because an organization wants to see all the activities they have with another
company All these activities come together at the account level.
More information: Account Entity.

Contact entity
In Common Data Service, a contact represents a person, usually an individual, with whom a business unit has a
relationship, such as a customer, a supplier, or a colleague. The contact entity is one of the entities that most other
entities are linked to. A contact can be a stand-alone entity. Included in this entity are professional, personal, and
family information, and multiple addresses. More information: Contact Entity.
Both accounts and contacts are part of managing customers and are related to one another in the following ways:
A contact can be a parent to every other entity except accounts and contacts.
A contact can have only one account as its parent.
A contact can be marked as the primary contact person for an account by using the Update method.
The contact entity stores all information about a person such as an email address, street address, telephone
numbers, and other related information, such as the birthday or anniversary date. Depending on the type of
customers a business unit has, it needs either only contacts, or contacts and accounts, to give a full view of its
customers.
The basic operations that you can perform on a contact include Create, Read, Update, and Delete.
Linking entities such as activities and notes to the contact entity lets user see all the communication the user has
had with a customer, any actions the user has taken on behalf of the customer, and all information the user needs
about the customer.
In This Section
Account Entity
Contact Entity
CustomerAddress Entity

Related Sections
Model Your Business Data With Dynamics 365
Business Management Entities
Activity entities
3/22/2019 • 2 minutes to read • Edit Online

In Common Data Service, activities are tasks that you or your teams perform when they contact customers, for
example, sending letters or making telephone calls. You can create activities for yourselves, can assign them to
someone else, or can share them with other users or teams. An activity is any action which can be entered on a
calendar and has time dimensions (start time, stop time, due date, and duration) that help determine when the
action occurred or is to occur. Activities has some basic properties that help determine what action the activity
represents, for example, subject and description. An activity state can be opened, canceled, or completed. The
completed status of an activity will have several substatus values associated with it to clarify the way that the
activity was completed.
Activities involve one or more participants, called activity parties in Common Data Service. For a meeting activity,
the participants are those contacts or users attending the meeting. For a telephone call or fax activity, the parties
are the caller and the person who is called. The following diagram shows the entity relationships for activities.

To support the communication needs of the modern-day business, such as instant messaging (IM ) and SMS, you
can create custom activities in Common Data Service.
Other activity entities
The scheduling activities enables you to schedule your services and resources, and thus define work
schedules. The scheduling activity entities are Appointment , ServiceAppointment , and
RecurringAppointmentMaster . For more information, see Schedule and Appointment Entities.

The marketing activity, CampaignResponse , enables you to capture responses from the customers for a
marketing campaign, while the CampaignActivity entity represents a step in a campaign. For more
information, see Campaign Entities.
The sales force automation entities OpportunityClose , OrderClose , and QuoteClose activities capture
information about each of these events. For more information, see Sales Entities (Lead, Opportunity,
Competitor, Quote, Order, Invoice).
The customer service entity IncidentResolution activity captures information about the resolution of a
case. For more information, see Incident (Case) Entities.

In This Section
Custom Activities in Dynamics 365
Activity Pointer (Activity) Entity
Activity Party Entity
Task, Fax, Phone Call, and Letter Activity Entities
E -mail Activity Entities
Sample Code for Activity Entities

Related Sections
Model Your Business Data with Dynamics 365 Customer Engagement
Server-side Synchronization Entities
Customize Entity Metadata
Custom activities
3/22/2019 • 2 minutes to read • Edit Online

In Common Data Service, you can create custom activities to support the communication needs of a business such
as instant messaging (IM ) and Short Message Service (SMS ). To create a custom activity in Common Data Service,
create a custom entity, and specify it as an activity entity using the EntityMetadata.IsActivity property.
However, unlike other custom entities, you can’t specify a primary attribute for a custom activity because, by
default, each custom activity must have a primary attribute named ”Subject”.
When you create a custom activity entity, all the properties and privileges of the activitypointer entity are
inherited for the custom activity. Further, all the activity party types become available for the custom activity, and
as a result the corresponding properties are also inherited.
You can create 1-to-Many (1:N ) relationships for a custom activity just like any other activity, and also update the
existing relationships.

Privileges and access rights


You require the same set of Common Data Service privileges and access rights to work with custom activities as
those required to work with custom entities. For more information about custom entities, see Customize Entity
Metadata.

Creating a custom activity


To create a custom activity entity, set the values of the properties listed in the following table.

PROPERTY NAME VALUE NOTES

EntityMetadata.IsActivity true Specify the custom entity as an activity


entity.

EntityMetadata.IsAvailableOffline true A custom activity entity must have


offline availability.

EntityMetadata.IsMailMergeEnabled false A custom activity entity cannot have


mail merge enabled.

EntityMetadata.OwnershipType OwnershipTypes. TeamOwned A custom activity entity can be either


or team-owned or user-owned.
OwnershipTypes. UserOwned
PROPERTY NAME VALUE NOTES

EntityMetadata.ActivityTypeMask 0 - None (Optional) Specify whether a custom


or activity should appear in the activity
1 – Communication Activity menus in the web application.

- Specify 0 (None) to hide it from


appearing in the activity menus. The
custom activity will appear in the
associated grids of only those entities
with which it is associated (has
relationship).
- Specify 1 (Communication Activity)
to make it appear in the activity menus.

If you do not specify this property, the


custom activity is created with the
default property value: 1. That is, the
custom activity is available in the
activity menus. Moreover,
ActivityTypeMask can be set at the
activity creation time only, and once set,
cannot be modified.

CreateEntityRequest.HasActivities false A custom activity entity must not have


a relationship with activities.

CreateEntityRequest.HasNotes true A custom activity entity must have a


relationship to notes.

CreateEntityRequest. PrimaryAttribute SchemaName is “Subject”. The schema name of the


PrimaryAttribute for all activities
must be “Subject”.

Example
The following sample shows how you can create a custom activity.
String prefix = "new_";

String customEntityName = prefix + "instantmessage";

// Create the custom activity entity.


CreateEntityRequest request = new CreateEntityRequest
{
HasNotes = true,
HasActivities = false,
PrimaryAttribute = new StringAttributeMetadata
{
SchemaName = "Subject",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
MaxLength = 100,
DisplayName = new Label("Subject", 1033)
},
Entity = new EntityMetadata
{
IsActivity = true,
SchemaName = customEntityName,
DisplayName = new Label("Instant Message", 1033),
DisplayCollectionName = new Label("Instant Messages", 1033),
OwnershipType = OwnershipTypes.UserOwned,
IsAvailableOffline = true,

}
};

_serviceProxy.Execute(request);

//Entity must be published

See also
Activity Entities
ActivityPointer (activity) entity
Sample: Create a Custom Activity
Sample: Create and Update Entity Metadata
Email activity entities
3/22/2019 • 4 minutes to read • Edit Online

The email activity lets you track and manage email communications with customers. Common Data Service
includes the Email Router software that manages the routing of email to or from Common Data Service. The email
activity is delivered using email protocols. Email Router supports the following email protocols: Exchange Web
services, POP3, and SMTP. In addition to the Email Router software, the email activity can also be delivered by
using Dynamics 365 for Outlook.

Actions on an Email Activity


Using Dynamics 365 Customer Engagement Web Services, you can perform the following actions on an email
activity:
Create, retrieve, update, and delete the email activity.
Send email messages, or send email messages by using email templates ( Template ). For more information
about email templates, see Template Entity.
Attach files as attachments by using the ( ActivityMimeAttachment ) attribute in the email message.
Send mass or bulk email messages.
Configure incoming email messages to be delivered from Microsoft Exchange Server to any user or queue,
or outgoing messages to be sent from any user or queue to Microsoft Exchange Server. For information
about how to configure incoming email messages for queues, see Configure email for incoming messages.
If the Organization.RequireApprovalForuserEmail and Organization.RequireApprovalForQueueEmail (process
emails only for approved users/queues) organization attributes are set to true (1), the following occurs:
email messages are delivered or sent from a user or queue only if the primary email address of the user or
queue is approved. The SystemUser.EmailRouterAccessApproval and the Queue.EmailRouterAccessApproval
attributes indicate the status of the primary email address of the user and queue respectively, and the value
must be set to 1. Otherwise, the incoming and outgoing messages will be blocked. You can update the user
or queue record to change the attribute value, if it is not already in the approved state, provided your user
account has the prvApproveRejectEmailAddress privilege assigned.

NOTE
In Common Data Service, the Email.StatusCode attribute cannot be null.

Bulk Email
Common Data Service supports sending email to a large list of recipients through a bulk email request. When a
bulk email request is sent to Common Data Service, an asynchronous operation is created in the asynchronous
service queue that sends the email messages by using a background process. This gives you improved system
performance.
The SendBulkMailRequest and BackgroundSendEmailRequest messages are used for sending bulk email
messages. The following lists the sequence used to send bulk email:
1. Execute the SendBulkMail request. This request contains a query that selects the target email recipients and
an email template for composing each email.
2. The asynchronous service creates the email activities for each recipient.
3. The asynchronous service sends each email message. The email messages have a "pending" send status.
4. The email router, Dynamics 365 for Outlook, or a third-party email send component polls Common Data
Service for pending email messages, and if one is found, downloads it by using the BackgroundSendEmail
request.
5. The BackgroundSendEmail request performs the following operations: checks if pending email messages are
present, downloads the email to the caller of the BackgroundSendEmailRequest message, and synchronizes
the downloads if there are multiple callers.
6. The caller of the BackgroundSendEmailRequest message receives the downloaded email message, and
sends it out.

Email Attachments
Email attachments are files that can be attached to email messages or email templates. An attached file can be in
any standard computer file format such as Office Outlook documents, Office Excel spreadsheets, CAD files, and
PDF files. You can attach multiple files as email attachments to an email or email template. The maximum size of
files that can be uploaded is determined by the Organization.MaxUploadFileSize property. This property is set
in the Email tab of the System Settings in the Dynamics 365 application. This setting limits the size of files that
can be attached to email messages, notes, and web resources. The default setting is 5 MB.
To attach an email attachment with an email message or template, you use the ActivityMimeAttachment.ObjectId
and ActivityMimeAttachment.ObjectTypeCode attributes while you are creating or updating an activity mime
attachment record.
The following code sample shows how to attach an email attachment to an email:

ActivityMimeAttachment _sampleAttachment = new ActivityMimeAttachment{


ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),
ObjectTypeCode = Email.EntityLogicalName,
Subject = "Sample Attachment”,
Body = System.Convert.ToBase64String(new ASCIIEncoding().GetBytes("Example Attachment")),
FileName = "ExampleAttachment.txt"};

Similarly, to attach the email attachment to a template instead of an email, you will replace the values of the
ActivityMimeAttachment.ObjectId and ActivityMimeAttachment.ObjectTypeCode attributes as follows in the above
code:

ObjectId = new EntityReference(Template.EntityLogicalName, _templateId), ObjectTypeCode =


Template.EntityLogicalName,

For complete code sample about how to create email attachments, see Sample: Create, Retrieve, Update, and
Delete an E -Mail Attachment.
Reusing Email Attachments
When you create an email attachment record, the attached file is saved as a file BLOB. The
ActivityMimeAttachment.AttachmentId attribute of the email attachment record uniquely identifies the file BLOB.
This is done to facilitate the reuse of the file attachments with other email and email template records, without
creating and storing multiple copies of the same file in the database.
To reuse an existing file attachment:
1. Retrieve the ActivityMimeAttachment record that contains the attachment file that you want to re-use, as
shown in the following code example:

ActivityMimeAttachment retrievedAttachment =
(ActivityMimeAttachment)_serviceProxy.Retrieve(ActivityMimeAttachment.EntityLogicalName,
_emailAttachmentId, new ColumnSet(true));

2. Create a new email attachment record, associate it with the required email or email template record, and
point it to the attached file of the retrieved ActivityMimeAttachment record, as shown in the following code
example:

ActivityMimeAttachment _reuseAttachment = new ActivityMimeAttachment{


ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),
ObjectTypeCode = Email.EntityLogicalName,
Subject = "Sample Attachment”,
AttachmentId = retrievedAttachment.AttachmentId};

Because you are reusing an existing attachment file, you do not have to specify the
ActivityMimeAttachment.Body and ActivityMimeAttachment.FileName attribute values while you are creating
and associating email attachment records to emails or email templates.
See also
Activity Entities
Sample code for activity entities
Email Entity
ActivityMimeAttachment Entity
Task, fax, phone call, and letter activity entities
3/22/2019 • 2 minutes to read • Edit Online

This section contains information about the entities that enable you to manage core activities that are performed in
a relationship management solution.

In This Section
Fax Entity
Letter Entity
PhoneCall Entity
Task Entity
See also
Activity Entities
ActivityParty entity
3/22/2019 • 2 minutes to read • Edit Online

An activity party represents a person or group associated with an activity. An activity can have multiple activity
parties.

Activity Party Types


There are 11 activity party types in Common Data Service. The activity party type is stored as an integer value in
the ActivityParty.ParticipationTypeMask attribute. The following table lists the different activity party types, the
corresponding integer value for the ActivityParty.ParticipationTypeMask attribute, and the description.

ACTIVITY PARTY TYPE VALUE DESCRIPTION

Sender 1 Specifies the sender.

ToRecipient 2 Specifies the recipient in the To field.

CCRecipient 3 Specifies the recipient in the Cc field.

BccRecipient 4 Specifies the recipient in the Bcc field.

RequiredAttendee 5 Specifies a required attendee.

OptionalAttendee 6 Specifies an optional attendee.

Organizer 7 Specifies the activity organizer.

Regarding 8 Specifies the regarding item.

Owner 9 Specifies the activity owner.

Resource 10 Specifies a resource.

Customer 11 Specifies a customer.

Activity Party Types available for each activity


Not all activity party types are available for each activity in Common Data Service, except for a custom activity. A
custom activity supports all activity party types. You can associate an activity party type for an activity by using the
respective attribute of an activity. For example, to associate an Organizer activity party type with an appointment
activity, you must specify a value or an array of values of the ActivityParty type in the Appointment.Organizer
attribute.
To control which email address should be used for sending emails to the activity party, or for replying to emails
from the activity party, set the ActivityParty.AddressUsed attribute.
The following table lists the activity party types that are supported for each activity, and the corresponding activity
properties to specify those activity party types.
ACTIVITY ENTITY NAME SUPPORTED ACTIVITY PARTY TYPE ACTIVITY ATTRIBUTE

Appointment OptionalAttendee Appointment.OptionalAttendees


Organizer Appointment.Organizer
RequiredAttendee Appointment.RequiredAttendees

CampaignActivity Sender CampaignActivity.Partners


CampaignActivity.From

CampaignResponse Customer CampaignResponse.Customer


CampaignResponse.Partner
CampaignResponse.From

Email BccRecipient Email.Bcc


CcRecipient Email.Cc
Sender Email.From
ToRecipient Email.To

Fax Sender Fax.From


ToRecipient Fax.To

Letter BccRecipient Letter.Bcc


Sender Letter.From
ToRecipient Letter.To

PhoneCall Sender PhoneCall.From


ToRecipient PhoneCall.To

RecurringAppointmentMaster OptionalAttendee RecurringAppointmentMaster.Optional


Organizer Attendees
RequiredAttendee RecurringAppointmentMaster.Organizer
RecurringAppointmentMaster.Required
Attendees

ServiceAppointment Customer ServiceAppointment.Customers


Resource ServiceAppointment.Resources

See also
Activity Entities
Task, fax, phone call, and letter activity entities
ActivityParty Entity
Sample: Book an Appointment
Sample: Convert a Fax to a Task
Sample: Override Goal Total Count and Close the Goal
Sample: Roll Up Goal Data for a Fiscal Period Against the Stretch Target Count
Sample: Send an E -mail Using a Template
Sample: Validate an Appointment
ActivityPointer (activity) entity
3/22/2019 • 2 minutes to read • Edit Online

The activity pointer (activity) entity represents any activity or task that is performed, or to be performed by a user.
An activity is any action for which an entry can be made on a calendar.
Whenever you create an activity record in Common Data Service, a corresponding activity pointer record is
created. This indicates that the activity record and the corresponding activity pointer record have the same value
for the ActivityId attribute. For example, if you create an Email record, the attribute values of Email.ActivityId
and the corresponding ActivityPointer.ActivityId will be the same.
The ActivityPointer.ActivityTypeCode attribute defines the type of the activity. The possible values for this
attribute are defined in activitypointer_activitytypecode global option set.

Control how activities are sorted by date


Whenever you display a list of activity entities and order them by date, you can only use the common date
attributes defined in the activitypointer entity. However, sometimes you want different sorting behaviors
depending on the type of activity. For example, with the email entity you might want to sort by the senton attribute
value rather than the modifiedon attribute value.
Use the sortdate attribute to control how activities are sorted by date. By default, the sortdate attribute value is
null. You must include business logic to populate the date value that will be set for this attribute and then use the
sortdate attribute within the query defined for the view. You can set the sortdate attribute value using a workflow
or a plugin. For consistent results you should set this value for every type of activity and any existing activity data
in the system.
See also
Activity Entities
ActivityPointer Entity
Recurring appointment partial expansion model
3/22/2019 • 3 minutes to read • Edit Online

Common Data Service implements a partial expansion model to create recurring appointment instances in the
database. The recurrence information, specified when you create a RecurringAppointmentMaster record, is used to
create or synchronize individual instances in a phased manner. This controls the creation of a large number of
appointment records in Common Data Service due to the creation or synchronization of recurring appointments
that have a large or infinite (no end date) recurrence range.
The partial expansion model is an asynchronous job in Common Data Service that runs at pre-specified intervals,
and is defined at the organization level using the Organization.RecurrenceExpansionJobBatchInterval attribute.
Moreover, the instance expansion model depends on an organization-level parameter, for example, “N,” where “N”
stands for the maximum number of instances that can be created synchronously. You can specify an appropriate
value for this variable using the Organization.RecurrenceExpansionSynchCreateMax attribute. These properties are
covered in detail in the Parameters for the partial expansion job section later.

When the recurring appointment instances are less than or equal to


“N”
If the number of instances to be generated because of the recurrence information is less than or equal to “N”, the
actual number of instances are created synchronously from the effective start date of the appointment. Each
instance is stored as an appointment record in Common Data Service.

When the recurring appointment instances are more than “N”


For each recurring appointment created in Common Data Service, an asynchronous expansion job is created. The
instances of the recurring appointment are expanded in the following phases:
1. Synchronous expansion: The first “N” instances of the recurring appointment are created synchronously
from the effective start date. Each instance is stored as an appointment record with the
Appointment.InstanceTypeCode attribute set to “2” ( Recurring Instance). The expansion of the rest of the
instances is passed on to an asynchronous job. The effective start date is the date from which the recurring
appointment series has to be expanded.
2. Asynchronous expansion: Asynchronous jobs handle the rest of the expansion job and periodically
expand the instances according to the recurrence information. The asynchronous expansion occurs only
until the future expansion window ( Organization.FutureExpansionWindow ). After that, a new asynchronous job
is created that handles expansion until the next future expansion window. The asynchronous service
periodically expands the instances and stores them as appointment records in the system.

Parameters for the partial expansion job


You must set appropriate values for these organization-level attributes in the Organization record for the
expansion model to work as per your requirements. You must have the System Administrator role or appropriate
privilege to do this. The following table provides information about these properties.

ATTRIBUTE DESCRIPTION
ATTRIBUTE DESCRIPTION

Organization.RecurrenceExpansionSynchCreateMax This is the maximum number of appointment instances that is


created at the time of creation or synchronization of a
recurring appointment. You must specify an integer value that
corresponds to the number of instances. This value
corresponds to “N”.

Organization.PastExpansionWindow This is the maximum valid time period in the past up to which
the recurring appointments can be expanded or synchronized
with Dynamics 365 for Outlook. You must specify an integer
value that corresponds to the number of months.

The value of this attribute determines the past instance cutoff


date for expanding or synchronizing the recurring
appointment instances.

Organization.FutureExpansionWindow This is the maximum valid time period in the future up to


which the recurring appointments can be expanded or
synchronized with Dynamics 365 for Outlook. You must
specify an integer value that corresponds to the number of
months.

The value of this attribute determines the future instance


cutoff date for expanding or synchronizing the recurring
appointment instances.

Organization.RecurrenceExpansionJobBatchInterval This is the frequency in seconds after which the partial


expansion job is triggered.

Organization.RecurrenceExpansionJobBatchSize This is the number of instances expanded every time the


asynchronous job runs.

See also
Recurring Appointment Entities
Create a Recurring Appointment Series, Instance or Exception
Delete or End a Recurring Appointment Series or Instance
Update a Recurring Appointment
Create a recurring appointment series, instance, or
exception
3/22/2019 • 2 minutes to read • Edit Online

When you create a recurring appointment master (series), Common Data Service creates individual appointment
instances based on the specified recurrence information. You can also create individual recurring appointment
instances and exceptions to those instances, and you can convert an appointment to a recurring appointment.

Create a recurring appointment series


To create a recurring appointment series (a RecurringAppointmentMaster record), you can use the BookRequest
message, the CreateRequest message, or the IOrganizationService.Create method.
When you create a recurring appointment series, the following things occur:
1. A RecurringAppointmentMaster record (recurring appointment series) is created that contains the basic and
recurrence information about the recurring appointment series. Each record can be uniquely identified using
the RecurringAppointmentMaster.ActivityId property. Further, this recurring appointment series is also
created and stored as an activity ( ActivityPointer ) record. The activity record can be uniquely identified
using the ActivityPointer.ActivityId property.
2. Individual recurring appointment instances are created based on the recurrence information and stored as
Appointment records. These appointment objects are associated with the parent recurring appointment
series using the Appointment.SeriesId property and have the same value as the parent recurring
appointment series ID ( ActivityPointer.SeriesId ).
The value of the Appointment.InstanceTypeCode property is set to Recurring Instance (picklist value 2) for
these appointment objects.

NOTE
Recurring appointment instances are created based on the expansion model and the parameters that define it. More
information: Recurring Appointment Partial Expansion Model.

For sample code that demonstrates how to create a recurring appointment series, see Sample: Create a
Recurring Appointment.

Create a recurring appointment instance


To create a recurring appointment instance (a RecurringAppointmentMaster record), you can use the
CreateInstanceRequest. This message takes two parameters: the number of instances to be created and the
recurring appointment series for which the instances have to be created.
The instances are created after the last instance in the recurring appointment series. Also, the instances are only
created up until the future instance cutoff date, regardless of the number of instances you have specified for
creation.

Create a recurring appointment exception


An exception is created when you either update or delete an instance of the recurring appointment. Recurring
appointment instances are stored as an appointment record along like other appointments, and you can identify a
recurring appointment instance using the Appointment.InstanceTypeCode attribute of an appointment record, which
will have a value of Recurring Instance (picklist value 2).
You can create exceptions in the following ways:
Use the UpdateRequest class on the Appointment entity to update a recurring appointment instance, and set
the value of the Appointment.InstanceTypeCode attribute to Recurring Exception (picklist value 3).
Use the DeleteRequest class on the Appointment entity to delete a recurring appointment instance. Deleting
an appointment instance marks it an exception by creating an entry for the instance in the
RecurringAppointmentMaster.DeletedExceptionsList attribute for the parent appointment series object.

Use the CreateExceptionRequest class on the Appointment entity.

Convert an appointment to a recurring appointment


A recurring appointment is an appointment with recurrence information. You can convert an existing appointment
in Common Data Service to a recurring appointment by using AddRecurrenceRequest. When you convert an
existing appointment to a recurring appointment, the data from the existing appointment is copied to a new
recurring appointment master instance and the existing appointment is deleted.
See also
Recurring Appointment Entities
Update a recurring appointment
Sample: Create a Recurring Appointment
Sample: Convert an Appointment to a Recurring Appointment
Update a recurring appointment
3/22/2019 • 2 minutes to read • Edit Online

You can either update the whole series or update an instance of a recurring appointment.

Update a recurring appointment series


You can update a recurring appointment series by using the IOrganizationService.Update method or the
UpdateRequest message on the RecurringAppointmentMaster entity. You can update the basic or recurrence
information.
Update basic information
When you update the basic information of a recurring appointment series, such as subject, location, or attendees,
all instances in the recurring appointment series are updated except those that have exceptions on the same
attribute.
Update recurrence information
When you update the recurring information of a recurring appointment series, such as pattern and range, the
following things occur:
1. A new series with a new RecurringAppointmentMaster.ActivityId is created that has the same information as
the original series, and the date in the RecurringAppointmentMaster.EffectiveEndDate attribute of the new
series is set to the last occurring past instance of the original series. All the future instances of the original
series are deleted. In this manner, the original series is ended, and the history of the past instances is
preserved in the system by storing it in a new series.
2. The new information is used to create the future instances of the new series from the effective start date (
RecurringAppointmentMaster.EffectiveStartDate ).

Also, the RecurringAppointmentMaster.GroupId attribute for both the original and the new series is populated
with the same value. This implies that whenever you update the recurrence information in a recurring
appointment series, all the new series’ that are created have the same value for the
RecurringAppointmentMaster.GroupId attribute as the recurring appointment series that is updated, although
each series has a unique series ID.

NOTE
When you update the recurrence information of a recurring appointment series that has all the instances slated to occur in
future, all instances are deleted and new recurrence information is used to create or expand new instances.

To see the sample code for updating a recurring appointment series, see Sample: Update a Recurring
Appointment.

Update a recurring appointment instance


Because the recurring appointment records are stored as appointment objects, you can use the
IOrganizationService.Update method on the Appointment entity to update a recurring appointment instance.
When you update a recurring appointment instance, the instance is marked as an exception to the recurring
appointment series. More information: Create a Recurring Appointment Exception
You can also use the CreateExceptionRequest class on the Appointment entity to update a recurring appointment
instance.

TIP
Recurring appointment instances can be identified using the Appointment.InstanceTypeCode attribute, which will have a
value of “2” (Recurring Instance). More information: Appointment Entity

See also
Recurring Appointment Entities
Delete or end a recurring appointment series or instance
Sample: Create, Retrieve, Update, and Delete (CRUD ) a Recurring Appointment
Sample: Reschedule and Cancel Recurring Appointment
Link custom attributes of the recurring appointment
master and appointment entities
3/22/2019 • 2 minutes to read • Edit Online

You can link the custom attributes created for the RecurringAppointmentMaster entity with the custom attributes
created for the Appointment entity to automatically copy the data from the recurring appointment master custom
attribute to the linked recurring appointment instances custom attribute, every time it is expanded.
There is a 1:1 mapping between the custom attributes, which implies that a custom attribute of the recurring
appointment master entity can be linked to only one custom attribute of the appointment entity. Moreover, the
custom attributes that are to be linked together must be of the same type. For example, you cannot link a custom
attribute of type string with a decimal custom attribute. For information about different types of attributes, see
Customize Entity Attribute Metadata.

NOTE
You cannot link the custom attributes that have field-level security enabled. Similarly, you cannot enable field-level security
for linked custom attributes.

Link custom attributes


1. Create a custom attribute for the appointment entity using the CreateAttributeRequest class.
2. Create a custom attribute for the recurring appointment series (recurring appointment master) entity. While
specifying the attribute metadata for the custom attribute, use the AttributeMetadata.LinkedAttributeId
property to link to the custom attribute that you created in step 1.
3. Publish the changes to the solution.
For sample code, see Sample: Link Custom Attributes between Series and Instances.
See also
Recurring Appointment Entities
RecurringAppointmentMaster Entity
Sample: Link Custom Attributes between Series and Instances
Customize Entity Attribute Metadata
Annotation (note) entity
3/22/2019 • 2 minutes to read • Edit Online

The annotations (notes) provide easy ways to append additional information to any record in the Common Data
Service database. An annotation (note) is a text entry that can be associated with any entity in Common Data
Service. However, you can associate annotations with only those custom entities that are created with the
HasNotes property set to true in the CreateEntityRequest class. You can update a custom entity, which is not
enabled for notes, to have notes by setting the UpdateEntityRequest.HasNotes property to true .
Using the Web API, set the HasNotes property of the EntityMetadata EntityType controls this.
The Annotation entity represents an annotation (note), and contains the following information:
Annotation (note) text
Who created and modified the annotation (note)
Whether a file is attached to the annotation (note)
An attached file can be any standard computer file format that includes Office Word documents, Office Excel
spreadsheets, CAD files, and PDF files. An attachment can be associated with any object, other than an annotation
(note), in Common Data Service.
To upload or remove an attachment, use the IOrganizationService.Update method or UpdateRequest message,
setting the Annotation.Filename and Annotation.MimeType properties. This uploads an attachment that has been
decoded into a base64 string format. The System.Convert.ToBase64String method can be used to convert the
contents of a data file into a base64-formatted string. The maximum size of files that can be uploaded is
determined by the Organization.MaxUploadFileSize property. This property is set in the Email tab of the
System Settings in the Dynamics 365 application. This setting limits the size of files that can be attached to email
messages, notes, and web resources. The default setting is 5 MB.

In This Section
Sample: Upload, Retrieve, and Download an Attachment
See also
Annotation Entity
Model Your Business Data
UserQuery (Saved View ) Entity
Calendar entities
3/22/2019 • 2 minutes to read • Edit Online

The calendar entity stores data for customer service calendars and holiday schedules in addition to business. Each
calendar is set for a specific time zone.
A calendar describes the availability of a service or a resource. Calendars are related to calendarrule records,
which include details about the duration, start and end times, and recurring patterns of events included in the
calendar.
There are two types of calendar rules in Common Data Service:
Root: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner
calendar for a root calendar rule by using the CalendarRule.InnerCalendarId attribute. The attribute value of
CalendarRule.InnerCalendarId of a root rule is the same as the attribute value of CalendarRule.CalendarId of
its leaf rules.
Leaf: A calendar rule that doesn’t contain an inner calendar, and therefore, is the end of the "branch."
Calendar rules are ordered, or ranked, to describe their precedence, and rules can overlap. The nested rules
expansion defines the time span, or extent, of a rule. You can use the CalendarRule.ExtentCode attribute to define
how rule expansion overlap is handled, for example, whether both time span or extent of a rule are shown or if only
one is included. These features provide for recurrence patterns, for example, different shift schedules for winter and
summer months in a single service calendar.
A calendar can be a complex tree of rules and nested calendars that represent a high-level abstraction of the work
schedule. The calendar entity supports the ExpandCalendarRequest message to convert to a simple view, which is
an array of time blocks that determine availability over specific ranges.

In This Section
Types of Calendars
Calendar Entity

Related Sections
Appointment Entities
Recurring Appointment Entities
Resource Entities
Service Entity
Sample Code for Schedule and Appointment Entities
Types of calendars
3/22/2019 • 2 minutes to read • Edit Online

The calendar entity was modified to support additional types of calendars in Common Data Service.

Calendar type
The Type Picklist attribute contains the following options:

VALUE LABEL DESCRIPTION

0 Default All calendars that are not customer


service, holiday schedule, or inner
calendars.

1 Customer Service Service calendars for customer service.

2 Holiday Schedule Holiday schedule calendars for customer


service.

-1 Inner Calendar type Inner Calendars are used by other


calendars to build a graph of time slots
available for customer service or service
scheduling to be performed.

Customer service calendars


Customer service calendars exist to calculate performance against service level agreements (SLAs). SLAs are
frequently based on key performance indicators (KPIs) based on time, such as duration for first response or a time
limit before escalation. When these time limits are restricted to periods when customer service operations are
open, calculations to enforce these agreements must include data from the customer service calendar.
Customer service calendars define regular weekly schedules. Events that don’t fall into those regular schedules are
usually holidays. A customer service calendar can be associated with a holiday schedule to provide a complete
description of the times when customer services are available.
Service scheduling calendars
Service scheduling uses the default calendar type. Business closure calendars can be defined and shared on service
and resource entities. The scheduling engine makes sure that all appropriate calendar rules are considered for an
appointment request.
In addition to free/busy times, you can define effort (required/available) constraints on the CalendarRule entity.
These constraints are defined as the effort that is available from a resource to perform, deliver, or repeat a
particular service at a given time. Similarly, each service defines the effort that is required from the required pool
of resources to complete one unit of service for its specified duration. The scheduling engine automatically
computes the appropriate time blocks for an appointment when the total effort that is required for a given service
is less than or equal to the total available effort for all the required resources.
See also
Calendar Entities
Calendar Entity
calendarrule
Queue entities
3/22/2019 • 5 minutes to read • Edit Online

Queues are instrumental in organizing, prioritizing, and monitoring the progress of your work. As a central location
for work management, queues assist you in processing cases, responding to service calls, or sending out product
information to prospective customers. Programmatically, a queue is a collection of queue items. A queue item
serves as a container for an entity record, such as a task, an email, or a case that needs processing. See Queue
Entity

NOTE
For information about working with queues using the UI, see Queues overview.

The following information pertains to queues:


All customizable entities can be enabled for queues.
Queues may be public or private. Private queue items are only visible to the members of the queue.
A private queue is automatically created for each new user or team.
A queue can contain multiple entity types, such as tasks, emails, or cases.
A queue contains information about the user who is working on a particular queue item. This helps you
manage your resources more efficiently and helps to prevent duplication of work.
Queues can be enabled for workflows and audit. This helps improve productivity and track the entity and
attribute data changes for future analysis and reporting.

Members capabilities
Queues are categorized into public or private queues. Private queues have individual users as members to make
controlling access to queues easier. If you add a team to a private queue, all the members of that team become
members of the private queue.

Public and private queues


The QueueViewType attribute is a picklist that defines whether a queue is public or private.
All user queues are private queues for the user: Only the user will be able to see queue items in their private
queue.
Team queues are marked as private with members: the team owner and all team members will be able to
see the queue in the application.
All other queues are public. Everyone with read privileges for the queue entity will be able to see these
queues.

Attributes used to manage queues


Use the following attributes to manage queues.
SCHEMANAME DISPLAYNAME TYPE DESCRIPTION

NumberOfItems Queue Items Integer Number of Queue items


associated with the queue.

NumberOfMembers No. of Members Integer Number of Members


associated with the queue.

QueueViewType Type Picklist Select whether the queue is


public or private. A public
queue can be viewed by all.
A private queue can be
viewed only by the members
added to the queue.

Restrictions on deleting queues


A queue cannot be deleted if the following are true:
When the queue has queue items.
When any routing rule uses the queue.

Enable entities for queues


To enable a customizable entity ( EntityMetadata.IsCustomizable = true ) for queues, use the UpdateEntityRequest
message to set the IsValidForQueue attribute to true . The queue entity and the queue item entity are
customizable entities, but they cannot be enabled for queues.
The following list contains default queue-enabled entities in Common Data Service:
Appointment
Campaignactivity
CampaignResponse
Email
Fax
Incident
Letter
PhoneCall
RecurringAppointmentMaster
ServiceAppointment
SocialActivity
Task

Inherit privileges and provide limited access to a queue


A queue and a queue item have a parental relationship in which operations on the parent queue record are
propagated to the child queue item records.
NOTE
In this particular parental relationship, only the Delete action is cascaded from the parent queue entity to the child queue
item entity. Other actions, such as Assign, Merge or Share are not cascaded.

The privileges on a queue item are inherited from the privileges on a queue.
If you have prvReadQueue privilege, you also have read privilege on a queue item entity.
If you have prvAppendToQueue privilege, you also have create, update, and delete privileges on a queue item
entity.
Often, you must limit access to the queue when permitting access to the queue items. As a queue owner
with full access to the queue, you might want to share a queue with a team that will have only limited access
to the queue. For example, if the support team is given read and append to privileges on a queue, team
members cannot make any changes to the queue, such as changing queue name or queue owner. However,
they can create, retrieve, update, and delete queue items.

Actions on queues and queue items


You can perform a variety of actions on queues and queue items, if you have appropriate privileges on the queue
entity and the queue item entity.
Actions on queues
Perform the following actions on the queues:
Customize queues and queue items by adding custom attributes.
Add an entity record to a queue.

NOTE
An entity record cannot be added in multiple queues. An exception is an email entity record with the status
“Received”.

Add entity records of different entity types in the same queue.


Change an ownership of a queue by assigning it to another user or team.
Add principals to a private queue using the AddPrincipalToQueueRequest.
Clean up the history for a queue by deleting inactive queue items in the queue, such as completed or
canceled phone calls.
Retrieve all the queues that a user has access to using the RetrieveUserQueuesRequest
Make a queue the default queue for a user by setting the SystemUser.QueueId attribute to the ID of the
queue. The same queue can be specified as a default queue for different users.
Create a workflow that operates on all private queues. For example, whenever a user creates a task, the
workflow adds the task to the default queue of the user. You can also create a workflow that operates only on
a particular queue.
Configure an email for incoming messages, if you want incoming email messages to be delivered to a
queue.
Actions on queue items
Perform the following actions on the queue items:
Assign a queue item to a user using the PickFromQueueRequest.
Move a queue item from a source queue to a destination queue by using the AddToQueueRequest message.
A queue item can be moved from one queue to another until it is deactivated by using the SetStateRequest
message.

NOTE
A queue item is automatically deactivated if the state of the record in the queue item changed from Active to Inactive.
This applies to queue-enabled entities that have Active and Inactive states. To determine if an entity is queue-enabled
and if an entity record can be in an Active or Inactive state, see entity metadata information.

Release a queue item back to the queue using the ReleaseToQueueRequest.


Delete a queue item from a queue by using the DeleteRequest message. When you delete a queue item, a
referenced entity record is not deleted. However, when you delete an entity record, all queue items that
reference this entity record are deleted.
See also
Queue Entity
QueueItem Entity
AddToQueueRequest
Subject entity
3/22/2019 • 2 minutes to read • Edit Online

A subject categorizes entity records, such as articles and sales literature. By using subjects, you can create a
hierarchy of topics to organize and maintain information in Common Data Service. The information organized in
the subject tree can be used by any entity in Common Data Service. The Subject entity categorizes the following:
Knowledge base articles
Incidents (cases)
Product catalog items
Sales literature
The content organization of the knowledge base is displayed in the subject tree. The subject tree provides
organizational consistency across entities. It makes the system easier for customer service, sales, and marketing to
use. Frequently, the products for an organization determine the subject tree. However, you can use subject entity
records to create nodes at the root level that are not shared.
See also
Subject Entity
Apply SLAs to entities
3/22/2019 • 2 minutes to read • Edit Online

Service level agreements (SLAs) in Common Data Service help you define the level of service or support that your
organization agrees to offer a customer by including items to define metrics or key performance indicators (KPIs)
to attain the service level. You can apply SLAs to custom entities and the following system entities:
All activity entities (such as Email, Task, and Appointment) except recurring appointments
(RecurringAppointmentMaster)
Account
Contact
Invoice
Incident (Case)
Opportunity
Quote
Lead
SalesOrder (Order)

Enable entities for applying SLAs


To apply SLAs to an entity, you must set the IsSLAEnabled attribute to true for the entity. You can’t change this
setting after it’s been enabled. By default, the Incident entity is enabled for SLAs.
You can also use the customization tool to enable entities for SLAs. More information: Enable entities for service
level agreements
After you have enabled an entity forSLAs, new SLA-related attributes, such as SLAId and SLAInvokedId , will be
automatically added to the entity.

Create SLA KPIs


To programmatically create SLA KPIs for an entity, create a lookup attribute on any SLA-enabled entity, and then
set a relationship for that attribute to the SLAKPIInstance entity.

Apply SLAs to entity records


Using the Common Data Service web client, you can create SLAs for an SLA-enabled entity, and set an SLA as
default for the entity so that it is applied automatically to any new entity records.
However, if you want to manually apply SLAs to entity records based on any custom business requirement, you
can programmatically update the entity record to set the SLAId attribute value to the desired active SLA record.

Limitations to applying SLAs in Dynamics 365 (online)


In Common Data Service, the following limitations are applicable for SLAs per Common Data Service instance
(organization):
You can have a maximum of 7 entities that can have active SLAs. You will encounter an error on activating
an SLA if this limit is exceeded.
You can have a maximum of 5 SLA KPIs per entity for active SLAs. You will encounter an error on activating
an SLA if this limit is exceeded. This limit is not applicable for the Incident entity.
See also
Service entities in Customer Engagement
Enhanced service level agreements (SLAs)
Transaction Currency (currency) entity
3/22/2019 • 2 minutes to read • Edit Online

Common Data Service is a multicurrency system, in which each record can be associated with its own currency.
This currency is called the transaction currency. The multicurrency features enable users to perform financial
transactions like opportunities, quotes, orders, and invoices in multiple currencies. This feature also provides a
currency choice to the end user when a financial transaction occurs.
Multiple records in different transaction currencies can be aggregated, compared, or analyzed with regard to a
single currency, by using an exchange rate. This is known as the base currency. You first define a base currency for
the organization and then define exchange rates to associate the base currency with transaction currencies. The
base currency is the currency in which other currencies are quoted. The exchange rate is the value of a transaction
currency equal to one base currency.
By using the transaction currency properties you can do the following:
Select the currency in which you want to define and transact opportunities, quotes, orders, and invoices.
Define currency exchange rates relative to the base currency.
Define transaction currencies and define an exchange rate to associate the base currency with the
transaction currency.
Capture the value of the transaction in the base currency and the transaction currency in all financial
transactions.
Define product pricelists for each currency.
To use multiple currencies, the base currency must be defined for an organization during server installation and
organization setup. After the base currency is set for an organization, it cannot be changed. This value is stored in
the Organization.BaseCurrencyID attribute.
Transaction currencies are defined as a part of the system settings. An unlimited number of transaction currencies
can be defined. Transaction currencies are related to the base currency with the definition of a currency exchange
rate.
After the definition of base and transaction currencies, pricelists must be defined. An organization can have
multiple pricelists, which are also typically defined for a target geographical market in the local currency.
All entities that are involved in financial transactions support transaction currency. The currency is typically
inherited from the account, opportunity, and so on, but can be changed as needed.
You can specify the decimal precision for the transaction currency by using the
TransactionCurrency.CurrencyPrecision attribute. To specify the source of the precision for the attributes of type
Money, use the MoneyAttributeMetadata.PrecisionSource attribute.
All money properties in a record share the same transaction currency, for example, see the Account.CreditLimit
attribute. For each money attribute in an entity, Common Data Service automatically creates a corresponding read-
only, system calculated, money attribute that is called the "base". This is a money attribute that stores the value of
the corresponding attribute in a base currency equivalent, for example, see the Account.CreditLimit_Base attribute.
The following formula is used to calculate the base value:
creditlimit_base = creditlimit / exchangerate

The following are the entities for which the transaction currency can be defined.
Account
AnnualFiscalCalendar
Campaign
CampaignActivity
Competitor
Contact
Contract
ContractDetail
Discount
DiscountType
FixedMonthlyFiscalCalendar
Invoice
InvoiceDetail
Lead
List
MonthlyFiscalCalendar
Opportunity
OpportunityClose
OpportunityProduct
PriceLevel
Product
ProductPriceLevel
QuarterlyFiscalCalendar
Quote
QuoteDetail
SalesOrder
SalesOrderDetail
SemiAnnualFiscalCalendar
UserSettings
See also
TransactionCurrency Entity
Sample: Retrieve Currency Exchange Rate
Business Management Entities
Use the Category entity
3/22/2019 • 2 minutes to read • Edit Online

Categorizing entity records in Common Data Service helps you tag the records so that you can easily search them.
Use the Category entity to create and manage a hierarchical structure of categories in Common Data Service, and
then associate entity records to one or more categories.
A category can have multiple child categories, but a child category can have only one parent category. Deleting a
parent Category record automatically deletes all its child records and entity associations. You define a parent
category for a category using the Category.ParentCategoryId attribute.
Use the Category.SequenceNumber attribute to programmatically define the display order for categories in the
hierarchy. When you a add a new category using the web client, it is automatically added after the last category in
the hierarchy. You can also use the Category.CategoryNumber attribute to programmatically set or update a number
for category to help you easily distinguish a group of categories. Category number can be set to any value
programmatically, but is automatically set when you create a category using the web client based on the auto-
numbering prefix specified by the administrator for categories in the web client (Settings > Administration >
Auto-Numbering > Categories tab).
You can associate Category records with system and custom entity records by using relationships and connections.
A category record can be associated with different entity records. For example, you can programmatically associate
a Category record with an Account , Contact and Incident records.
Use the Feedback entity to manage feedback and
ratings for records
3/22/2019 • 2 minutes to read • Edit Online

Improve your products and services by enabling users to provide feedback and ratings for entity records in
Common Data Service. For example, you can enable feedbacks and ratings for the Product entity to know user's
feedback on the products you sell, or on the Incident (case) entity to understand and improve the quality of your
customer support team.
You can enable feedback and rating for both system and custom entities in Common Data Service. By default, the
KnowledgeArticle entity is enabled for feedback and ratings. Use the new Feedback entity to programmatically
create and manage feedback for entity records.
To programmatically enable feedback for a:
System entity, use the UpdateEntityRequest message to update the entity, and set the HasFeedback property
to true.
Custom entity, set the CreateEntityRequest.HasFeedback property to true while creating the entity, or update
existing custom entity to set the UpdateEntityRequest.HasFeedback property to true.
Once you have enabled an entity for feedback and rating, you can't disable it. After you enable an entity for
feedback, a regarding relationship is created between the entity and the Feedback entity.

NOTE
You can also use the customization tools in Common Data Service to enable feedback and rating for system and custom
entities. More information: Enable an entity for feedback

The Feedback entity stores the following information :


Feedback title
Feedback comments
Feedback rating. You can also define a range for ratings by specifying a minimum and maximum (numerical)
value for ratings. For example, a rating of 4 on the scale of 1-5.
Normalized rating for feedback that is automatically calculated to show the specified user rating scaled to a
value between 0 and 1 based on the minimum and maximum rating values.

NOTE
The normalized rating helps to normalize or even out the specified rating value for different rating ranges (minimum
and maximum rating values). The normalized rating is calculated as follows: (Rating - Minimum Rating) / (Maximum
Rating - Minimum Rating).
Also, rating for a record is calculated as an average of all the normalized ratings for the record.

Feedback status such as Open or Closed


Feedback source to display the source from where the feedback was submitted. If the feedback was created
from within Common Data Service, the value is set to Internal. Developers can add a value of their choice
depending on the application used to provide feedback.
User who created or last modified the feedback record
Entity record that the feedback is associated with
Security Model
6/19/2019 • 2 minutes to read • Edit Online

PowerApps provides a security model that protects data integrity and privacy, and supports efficient data access
and collaboration. The goals of the model are as follows:
Provide users with the access only to the appropriate levels of information that is required to do their jobs.
Categorize users by role and restrict access based on those roles.
Support data sharing so that users and teams can be granted access to records that they do not own for a
specified collaborative effort.
Prevent a user's access to records the user does not own or share.
Role-based security focuses on grouping a set of privileges together that describe the responsibilities (or tasks
that can be performed) for a user. PowerApps includes a set of predefined security roles. Each aggregates a set of
user rights to make user security management easier. Also, each application deployment can define its own roles to
meet the needs of different users. Security roles are associated with a business unit.
Record-based security focuses on access rights to specific records.
Field-level security restricts access to specific high business impact fields in an entity only to specified users or
teams. Combine role-based security, record-level security, and field-level security to define the overall security
rights that users have within your custom Dynamics 365 application.
As a developer, you should know that your queries run in the context of a user, and will only return records that the
user is entitled to read. Further, you will only be able to perform operations based on the privileges assigned to
your user account through the security roles.
For detailed information, see Security in Common Data Service
User and team entities
3/22/2019 • 4 minutes to read • Edit Online

User and team management is the area of Common Data Service where you can create and maintain user
accounts and profiles.
A user is any person who works for a business unit who uses Common Data Service. Each user has a user account.
All users must be associated with only one business unit. This association controls which customer data the user
will have access to. Included in the user's account is information such as the user's telephone numbers, email
address, and a link to the user's manager. Each user has privileges and rights to manage their own personal
settings. Each user corresponds to a user in the Azure Active Directory for that organization. When you create a
user, you must assign the user to at least one security role. Even if the user is part of a team that has assigned roles,
the user should be assigned to a role. For more information about access levels and roles, see How Role-Based
Security Can Be Used to Control Access to Entities In Dynamics 365.
A team is a group of users. Teams let users across an organization collaborate and share information. For more
information about teams, see Use Teams to Collaborate and Share Information.
Records can be owned by users or teams. Set the OwnershipType to OwnershipTypes. UserOwned or
OwnershipTypes. TeamOwned to enable ownership. You can use the ReassignObjectsOwnerRequest message or the
ReassignObjectsSystemUserRequest message to do bulk reassignment of all records for an owner.
The following illustration shows the entity relationships for users and teams.

Users
In Common Data Service, users can be disabled but they cannot be deleted. To find the user who is currently
logged on or who is impersonated, call the WhoAmIRequest message.
The following table provides details about the significant attributes for the system user entity.

ATTRIBUTE NAME DESCRIPTION


ATTRIBUTE NAME DESCRIPTION

AccessMode Specifies the type of access that this user has to Common
Data Service. This is sometimes referred to as the type of user.

- Administrative – The user has access to the Settings area but


does not have access to the Sales, Marketing, and Service
areas.
- Non-Interactive – The user can access the system but only
through the Web service.
- Read – The user has read-only access.
- Read-Write – The user has both read and write access.
- Support User – The user was created by the Common Data
Service support team.

CalType Specifies the user’s license type.

- Administrative – The user has administrative user rights.


- Device Full – The user who is using the device running
Common Data Service has both read and write access.
- Device Limited – The user who is using the device running
Common Data Service has only read access.
- Full – The user has both read and write access.
- Limited – The user has only read access.

IsDisabled Specifies whether the user is disabled. Only licensed users or


users who have an access mode of support or non-interactive
can be enabled. Support users cannot be disabled.

IsLicensed Specifies whether the user is licensed. This applies to


customers who access Common Data Service through the
Microsoft Online Services Environment. This attribute is read-
only, and is updated by the system.

IsSyncWithDirectory Specifies whether the user is synchronized with the Office 365
directory. This applies to customers who access Common Data
Service through the Microsoft Online Services Environment.
This attribute can only be set on create and is otherwise read-
only.

QueueId Specifies the default queue for the user.

Access checks are additive. You can access entities based on the roles assigned to the user plus the roles assigned
to the team that a user is a member of. This allows a user to have privileges outside their business unit.

NOTE
A user's set of privileges is a union of privileges from the user's roles and privileges from all teams’ roles in which the user is a
member.

Non-interactive users are often used when writing service-to-service code because they do not use up a license.
Common Data Service allows for five free non-interactive users. To disable a non-interactive user, update the user
record changing the accessmode value to any other value. The user will be disabled automatically.

Community tools
User Settings Utility is a tool that XrmToolbox community developed for Common Data Service. Please see the
Developer tools topic for community developed tools.
NOTE
The community tools are not a product of Common Data Service and does not extend support to the community tools. If
you have questions pertaining to the tool, please contact the publisher. More Information: XrmToolBox.

See also
Administration and Security Entities
Use Teams to Collaborate and Share Information
Team Entity
Specify time zone settings for a user
TeamTemplate Entity
SystemUser Entity
UserSettings Entity
Sample: Disable a User
Sample: Share Records Using GrantAccess, ModifyAccess and RevokeAccess Messages
Sample: Share a record using an access team
Blog: Service Accounts – Non-Interactive Users
Privilege and Role Entities
Specify time zone settings for a user
3/22/2019 • 5 minutes to read • Edit Online

Use the UserSettings entity to specify time zone settings for a user in Common Data Service. The following
attributes are exposed for the UserSettings entity related to time zone. All time zone attributes in the
UserSettings entity are of Integer data type.

ATTRIBUTE NAME DESCRIPTION

TimeZoneBias Local time zone adjustment for the user. System calculated
based on the time zone specified for the user in the
TimeZoneCode attribute.

TimeZoneCode Local time zone code for the user.

For a list of time zone code values supported in Common


Data Service, use the TimeZoneDefinition.TimeZoneCode
attribute. The TimeZoneDefinition.StandardName attribute
stores the standard names of the corresponding time zone
codes. More information: Time Zone Entities

TimeZoneDaylightBias Local time zone daylight adjustment for the user. System
calculated based on the time zone specified for the user in the
TimeZoneCode attribute.

TimeZoneDaylightDay First, second, third, fourth, or fifth occurrence of a day in a


month when daylight takes effect for the user as per the local
time zone. The day and month values are taken from the
TimeZoneDaylightDayOfWeek and TimeZoneDaylightMonth
attributes respectively to determine the effective date. System
calculated based on the time zone specified for the user in the
TimeZoneCode attribute.

For example, for the US Eastern Standard Time (EST) time


zone, consider the following attribute values:

- TimeZoneDaylightDay : 2 //Denotes second occurrence


- TimeZoneDaylightDayOfWeek : 0 //Denotes first day of the
week (Sunday)
- TimeZoneDaylightMonth : 3 //Denotes 3rd month (March)

This implies that the daylight takes effect on 2nd Sunday of


March, which is effectively March 8, 2015.

TimeZoneDaylightDayOfWeek The day of the week (Sunday=0, Monday=1,…) in a month


when daylight takes effect for the user as per the local time
zone. The month value is taken from the
TimeZoneDaylightMonth attribute, and used along with the
TimeZoneDaylightDay attribute value to determine the
effective date. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

See the example in the TimeZoneDaylightDay attribute.


ATTRIBUTE NAME DESCRIPTION

TimeZoneDaylightHour Hour when daylight time takes effect for the user as per the
local time zone. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneDaylightMinute Minute when daylight time takes effect for the user as per the
local time zone. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneDaylightMonth The month (January=1, February=2,…) when daylight takes


effect for the user as per the local time zone. Used along with
the TimeZoneDaylightDay and
TimeZoneDaylightDayOfWeek attributes to determine the
effective date. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

For example, for the US Eastern Standard Time (EST) time


zone, consider the following attribute values:

- TimeZoneDaylightDay : 2 //Denotes second occurrence


- TimeZoneDaylightDayOfWeek : 0 // Denotes first day of the
week (Sunday)
- TimeZoneDaylightMonth : 3 // Denotes 3rd month (March)

This implies that the daylight time takes effect on 2nd Sunday
of March, which is effectively March 8, 2015.

TimeZoneDaylightSecond Second when daylight time takes effect for the user as per the
local time zone. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneDaylightYear Local time zone daylight year for the user. Is set to 0 to
indicate every year. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneStandardBias Local time zone standard time bias for the user. System
calculated based on the time zone specified for the user in the
TimeZoneCode attribute.

TimeZoneStandardDay First, second, third, fourth, or fifth occurrence of a day in a


month when standard time takes effect for the user as per the
local time zone. The day and month values are taken from the
TimeZoneStandardDayOfWeek and TimeZoneStandardMonth
attributes respectively to determine the effective date. System
calculated based on the time zone specified for the user in the
TimeZoneCode attribute.

For example, for the US Eastern Standard Time (EST) time


zone, consider the following attribute values:

- TimeZoneStandardDay : 1 //Denotes first occurrence


- TimeZoneStandardDayOfWeek : 0 //Denotes first day of the
week (Sunday)
- TimeZoneStandardMonth : 11 //Denotes 11th month
(November)

This implies that the standard time takes effect on 1st Sunday
of November, which is effectively November 1, 2015.
ATTRIBUTE NAME DESCRIPTION

TimeZoneStandardDayOfWeek The day of the week (Sunday=0, Monday=1,…) in a month


when standard time takes effect for the user as per the local
time zone. The month value is taken from the
TimeZoneStandardMonth attribute, and used along with the
TimeZoneStandardDay attribute value to determine the
effective date. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

See the example in the TimeZoneStandardDay attribute.

TimeZoneStandardHour Hour when standard time takes effect for the user as per the
local time zone. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneStandardMinute Minute when standard time takes effect for the user as per
the local time zone. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneStandardMonth The month (January=1, February=2,…) when standard time


takes effect for the user as per the local time zone. Used along
with the TimeZoneStandardDay and
TimeZoneStandardDayOfWeek attributes to determine the
effective date. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

For example, for the US Eastern Standard Time (EST) time


zone, consider the following attribute values:

- TimeZoneDaylightDay : 1 //Denotes first occurrence


- TimeZoneDaylightDayOfWeek : 0 // Denotes first day of the
week (Sunday)
- TimeZoneDaylightMonth : 11 // Denotes 11th month
(November)

This implies that the standard time takes effect on 1st Sunday
of November, which is effectively November 1, 2015.

TimeZoneStandardSecond Second when standard time takes effect for the user as per
the local time zone. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

TimeZoneStandardYear Local time zone standard year for the user. Is set to 0 to
indicate every year. System calculated based on the time zone
specified for the user in the TimeZoneCode attribute.

See also
SystemUser Entity
Time Zone Entities
Behavior and format of the date and time attribute
User and Team Entities
Time zone entities
3/22/2019 • 2 minutes to read • Edit Online

The time zone entities can be used when you write code that works in multiple time zones. The following three
read-only entities in Common Data Service contain time zone information:
The time zone definition entity stores basic information about each supported time zone, including the time
zone code and the standard time zone name.
The time zone localized name entity stores the localized time zone names.
The time zone rule entity stores information about how times are calculated.
The following table lists the messages that are related to time zones, but don’t refer to a specific entity.

MESSAGE DESCRIPTION

GetTimeZoneCodeByLocalizedNameRequest Retrieves all the time zone definitions for the specified locale,
returning only the display name attribute.

LocalTimeFromUtcTimeRequest Retrieves the local time for the specified UTC time.

UtcTimeFromLocalTimeRequest Retrieves the UTC time for the specified local time.

See also
Business Management Entities
Sample: Retrieve Time Zone Information
timezonedefinition EntityType
timezonelocalizedname EntityType
timezonerule EntityType
Sample: Retrieve Time Zone Information
Transaction Currency (Currency) Entity
BusinessUnit entity
3/22/2019 • 2 minutes to read • Edit Online

An organization in Common Data Service, such as a holding company or a corporation, is made up of business
units. A business unit is a unit of the top-level organization. Business units can be parents of other business units
(child business units). The first business unit created for an organization is called the root business unit. Business
units can be deleted, however, the root business unit can’t be deleted.
A parent business unit is any business unit with one or more business units that report to it in the hierarchy.
A child business unit is a business unit that is immediately under another business unit in the business
hierarchy of an organization.
A business unit can own records as defined in the ownership type in the metadata definition for an entity.
Security roles are associated with a business unit. You can call the WhoAmIRequest message to find out the
business unit for the currently logged on or impersonated user.
See also
BusinessUnit Entity Reference Security entities
Field security entities
3/22/2019 • 3 minutes to read • Edit Online

You use field security entities to apply field-level security, which restricts field access to specified users and teams.
The scope of field-level security is global, which means that it applies to all records within the organization,
regardless of the business unit hierarchical level to which the record or the user belongs. Field security works in all
Common Data Service clients, including the Web client, Dynamics 365 for Outlook, and Dynamics. It applies to all
components, such as the Common Data Service web services, reports, search, offline, filtered views, auditing, and
duplicate detection. For this release, field security can be applied to both custom fields and many out-of-box (OOB )
fields.
For more information about how secured fields change the behavior of methods, see How Field Security Can Be
Used to Control Access to Field Values in Dynamics 365.

IMPORTANT
Field-level security profiles prevent unintended users from getting access to Common Data Service data based on the profile
definitions. If the SQL Server ACLs are misconfigured, or if there is a SQL injection issue, adversaries can get direct access to
data in SQL Server thereby bypassing field level security restrictions. For more information, see Overview of Web Application
Security Threats.

Set up and use field security


To use field security you must do the following:
1. Create a field security profile record
2. Add users or teams to the profile
3. Find an attribute that can be secured at the field level
4. Secure the attribute, either when you create the attribute or by updating the attribute metadata
5. Publish the attribute customizations
6. Create a field permission record that defines what access (create, update, read) the profile will have for the
custom attribute
For sample code about how to perform these steps, see Sample: Enable Field Security For An Entity.
Use the following field permission attributes to set whether the specified field security profile can create,
read, or update an attribute. You can set or compare the value for these attributes by using the
field_security_permission_type global option set:

FieldPermission . CanCreate
FieldPermission . CanRead
FieldPermission . CanUpdate
IMPORTANT
If low privilege users are given Read access to the field security profile entity, they can see what profiles other users have and
find other users with access to secured attributes they are interested in. They can then use social engineering techniques to
get assigned a profile with access to those secured attributes.

Which attributes can be secured?


To see which attributes can be secured, you can query the entity metadata for the following properties:
CanBeSecuredForCreate
CanBeSecuredForRead
CanBeSecuredForUpdate
There are a few additional rules that apply to certain attribute data types:
Boolean attributes can be secured for create and update operations but not for read.
Option set attributes can be secured for create, update, and read when a default value is unspecified.
There are thousands of attributes that can be secured, so there are two easier ways to look for this
information. To view the entity metadata for your organization, install the Metadata Browser solution
described in Browse the metadata for your organization. You can also browse the reference documentation
for entities in the Entity Reference.

Share secured fields


You can share secured fields much as you can share records. To do this, you create, update, or delete a
PrincipalObjectAttributeAccess (field sharing) record, where you specify the user or team, the entity, and the
permissions.
The following table lists the corresponding methods for securing a field compared to securing a record.

RECORD SHARING FIELD ACCESS SHARING

Use the GrantAccessRequest message to grant record access Use the CreateRequest message or the
for a user or team. IOrganizationService.Create method to grant secured field
access for a user or team.

Use the ModifyAccessRequest message to update record Use the UpdateRequest message or the
access for a user or team. IOrganizationService.Update method to update secured field
access for a user or team.

Use the RevokeAccessRequest message to remove record Use the DeleteRequest message or the
access for a user or team. IOrganizationService.Delete method to remove secured field
access for a user or team.

See also
The Security Model of Dynamics 365
Administration and security entities
FieldSecurityProfile Entity
FieldPermission Entity
PrincipalObjectAttributeAccess Entity
Sample: Retrieve Field Permissions
Sample: Enable Field Security For An Entity
Sample: Retrieve Field Sharing Records
Use access teams and owner teams to collaborate
and share information
3/22/2019 • 8 minutes to read • Edit Online

With owner teams or access teams, you can easily share business objects and collaborate with the users across
business units in Common Data Service. A team belongs to one business unit, but it can include users from other
business units. A user can be associated with more than one team.
An owner team owns records and has security roles assigned to the team. The team’s privileges are defined by
these security roles. In addition to privileges provided by the team, team members have the privileges defined by
their individual security roles and by the roles from other teams in which they are members. A team has full access
rights on the records that the team owns.

NOTE
While teams provide access to a group of users, you must still associate individual users with security roles that grant the
privileges they need to create, update, or delete user-owned records. These privileges cannot be applied by assigning
security roles to a team and then adding the user to that team.

An access team doesn’t own records and doesn’t have security roles assigned to the team. The team members
have privileges defined by their individual security roles and by roles from the teams in which they are members.
The records are shared with an access team and the team is granted access rights on the records, such as Read,
Write or Append.
The team functionality is supported by the Team entity and the TeamTemplate entity. The Team entity is used to
create owner teams and user-created access teams. For auto-created access teams, the Team entity and the
TeamTemplate entity are used.

Owner team or access team?


Choosing the type of the team may depend on the goals, nature of the project, and even the size of your
organization. There are a few guidelines that you can use when choosing the team type.
When to use owner teams
Owning records by entities other than users is required by your company’s business policies.
The number of teams is known at the design time of your Common Data Service system.
Daily reporting on progress by owning teams is required.
When to use access teams
The teams are dynamically formed and dissolved. This typically happens if the clear criteria for defining the
teams, such as established territory, product, or volume aren’t provided.
The number of teams isn’t known at the design time of your Common Data Service system.
The team members require different access rights on the records. You can share a record with several
access teams, each team providing different access rights on the record. For example, one team is granted
the Read access right on the account and another team, the Read, Write and Share access rights on the
same account.
A unique set of users requires access to a single record without having an ownership of the record.

NOTE
Another kind of “access team” is addressed by the access team templates that are used by the web application. This is the
type of team that changes often, such as a specific account record’s sales team. When a user is added to a sales team in an
account, the web application, behind the scenes, creates a team specific to this record and adds the user to it.
This type of access team isn’t covered in this topic.

Setting up teams
In addition to owner and access team types, the access teams are further subdivided into user-created and auto-
created (system-managed) teams. The setup information is specific to each team type.
Owner team
An owner team can own multiple records. To create an owner team, use the Team entity and set the
Team.TeamType attribute to Owner . For a list of the TeamType values, refer to the Team entity metadata.

NOTE
To view the entity metadata for your organization, install the Metadata Browser solution described in Browse the metadata
for your organization. You can also browse the reference documentation for entities in the Entity Reference.

To make a team an owner of the record, you have to assign a record to the team. To assign, use the AssignRequest
message. To assign records to an owner team in bulk, use the ReassignObjectsOwnerRequest message or the
ReassignObjectsSystemUserRequest message.
A record owned by the team must have the OwnershipType property set to OwnershipTypes. TeamOwned .
If an owner team doesn’t own records and doesn’t have security roles assigned to the team, it can be converted to
an access team, by using the ConvertOwnerTeamToAccessTeamRequest message. It is a one way conversion. You
can’t convert the access team back to the owner team. During conversion, all queues and mailboxes associated
with the team are deleted.
To add or remove team members, use the AddMembersTeamRequest message and the
RemoveMembersTeamRequest message.
User-created access team
You can share multiple records with a user-created access team. To create an access team, use the team entity and
set the Team.TeamType attribute to Access . For a list of the TeamType values, refer to the Team entity metadata.
You can find this information in the metadata for your organization. See the preceding metadata browser
information.
To share a record with the user-created access team, use the GrantAccessRequest message. For user-created
teams, the Team.SystemManaged attribute is false . For a list of the Team.SystemManaged values, refer to the Team
entity metadata. You can find this information in the metadata for your organization. See the preceding metadata
browser information.
To add or remove team members, use the AddMembersTeamRequest message and the
RemoveMembersTeamRequest message.
To provide the team members with different access rights on the records, create several teams and grant each
team a different set of access rights on the records.
Auto -created (system-managed) access team
An auto-created (system-managed) team is created for a specific record and can’t be shared with other records.
For system-managed teams, you have to provide a team template. To create a template, use the team template
entity. In the template, you have to specify the entity type and the access rights on the entity record, such as Read
or Write that are granted to the team users when the team is created. The entity that you specify in the template
must be enabled for auto created access teams. To provide the team members with different access rights on the
record, create several team templates. For example, for the account entity, provide one template with the Read
access right for team that only needs to view the record. Provide a second template with the Read, Write and
Share access rights, for team that require more access to the same record.
To enable an entity for the auto-created access teams, set the AutoCreateAccessTeams attribute to true .
A maximum number of team templates that you can create for an entity is specified in the
MaxAutoCreatedAccessTeamsPerEntity deployment setting. The default value is 2. A maximum number of entities
that you can enable for auto created access teams is specified in the
MaxEntitiesEnabledForAutoCreatedAccessTeams deployment setting. The default value is 5. More information:
Deployment Entities and Deployment Configuration Settings and Administer the deployment using Windows
PowerShell
The users are automatically added and removed in the system-managed team, when you add or remove the users
in a particular record by using the AddUserToRecordTeamRequest message and the
RemoveUserFromRecordTeamRequest message. The actual team is created when you add the first user to the
record and the team ID is returned in AccessTeamId. The Team.SystemManaged attribute for this team is set to true .
For a list of the Team.SystemManaged values, refer to the Team entity metadata. You can find this information in the
metadata for your organization. See the preceding metadata browser information. The caller of the message must
have the Share privilege on the entity and the access rights on the record that match the access rights provided in
the template. For example, if the template specifies the Read access rights, the calling user must have the Read
access rights on the record. To be added to the team, a minimum access level a user must have on the entity
specified in the template is Basic (User) Read.
Because of the parental relation between the team template and system-managed access teams, when you delete a
template, all teams associated with the template are deleted according to the cascading rules.
If you change access rights for the team template, the changes are only applied to the new auto-created access
teams. The existing teams aren’t affected.

Quick reference to teams


Use the following information as a quick reference to the available teams.

WHAT
MESSAGES
TO USE TO HOW MANY
ADD OR RECORDS HAS
WHAT REMOVE OWNS OR SECURITY
WHEN TO ENTITY TO USE TEAM TEAM OWNS HAS ACCESS ROLES
TEAM USE? USE? TEMPLATE? MEMBERS? RECORDS? TO? ASSIGNED?

Owner Record Team No AddMembe Yes Can own Yes


ownership rsTeamRequ multiple
by the team est records.
is required. RemoveMe
mbersTeam
The number Request.
of teams is
known at
the design
time.
WHAT
MESSAGES
TO USE TO HOW MANY
ADD OR RECORDS HAS
WHAT REMOVE OWNS OR SECURITY
WHEN TO ENTITY TO USE TEAM TEAM OWNS HAS ACCESS ROLES
TEAM USE? USE? TEMPLATE? MEMBERS? RECORDS? TO? ASSIGNED?

Access, Multiple Team No AddMembe No Can access No.


user- records rsTeamRequ multiple Provides
created have to be est records. access
shared with RemoveMe rights on
the team. mbersTeam the record.
Request
The number
of teams
isn’t known
at design
time.

Team
members
require
different
access
rights on
the records.

Access, Unique set TeamTemplate Yes AddUserTo No Can access No.


auto- of users RecordTeam only one Provides
created works on a Team Request record. access
(system- single RemoveUse rights on
managed) record. rFromRecor the record.
dTeamRequ
Team est
members
require
different
access
rights on
the records.

Creating
teams
automaticall
y per record
is desirable.

NOTE
Owner teams and access teams provide access rights to the record and related records, such as to an account and all
opportunities related to this account. In case of parental relationship between the records, cascading rules are applied. For
the owner teams, you can access entities based on the roles assigned to the user plus the roles assigned to the team that a
user is a member of. This allows a user to have privileges outside their business unit. More information: Entity Relationship
Behavior
NOTE
A user must have sufficient privileges to join an access team. For example, if the access team has the Delete access right on
an account, the user must have the Delete privilege on the Account entity to join the team. If you’re trying to add a user
with insufficient privileges, you’ll see this error message: “You can’t add the user to the access team because the user doesn’t
have sufficient privileges on the entity.”

See also
Sample: Share a record using an access team
Manage teams
Whitepaper: Access Teams with Microsoft Dynamics CRM 2013
Whitepaper: Scalable security modeling with Microsoft Dynamics CRM
User and Team Entities
Team Entity
TeamTemplate Entity
Administer the deployment using Windows PowerShell
Use record-based security to control access to records
How Role-Based Security Can Be Used to Control Access to Entities In Dynamics 365
Cascading Behavior
Upload and manage document templates
3/22/2019 • 2 minutes to read • Edit Online

In Common Data Service, the template entities help you create consistent layout and content in email messages,
articles, mail merge documents, and Microsoft Office documents (Excel and Word).
These are the types of template entites:
DocumentTemplate
KbArticleTemplate
MailMergeTemplate
PersonalDocumentTemplate
Template
Work with metadata using code
3/22/2019 • 2 minutes to read • Edit Online

Both the Web API and the Organization service include capabilities to perform CRUD operations on the entity
schema. While you can perform these operations using code, generally you will use designers to add, update, or
delete custom schema elements. Users must have administrator privileges to apply schema changes, but all users
can read metadata.

Why work with metadata?


A more common use for the metadata services is to retrieve metadata about the environment that your extension
is running within. Because every environment can be different and schema metadata contains much of the
information about how the environment is configured, you may need to retrieve this information to allow for your
extensions to adapt to other customizations that are in effect in that environment.
Some examples:
The number of options available in an optionset attribute can change. Rather than hard-code the values in your
environment, consider whether different options are present. You can query the system to determine whether
the current environment has different options.
The display name for an entity can be changed. The default display name for the account entity is Account. This
could be changed to Company. If you want to display a message to a user and refer to the name of an entity,
you should not hard-code this but instead use the value that matches what the user is accustomed to seeing
and use the display name retrieved from the entity metadata instead.

Browse the metadata for your organization


Developing a good working understanding of the metadata in the system can help you understand how Common
Data Service platform works. The designers available to edit metadata cannot show all the details found in the
metadata. You can install a model-driven app called the Metadata Browser which will allow you to view all the
hidden entities and metadata properties that are found in the system. More information about the Metadata
Browser: Browse the metadata for your organization

Programmatically work with metadata


For more information about programmatically working with metadata using:
Web API: Use Web API with Common Data Service metadata
Organization service: Use Organization service with Common Data Service metadata
Browse the metadata for your environment
3/22/2019 • 3 minutes to read • Edit Online

You can use the Entity Metadata Browser to view entities and their properties in Common Data Service. The
Entity Metadata Browser is a managed solution you can download using the links below.

VERSION DOWNLOAD

Common Data Service Microsoft Downloads:


MetadataBrowser_3_0_0_5_managed.zip

After you download the solution, you must install it. For information about how to install a managed solution, see
Import, update, and export solutions

Open as an app
Common Data Service is configured as an app. After you install the Entity Metadata Browser solution, locate
the Metadata Tools app and open it. Entities is the default view. From the Tools navigation area you can select
Entity Metadata to inspect individual entities.

Open from the solution configuration page


For earlier versions you must use the following steps, but these also work for the latest verison.
After you install the Entity Metadata Browser solution, open the managed solution by double-clicking the row
in the solutions list and view the Configuration page to view information about the Entity Metadata Browser and
buttons to launch two different views.
Metadata Browser is equivalent to the Entities view in the app.
Entity Metadata Browser is equivalent to the Entity Metadata view in the app.

Entities view
You can perform the following actions:
View Entity Details: Select an entity to view using the Entity Metadata view.
Edit Entity: Open the selected entity form in the default organization, if the entity supports this.
Text Search: Perform a text search to filter displayed entities using the following entity properties:
SchemaName, LogicalName, DisplayName, ObjectTypeCode, or MetadataId.
Filter Entities: Set simple criteria to view a sub-set of entities. All criteria are evaluated using AND logic.
Filter Properties: Filter the properties displayed for any selected entity. There are nearly 100 properties in the
list. Use this to select just the ones you are interested in.

Entity Metadata view


You can perform the following actions for a single entity:
Entity: Change the entity that you want to view.
Properties: View all the properties for the entity and filter the properties displayed.
Edit Entity: Open the selected entity edit form in the default organization, if the entity supports this.
Filter Properties: Filter the properties displayed for any selected entity. There are nearly 100 properties
in the list. Use this to select just the ones you are interested in.
Attributes: View the entity attributes in a master/detail view. With this view you can:
Edit Attribute: Open the selected attribute form in the default organization, if the attribute supports
this.
Text Search: Perform a text search to filter displayed attributes using the following attribute properties:
SchemaName, LogicalName, DisplayName, or MetadataId.
Filter Attributes: Filter attributes by any attribute property values.
Filter Properties: Filter the properties displayed for the selected attribute.
Keys: If alternate keys are enabled for an entity you can examine how they are configured.
Relationships: View the three types of entity relationships: One-To-Many, Many-To-One, and Many-To-
Many. With these views you can:
Edit Relationship: Open the selected relationship form in the default organization, if the relationship
supports this.
Text Search: Perform a text search to filter displayed relationships using values relevant to the type of
relationship.
Filter Properties: Filter the relationship by any relationship property value.
Privileges: View entity privileges. With this view you can:
Filter the displayed privilege using the PrivilegeId .

NOTE
When viewing the entity detail properties, you’ll see that many complex properties are expandable. The most useful value is
displayed with a link that allows toggling to a more detailed view. The detailed view reflects the structure of the data if you
were to retrieve it programmatically. The detailed view also reveals other relevant data that can be retrieved in the same
area, for example, if any localized labels are present for Display Name properties.

TIP
To copy text from the page, simply select the text and use the Ctrl+C keyboard shortcut or the context menu Copy
command.

Community tools
Metadata Browser is a tool that XrmToolbox community developed for Common Data Service. Please see the
Developer tools topic for community developed tools.

NOTE
The community tools are not a product of Common Data Service and does not extend support to the community tools. If
you have questions pertaining to the tool, please contact the publisher. More Information: XrmToolBox.

See also
Developer Tools for Common Data Service
Customize Entity Metadata
Entity metadata
3/22/2019 • 8 minutes to read • Edit Online

Each entity provides the capability to store structured data. For developers, entities correspond to the classes you
will use when working with data in Common Data Service.

Entity names
Each entity has a unique name defined when it is created. This name is presented in several ways:

NAME PROPERTY DESCRIPTION

SchemaName Typically, a Pascal cased version of the logical name. i.e.


Account

CollectionSchemaName A plural form of the Schema name. i.e. Accounts

LogicalName All lower-case version of the schema name. i.e. account

LogicalCollectionName All lower-case version of the collection schema name. i.e.


accounts

EntitySetName Used to identify collections with the Web API. By default, it is


the same as the logical collection name.
It is possible to change the Entity Set name by
programmatically updating the metadata. But this should only
be done before any Web API code is written for the entity.
More information: Web API types and operations > Change
the name of an entity set

NOTE
When you create a custom entity, the name you choose will be prepended with the customization prefix value of the solution
publisher associated with the solution that the entity was created within. Other than the entity set name, you cannot change
the names of an entity after it is created. If you want consistent names for metadata items in your solution, you should
create them in the context of a solution you create associated with a solution publisher that contains the customization prefix
you want to use. More information : Create a solution publisher and solution

Each entity also has three properties that can display localized values:

NAME DESCRIPTION

DisplayName Typically, the same as the schema name, but can include
spaces. i.e. Account

DisplayCollectionName A plural form of the Display name. i.e. Accounts

Description A short sentence describing the entity i.e. Business that


represents a customer or potential customer. The company
that is billed in business transactions.
These are the localizable values that are used to refer to the entities in an app. These values can be changed at any
time. To add or edit localized values see Common Data Service Customization Guide: Translate customized entity
and field text into other languages.

Primary key
The PrimaryIdAttribute property value is the logical name of the attribute that is the primary key for the entity.
By default, all entities have a single GUID unique identifier attribute. This is usually named < entity logical name
>+ Id .

Primary name
The PrimaryNameAttribute property value is the logical name of the attribute that stores the string value that
identifies the entity record. This is the value that will be displayed in a link to open the record in a UI.
Example: The Contact entity uses the fullname attribute as the primary name attribute.

NOTE
Not every entity will have a primary name. Some entities are not intended to be displayed in a UI.

Entity images
The PrimaryImageAttribute property value is the logical name of the attribute that stores the image data for the
entity record. Each entity can have only one image attribute and the logical name of that attribute is always
entityimage .

Example: The Contact Entity EntityImage attribute can store a picture of the contact.
For performance reasons, entity images are not included in retrieve operations unless explicitly requested.
Each entity that supports entity images will have three supporting attributes.

SCHEMANAME TYPE DESCRIPTION

EntityImage_Timestamp BigIntType The value represents when the image


was last updated and is used to help
make sure that the latest version of the
image is downloaded and cached on the
client.

EntityImage_URL StringType An absolute URL to display the entity


image in a client.

EntityImageId UniqueIdentifierType The unique identifier of the image

More information:
Common Data Service Developer Guide Image attributes
Common Data Service Developer Guide Sample: Set and retrieve entity images
NOTE
This is different from the icon displayed for an entity in model-driven apps. The IconVectorName property contains the
name of the SVG web resource that sets this.

Types of entities
The capabilities and behavior of entities depends on several entity properties. Most of these properties are
relatively simple and have descriptive names. Four that require some additional explanation are: Ownership,
Activity entities, Activityparty entity and Child entities.
Entity ownership
Entities can be categorized by how the data within them is owned. This is an important concept related to how
security is applied to entities. This information is in the OwnershipType property. The following table describes the
different ownership types:

OWNERSHIP TYPE DESCRIPTION

Business Data belongs to the Business unit. Access to the data can be
controlled at the business unit level.

None Data not owned by another entity.

Organization Data belongs to the organization. Access to the data is


controlled at the organization level.

User or Team Data belongs to a user or a team. Actions that can be


performed on these records can be controlled on a user level.

When you create new entities, the only ownership options are: Organization or User or Team. Once you make a
choice for this option, you cannot change it. Choose User or Team for the most granular control over who can
view or perform actions on the records. Choose Organization when this level of control is not necessary.
Activity entities
An activity is a task performed, or to be performed, by a user. An activity is any action for which an entry can be
made on a calendar.
Activities are modeled differently from other kinds of entities that store business data. Data about activities is
frequently displayed together in a list, yet each kind of activity requires unique properties. Rather than have a
single Activity entity with every possible property, there are separate kinds of activity entities and each of them
inherits properties from a base ActivityPointer Entity. These entities will have the IsActivity property set to true.

ENTITY DESCRIPTION

Appointment Commitment representing a time interval with start/end times


and duration.

Email Activity that is delivered using email protocols.

Fax Activity that tracks call outcome and number of pages for a
fax and optionally stores an electronic copy of the document.
ENTITY DESCRIPTION

Letter Activity that tracks the delivery of a letter. The activity can
contain the electronic copy of the letter.

PhoneCall Activity to track a telephone call.

RecurringAppointmentMaster The Master appointment of a recurring appointment series.

SocialActivity For internal use only.

Task Generic activity representing work needed to be done.

Whenever anyone creates one of these kinds of activity entity records, a corresponding ActivityPointer entity
record will be created with the same ActivityId unique identifier attribute value. You cannot create, update, or
delete instances of the ActivityPointer entity, but you can retrieve them. This is what allows all types of activities
to be presented together in a list.
You can create custom activity entities that behave the same way.
ActivityParty entity
This entity is used to add structure to activity entity PartyListType attributes that include references to other
entities. You will use this entity when setting values for activity entity attributes like Email.to or PhoneCall.from .
Within the ActivityParty entity, you set the ParticipationTypeMask attribute to define the role that the reference is
playing. Roles include Sender , ToRecipient , Organizer and more.
You can query the ActivityParty entity, but you cannot create, retrieve, update, or delete an activity party outside
of the activity that it is related to. More information:
ActivityParty entity.
Child entities
Entities where the IsChildEntity property is true will never have any privileges defined and will never be User or
Team owned. Operations that can be performed on a child entity are bound to an entity that they are associated to
via a Many-to-one relationship. Users can only perform operations on child entities if they can perform the same
operation on the related entity. Child entities get deleted automatically when the entity record they depend on is
deleted.
For example, PostComment , PostLike , and PostRole are each children of the Post entity.

Entity keys
Each alternate key definition describes one or more attributes in combination that will uniquely identify an entity
instance. Alternate keys are typically only applied for integration with external systems. You can define alternate
keys to uniquely identify a record. This is valuable if you are integrating data with a system that doesn’t support
GUID unique identifier keys. You can define a single field value or combination of field values to uniquely identify
an entity. Adding an alternate key will enforce a uniqueness constraint on these attributes. You will not be able to
create or update another entity record to have the same values.
More information:
Common Data Service Customization Guide: Define alternate keys to reference Common Data Service records
Define alternate keys for an entity and Developer Guide: Synchronize Common Data Service data with external
systems
Entity states
Most entities have two properties to track the state of a record. These are StateCode , which is called Status in
model-driven apps and StatusCode , which is called Status Reason in model-driven apps.
Both attributes contain a set of options that display the valid values. The StateCode and StatusCode attribute
values are linked so that only certain StatusCode options are valid for a given StateCode .
This can vary by entity but the common pattern for many entities, and the default for custom entities is this:

STATECODE OPTIONS STATUSCODE OPTIONS

0 : Active 1 : Active

1: Inactive 2: Inactive

Some entities will have different sets of options.


Example: PhoneCall entity StateCode and StatusCode options

STATECODE STATUSCODE

0 : Open 1: Open

1 : Completed 2: Made
4: Received

2: Cancelled 3: Cancelled

The set of valid state codes for an entity is not customizable, but the status codes are customizable. You can add
additional StatusCode options for a corresponding StateCode .
For custom entities, you can define additional criteria for valid transitions between statuses. More information:
Customize entity attribute metadata
Define custom state model transitions.
See also
Common Data Service entities
Customize entity metadata
3/22/2019 • 8 minutes to read • Edit Online

Entities are defined by metadata. By defining or changing the entity metadata, you can control the capabilities of
an entity. To view the metadata for your organization, use the metadata browser. Download the metadata browser.
More information: Browse the Metadata for Your Organization
This topic is about how to work with entities programmatically. See Create or edit entities (record types) for
information about working with entities in the application.
Entities can be created using either the Organization service or the Web API. The following information can be
applied to both.
With the Organization service you will use the EntityMetadata class. More information: Create a custom entity
and Retrieve, update, and delete entities
With the Web API you will use the EntityMetadata EntityType. More information : Create and update entity
definitions using the Web API.

Entity metadata operations


How you work with entity metadata depends on which service you use.
Since the Web API is a RESTful endpoint, it uses a different way to create, retrieve, update, and delete metadata.
Use POST , GET , PUT , and DELETE HTTP verbs to work with metadata entitytypes. More information : Create and
update entity definitions using the Web API.
One exception to this is the RetrieveMetadataChanges Function provides a way to compose a metadata query and
track changes over time.
If working with Organization Service, use RetrieveMetadataChangesRequest class. This class contains the data
that is needed to retrieve a collection of metadata records that satisfy the specified criteria. The
RetrieveMetadataChangesResponse returns a timestamp value that can be used with this request at a later time to
return information about how metadata has changed since the last request.

MESSAGE WEB API SDK ASSEMBLY

CreateEntity Use a POST request to send data to CreateEntityRequest


create an entity.

DeleteEntity Use a DELETE request to delete an DeleteEntityRequest


entity.

RetrieveAllEntities Use GET request to retrieve entity data. RetrieveAllEntitiesRequest

RetrieveEntity RetrieveEntity Function RetrieveEntityRequest

UpdateEntity Use a PUT request to update an entity. UpdateEntityRequest


MESSAGE WEB API SDK ASSEMBLY

RetrieveMetadataChanges RetrieveMetadataChanges Function RetrieveMetadataChangesRequest


Used together with objects in the
Microsoft.Xrm.Sdk.Metadata.Query
namespace to create a query to
efficiently retrieve and detect changes
to specific metadata. More information:
Retrieve and Detect Changes to
Metadata.

Options available when you create a custom entity


The following table lists the options that are available when you create a custom entity. You can only set these
properties when you create a custom entity.

OPTION DESCRIPTION

Create as custom activity You can create an entity that is an activity by setting the
IsActivity property when using the organization service
or Web API respectively. For more information, see Custom
Activities in Dynamics 365.

Entity Names There are two types of names, and both must have a
customization prefix:

LogicalName : Name that is the version of the entity name


that is set in all lowercase letters.

SchemaName : Name that will be used to create the database


tables for the entity. This name can be mixed case. The casing
that you use sets the name of the object generated for
programming with strong types or when you use the REST
endpoint.

Note: If the logical name differs from the schema name, the
schema name will override the value that you set for the
logical name.

When an entity is created in the application in the context of a


specific solution, the customization prefix used is the one set
for the Publisher of the solution. When an entity is created
programmatically, you can set the customization prefix to a
string that is between two and eight characters in length, all
alphanumeric characters and it must start with a letter. It
cannot start with “mscrm”. The best practice is to use the
customization prefix defined by the publisher that the solution
is associated with, but this is not a requirement. An
underscore character must be included between the
customization prefix and the logical or schema name.

Ownership Use the OwnershipType property to set this. Use the


OwnershipTypes enumeration or OwnershipTypes EnumType
to set the type of entity ownership. The only valid values for
custom entities are OrgOwned or UserOwned . For more
information, see Entity Ownership.
OPTION DESCRIPTION

Primary Attribute With the Organization service, use


CreateEntityRequest.PrimaryAttribute property to set this.

With the Web API the JSON defining the entity must include
one StringAttributeMetadata with the IsPrimaryName
property set to true.

In both cases string attribute must be formatted as Text .


The value of this attribute is what is shown in a lookup for any
related entities. Therefore, the value of the field should
represent a name for the entity record.

Enable entity capabilities


The following table lists entity capabilities. You can set these capabilities when you create an entity or you can
enable them later. Once enabled, these capabilities cannot be disabled.

CAPABILITY DESCRIPTION

Business Process flows Set IsBusinessProcessEnabled to true in order to enable


the entity for business process flows.

Notes To create an entity relationship with the Annotation entity


and enable the inclusion of a Notes area in the entity form.
By including Notes, you can also add attachments to records.

With the Organization service, use the CreateEntityRequest or


UpdateEntityRequest HasNotes property

With the Web API set the EntityMetadata. HasNotes


property.

Activities To create an entity relationship with the ActivityPointer


entity so that all the activity type entities can be associated
with this entity.

With the Organization service use the CreateEntityRequest or


UpdateEntityRequest HasActivities property.

With the Web API, set the EntityMetadata. HasActivities


property.

Connections To enable creating connection records to associate this entity


with other connection entities set the
IsConnectionsEnabled.Value property value to true.

Queues Use the IsValidForQueue property to add support for


queues. When you enable this option, you can also set the
AutoRouteToOwnerQueue property to automatically move
records to the owner’s default queue when a record of this
type is created or assigned.

E-mail Set the IsActivityParty property so that you can send e-


mail to an e-mail address in this type of record.
Editable entity properties
The following table lists entity properties that you can edit. Unless a managed property disallows these options,
you can update them at any time.

PROPERTY DESCRIPTION

Allow Quick Create Use IsQuickCreateEnabled to enable quick create forms for
the entity. Before you can use quick create forms you must
first create and publish a quick create form.
Note:
Activity entities do not support quick create forms.

Access Teams Use AutoCreateAccessTeams to enable the entity for access


teams. See About team templates for more information.

Primary Image If an entity has an image attribute you can enable or disable
displaying that image in the application using
PrimaryImageAttribute . For more information see Entity
Images.

Change display text The managed property IsRenameable prevents the display
name from being changed in the application. You can still
programmatically change the labels by updating the
DisplayName and DisplayCollectionName properties.

Edit the entity Description The managed property IsRenameable prevents the entity
description from being changed in the application. You can
still programmatically change the labels by updating the
Description property.

Enable for use while offline Use IsAvailableOffline to enable or disable the ability of
Dynamics 365 for Microsoft Office Outlook with Offline
Access users to take data for this entity offline.

Enable the Outlook Reading Pane Note:

The IsReadingPaneEnabled property is for internal use only.

To enable or disable the ability of Office Outlook users to view


data for this entity, use the Outlook reading pane. You must
set this property in the application.

Enable Mail Merge Use IsMailMergeEnabled to enable or disable the ability to


generate Office Word merged documents that use data from
this entity.

Enable Duplicate Detection Use IsDuplicateDetectionEnabled to enable or disable


duplicate detection for the entity. For more information, see
Detect Duplicate Data in Dynamics 365.

Enable SharePoint Integration Use IsDocumentManagementEnabled to enable or disable


SharePoint server integration for the entity. For more
information, see Enable Document Management for Entities.

Enable Dynamics 365 for phones Use IsVisibleInMobile to enable or disable the ability of
Dynamics 365 for phones users to see data for this entity.
PROPERTY DESCRIPTION

Dynamics 365 for tablets Use IsVisibleInMobileClient to enable or disable the


ability of Dynamics 365 for tablets users to see data for this
entity.

If the entity is available for Dynamics 365 for tablets you can
use IsReadOnlyInMobileClient to specify that the data for
the record is read-only.

Enable Auditing Use IsAuditEnabled to enable or disable auditing for the


entity. For more information, see Configure Entities and
Attributes for Auditing.

Change areas that display the entity You can control where entity grids appear in the application
Navigation Pane. This is controlled by the SiteMap.

Add or Remove Attributes As long as the managed property


CanCreateAttributes.Value allows for creating attributes,
you can add attributes to the entity. For more information,
see Customize Entity Attribute Metadata.

Add or Remove Views As long as the managed property CanCreateViews.Value


allows for creating views, you can use the SavedQuery entity
to create views for an entity.

Add or Remove Charts As long as the managed property CanCreateCharts.Value


allows for creating charts and the IsEnabledForCharts
entity property is true, you can use the
SavedQueryVisualization Entity to create charts for an entity.
For more information, see View Data with Visualizations
(Charts).

Add or Remove Entity Relationships There are several managed properties that control the types
of entity relationships that you can create for an entity. For
more information, see Customize Entity Relationship
Metadata.

Change Icons You can change the icons used for custom entities. For more
information, see Modify Entity Icons.

Can Change Hierarchical Relationship CanChangeHierarchicalRelationship.Value controls


whether the hierarchical state of entity relationships included
in your managed solutions can be changed. More
information:

Messages supported by custom entities


Custom entities support the same base messages as system entities. The set of messages available depends on
whether the custom entity is user-owned or organization owned. For more information, see Actions on Entity
Records.
See also
Use the Web API with metadata
Work with metadata using the Organization service
Work with alternate keys
6/18/2019 • 3 minutes to read • Edit Online

All Common Data Service records have unique identifiers defined as GUIDs. These are the primary key for each
entity. When you need to integrate with an external data store, you might be able to add a column to the external
database tables to contain a reference to the unique identifier in Common Data Service. This allows you to have a
local reference to link to the Common Data Service record. However, sometimes you can’t modify the external
database. With alternate keys you can now define an attribute in a Common Data Service entity to correspond to
a unique identifier (or unique combination of columns) used by the external data store. This alternate key can be
used to uniquely identify a record in Common Data Service in place of the primary key. You must be able to
define which attributes represent a unique identity for your records. Once you identify the attributes that are
unique to the entity, you can declare them as alternate keys through the customization user interface (UI) or in the
code. This topic provides information about defining alternate keys in the data model.

Create alternate keys


You can create alternate keys programmatically or by using the customizations tools. For more information about
using the customization tools, see Define alternate keys to reference CRM records.
To define alternate keys programmatically, you first have to create an object of type EntityKeyMetadata (or use
EntityKeyMetadata EntityType if working with Web API). This class contains the key attributes. Once the key
attributes are set, you can use CreateEntityKey to create the keys for an entity. This message takes the entity
name and EntityKeyMetadata values as input to create the key.
You should be aware of the following constraints when creating alternate keys:
Valid attributes in key definitions
Only attributes of the following types can be included in alternate key definitions:

ATTRIBUTE TYPE DISPLAY NAME

DecimalAttributeMetadata Decimal Number

IntegerAttributeMetadata Whole Number

StringAttributeMetadata Single line of text

DateTimeAttributeMetadata Date Time

LookupAttributeMetadata Lookup

PicklistAttributeMetadata Option Set

Valid key size


When a key is created, the system validates that the key can be supported by the platform, including that
the total key size does not violate SQL -based index constraints like 900 bytes per key and 16 columns per
key. If the key size doesn’t meet the constraints, an error message will be displayed.
Maximum number of alternate key definitions for an entity
There can be a maximum of 5 alternate key definitions for an entity in a Common Data Service instance.
Unicode characters in key value
If the data within a field that is used in an alternate key will contain one of the following characters < , > ,
* , % , & , : , \\ then get or patch actions will not work. If you only need uniqueness then this approach
will work, but if you need to use these keys as part of data integration then it is best to create the key on
fields that won't have data with those characters.

Retrieve and delete alternate keys


If you need to retrieve or delete alternate keys, you can use the customization UI to do this, without writing any
code. However, the SDK provides the following two messages to programmatically retrieve and delete alternate
keys.

MESSAGE REQUEST CLASS DESCRIPTION

RetrieveEntityKeyRequest Retrieves the specified alternate key.

DeleteEntityKeyRequest Deletes the specified alternate key.

To retrieve all the keys for an entity, use the new Keys property of EntityMetadata (EntityMetadata EntityType or
EntityMetadata class). It gets an array of keys for an entity.

Monitor index creation for alternate keys


Alternate keys use database indexes to enforce uniqueness and optimize lookup performance. If there are lots of
existing records in a table, index creation can be a lengthy process. You can increase the responsiveness of the
customization UI and solution import by doing the index creation as a background process. The
EntityKeyMetadata.AsyncJob property ( EntityKeyMetadata EntityType or EntityKeyMetadata) refers to the
asynchronous job that is doing the index creation. The EntityKeyMetadata.EntityKeyIndexStatus property specifies
the status of the key as its index creation job progresses. The status could be any of the following:
Pending
In Progress
Active
Failed
When an alternate key is created using the API, if the index creation fails, you can drill into details about the cause
of the failure, correct the problems, and reactivate the key request using the ReactivateEntityKey
(ReactivateEntityKey Action or ReactivateEntityKeyRequest message).
If the alternate key is deleted while an index creation job is still pending or in progress, the job is cancelled and
the index is deleted.
See also
Using alternate keys
Use change tracking to synchronize data with external systems
Use Upsert to insert or update a record Define alternate keys to reference records
Attribute metadata
6/21/2019 • 10 minutes to read • Edit Online

Entities include a collection of attributes that represent the data that can be included within each record. Developers need to understand the
different types of attributes and how to work with them.
More information: Introduction to entity attributes

Attribute names
Like entities, each attribute has a unique name defined when it is created. This name is presented in several ways:

NAME DESCRIPTION

SchemaName Typically, a Pascal cased version of the logical name. i.e. AccountNumber

LogicalName All lower-case name. i.e. accountnumber

When you create a custom attribute, the name you choose will be prepended with the customization prefix value of the solution publisher
associated with the solution that the attribute was created within.
You cannot change the names of an attribute after it is created.
Each attribute also has two properties that can display localized values. These are the values that are used to refer to the attributes in an app.

NAME DESCRIPTION

DisplayName Typically, the same as the schema name, but can include spaces. i.e. Account
Number

Description A short sentence describing the attribute or providing guidance to the user. i.e.
Type an ID number or code for the account to quickly search and identify the
account in system views.
In model-driven apps, this information will appear when users hover over the
field for this attribute in a form.

These are the localizable values that are used to refer to the attributes in an app. These values can be changed at any time. To add or edit localized
values see Common Data Service Customization Guide: Translate customized entity and field text into other languages.

Attribute types
The AttributeTypeName property describes the type of an attribute. This property contains a value of type AttributeTypeDisplayName which
provides a label for each the different types of attributes that exist.

NOTE
Don't be confused by the AttributeType property. The values in this older property are mostly aligned with AttributeTypeName except that it shows
ImageType attributes as Virtual . You should refer to the AttributeTypeName property rather than the AttributeType property.

In the following table:


These types are grouped by category for comparison.
For each AttributeTypeDisplayName value, the corresponding .NET assembly AttributeMetadata derived class is included where available. There
is not a 1:1 relationship between these types and the AttributeTypeDisplayName label.
Those attribute types that can be created as custom attributes include the corresponding label displayed in the UI.

ATTRIBUTETYPEDISPLAYNAME/ CAN CREATE/


CATEGORY ATTRIBUTEMETADATA TYPE LABEL DESCRIPTION

Categorization BooleanType Yes Contains the selected option value


BooleanAttributeMetadata Two Options from two options that usually indicate
a true or false value.
More information: Option Sets
ATTRIBUTETYPEDISPLAYNAME/ CAN CREATE/
CATEGORY ATTRIBUTEMETADATA TYPE LABEL DESCRIPTION

Categorization EntityNameType No Contains an option value that


EntityNameAttributeMetadata corresponds to an entity in the
system. For internal use only.

Categorization MultiSelectPicklistType Yes Contains multiple selected option


MultiSelectPicklistAttributeMetadata MultiSelect Option Set values where multiple options can be
selected.
More information:
Option Sets
Multi-Select Picklist attributes

Categorization PicklistType Yes Contains the selected option value


PicklistAttributeMetadata Option Set where one option can be selected.
More information: Option Sets

Categorization StateType No Contains the option value that


StateAttributeMetadata describes the status of an entity
record.
More information: Option Sets

Categorization StatusType No Contains the option value that


StatusAttributeMetadata describes the reason for the status of
an entity record.
More information: Option Sets

Collection CalendarRulesType No Contains a collection of


CalendarRules entity records.
There are no attributes that use this
type. When generating a proxy, the
code generation tool will create two
simulated attributes that are not
present in the metadata. These
attributes represent a view of the
calendar rules records associated in a
one-to-many relationship to the
entity record.

Collection PartyListType No Contains a collection of


ActivityParty entity records.
More information: ActivityParty entity

Date and Time DateTimeType Yes Contains a date and time value.
DateTimeAttributeMetadata Date and Time All date and time attributes support
values as early as 1/1/1753 12:00
AM.

Image ImageType Yes Contains data to support retrieving


ImageAttributeMetadata Image image data for an entity record.
More information: Entity Images

Managed Property ManagedPropertyType No Contains data that describe whether


ManagedPropertyAttributeMetadata the solution component stored in the
entity record can be customized when
included in a managed solution.
More information: Managed
Properties

Quantity BigIntType No Contains a BigInt value. For


BigIntAttributeMetadata internal use only.

Quantity DecimalType Yes Contains a Decimal value. The


DecimalAttributeMetadata Decimal Number Precision property sets the level of
precision.

Quantity DoubleType Yes Contains a Double value. The


DoubleAttributeMetadata Floating Point Number Precision property sets the level of
precision.

Quantity IntegerType Yes Contains an Int value


IntegerAttributeMetadata Whole Number
ATTRIBUTETYPEDISPLAYNAME/ CAN CREATE/
CATEGORY ATTRIBUTEMETADATA TYPE LABEL DESCRIPTION

Quantity MoneyType Yes Contains a Decimalvalue. The


MoneyAttributeMetadata Currency PrecisionSource property
determines where the level of
precision is set.
0 : The Precision property
1 : The
Organization.PricingDecimalPrecision
attribute
2 : The
TransactionCurrency.CurrencyPrecision
attribute in the entity record

Reference CustomerType Yes Contains a reference to either an


LookupAttributeMetadata Customer account or contact entity record.

Reference LookupType Yes Contains a reference to an entity


LookupAttributeMetadata Lookup record. The logical names of the valid
records are usually stored in the
Targets property of the attribute.

Reference OwnerType No Contains a reference to either a user


LookupAttributeMetadata or team entity record.

String MemoType Yes Contains a string value intended to


MemoAttributeMetadata Multiple Lines of Text be displayed in a multi-line textbox.

String StringType Yes Contains a string value intended to


StringAttributeMetadata Single Line of Text be displayed in a single-line textbox.

Unique identifier UniqueidentifierType No Contains a GUID unique identifier


UniqueIdentifierAttributeMetadata value.

Virtual VirtualType No These attributes cannot be used in


code and can generally be ignored.

Supported operations and form usage for attributes


Each attribute includes boolean properties that describe the kinds of operations it can participate in and how it can be in a form.

PROPERTY DESCRIPTION

IsRequiredForForm Whether the attribute must be included as a field in a form.

IsValidForCreate Whether the attribute value can be set in a create operation.

IsValidForForm Whether the attribute can be included as a field in a form.

IsValidForRead Whether the attribute value can be retrieved.

IsValidForUpdate Whether the attribute value can be set in an update operation.

If you try to set a value in a create or update operation for an attribute that is not valid for that operation, the value will be ignored. If you try to
retrieve an attribute that is not valid for read, a null value will be returned.

Attribute requirement level


The RequiredLevel property is a Boolean managed property that describes if an attribute value is required.
This property can have the following values set:

NAME VALUE UI LABEL DESCRIPTION

None 0 Optional No requirements are specified.

SystemRequired 1 System Required The attribute is required to have a


value.
NAME VALUE UI LABEL DESCRIPTION

ApplicationRequired 2 Business Required The attribute is required by the


business to have a value.

Recommended 3 Business Recommended It is recommended that the attribute


has a value.

Common Data Service only enforces the SystemRequired option for attributes created by the system. Custom attributes cannot be set to use the
SystemRequired option.

Model-driven apps will enforce the ApplicationRequired option and use a different presentation for the Recommended option. Creators of custom
clients may use this information to require similar validation or presentation options.
Because this is a managed property, as a publisher of a managed solution you can decide whether consumers of your solution are able to change
these settings on attributes in your solution.
More information: Managed Properties

Rollup and calculated attributes


Calculated and rollup attributes free the user from having to manually perform calculations and focus on their work. System administrators can
define a field to contain the value of many common calculations without having to work with a developer. Developers can also leverage the
platform capabilities to perform these calculations rather than within their own code.
More information:
Common Data Service Customization Guide: Define rollup fields that aggregate values
Common Data Service Customization Guide: Calculated and rollup attributes
Calculated and rollup attributes

Attribute format
The format values for attributes controls how it is displayed in model-driven apps. Developer of custom apps may use this information to create
similar experiences.
Integer formats
Use the Format property with integer attributes to display alternate user experiences for this type.

OPTION DESCRIPTION

None Displays a text box to edit a number value

Duration Displays a drop-down list that contains time intervals. A user can select a value
from the list or type an integer value that represents the number of minutes.

TimeZone Displays a drop-down list that contains a list of time zones.

Language Displays a drop-down list that contains a list of languages that have been
enabled for the organization. If no other languages have been enabled, the base
language will be the only option. The value saved is the LCID value for the
language.

String formats
Use the FormatName property with string attributes to set values from the StringFormatName Class to control how the string attribute is formatted.

NAME DESCRIPTION

Email The form field will validate the text value as an e-mail address and create a
mailto link in the field.

PhoneNumber The form field will contain a link to initiate a phone call by using Skype.

PhoneticGuide For internal use only.

Text The form will display a text box.

TextArea The form will display a text area field.


NAME DESCRIPTION

TickerSymbol The form will display a link that will open to display a quote for the stock ticker
symbol.

URL The form will display a link to open the URL.

VersionNumber For internal use only.

Date and time formats


The DateTimeBehavior property to controls the behavior for Date and Time attributes. There are three options:

OPTION SHORT DESCRIPTION

UserLocal Stores the date and time value as UTC value in the system.

DateOnly Stores the actual date value with the time value as 12:00 AM (00:00:00) in the
system.

TimeZoneIndependent Stores the actual date and time values in the system regardless of the user time
zone.

Use the Format property control how the value is to be displayed in a model-driven app regardless of the DateTimeBehavior .

OPTION DESCRIPTION

DateAndTime Display the full date and time

DateOnly Display just the date.

More information: Behavior and format of the date and time attribute

Auto-number attributes
You can add an auto-number attribute for any entity. Currently, you can add the attribute programmatically. There is no user interface to add this
type of attribute. More information: Create auto-number attributes

Option sets
Those attributes which display a set of options can reference a set of options defined by the attribute or they can reference a separate set of options
that can be shared by more than one attribute. This is particularly useful when values in one attribute also apply to other attributes. By referencing
a common set of options, the options can be maintained in one place. Those option sets that can be shared are global option sets. Those defined
within the attribute are local option sets.
Retrieve options data
The organization service provides request classes you can use to retrieve the options used by an attribute.
Use the organization service to retrieve options
Each of the attributes with options inherit from EnumAttributeMetadata and include an OptionSet Property. This property contains the
OptionSetMetadata that includes the options within the Options property.
With the organization service you can use the following messages to retrieve information about optionsets:

REQUEST CLASS DESCRIPTION

RetrieveAllOptionSetsRequest Retrieves data about all global optionsets

RetrieveAttributeRequest Retrieves data about an attribute including any local optionsets

RetrieveMetadataChangesRequest Retrieves metadata based on a query that can include local optionsets
More information: Retrieve and detect changes to metadata

RetrieveOptionSetRequest Retrieves data about a global option set.

More information:
Sample: Dump attribute picklist metadata to a file
Common Data Service Developer Guide : Customize global option sets
Use the Web API to retrieve options
The Web API provides a RESTful style for querying option values. You can retreive local or global options by retrieving the attributes within an
entity. The following example returns the OptionSetMetadata for the options included in the Account.AccountCategoryCode property.
GET <organization
url>/api/data/v9.0/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?
$select=LogicalName&$expand=OptionSet

With the Web API you can also use the RetrieveMetadataChanges Function.
More information: Query metadata using the Web API > Querying EntityMetadata attributes

Attribute mapping
When you create a new entity record in the context of an existing entity record, you can automatically transfer certain values from the existing
entity record as default values for the new entity record. This streamlines data entry for people using model-driven apps. Application users see the
mapped values and can edit them before saving the entity.
For developers creating custom clients, the same behavior can be achieved by using the InitializeFrom message (Organization service
InitializeFromRequest Class or Web API InitializeFrom Function) to get the entity data with the configured default values set.
More information
Common Data Service Customization Guide: Map entity fields
Common Data Service Developer Guide Customize entity and attribute mappings
See also
Common Data Service entities
Entity attribute metadata messages
3/22/2019 • 2 minutes to read • Edit Online

An entity attribute is a container for a piece of data in an entity. The term attribute and property (class property) are
often used interchangeably with the term entity attribute. Model-driven applications use the term field when they
refer to entity attributes.

NOTE
It is possible to create and update entity attributes using the Web API. See Create attributes for more details.

Entity attribute messages


The following table lists the messages that you can use to perform actions on entity attributes.

WEB API
MESSAGE OPERATION SDK ASSEMBLY

CreateAttribut POST to CreateAttribut


e EntityMetadat eRequest
Create entity a Attributes
attributes collection-
valued
navigation
property with
JSON
definition of
attribute.
More
information:
Create
attributes

DeleteAttribut DELETE to the DeleteAttribut


e URL of the eRequest
Delete entity attribute.
attributes

DeleteOption DeleteOption DeleteOption


Value Value Action ValueRequest
Delete an
option from
PicklistAttribut
eMetadata or
StatusAttribut
eMetadata
attributes
WEB API
MESSAGE OPERATION SDK ASSEMBLY

InsertOptionV InsertOptionV InsertOptionV Add an option


alue alue Action alueRequest to a
Add an option PicklistAttribut
to a eMetadata
PicklistAttribut attribute.
eMetadata
attribute

InsertStatusVa InsertStatusVa InsertStatusVa Changes the OrderOption OrderOptionR


lue lue Action lueRequest order of the Action equest
Add an option options
to a presented in
StatusAttribut an
eMetadata PicklistAttribut
attribute eMetadata
attribute

RetrieveAttrib Use the Web RetrieveAttrib


ute API query uteRequest
Retrieve entity mentioned in
attributes Querying
EntityMetadat
a attributes to
retrieve entity
attributes.

UpdateAttribu See Update UpdateAttribu


te entities teRequest
Update entity
attributes

UpdateStateV UpdateStateV UpdateStateV


alue alue Action alueRequest
Update a label
for a
StateAttribute
Metadata
attribute

See also
Attribute metadata
Create auto-number attribute
Behavior and format of the date and time attribute
3/22/2019 • 11 minutes to read • Edit Online

If you have users and offices around the world, it is important to properly represent date and time values in
multiple time zones. The DateTimeAttributeMetadata (DateTimeAttributeMetadata EntityType or
DateTimeAttributeMetadata class) is used to define and manage attributes of type DateTime in Common Data
Service. Use the DateTimeBehavior property (For Organization Service see,
DateTimeAttributeMetadata.DateTimeBehavior) to define whether to store date and time values with or without
time zone information, and use the DateTimeAttributeMetadata.Format property to specify the display format of
these attributes.
You can also use the customization area in Common Data Service to define the behavior and format of the date
and time attributes. More information: Behavior and format of the Date and Time field.

NOTE
All date and time attributes in Common Data Service support values as early as 1/1/1753 12:00 AM.

Specify the behavior of a date and time attribute


You can use the DateTimeBehavior (DateTimeBehavior ComplexType or DateTimeBehavior class) to specify a value
for the DateTimeAttributeMetadata EntityType.DateTimeBehavior property. The DateTimeBehavior contains the
following members; each member returns a string with the same value as the member name:

MEMBER NAME AND VALUE DESCRIPTION

UserLocal - Stores the date and time value as UTC value in the system.
- The retrieve operation returns the UTC value.
- The update operation converts the UTC value to the current
user’s time zone value, and then stores the updated value as
is or as the equivalent UTC value depending on the kind
(DateTimeKind) of the value specified for update. If the
specified value is of UTC kind, it’s stored as is. Otherwise, the
UTC-equivalent value is stored.
- Retrieving the formatted value converts from UTC to the
user’s current time zone based on the time zone and locale
setting of the user.
- For the Web API, the attribute is exposed as DateTimeOffset.
- This behavior is used for system attributes like CreatedOn
and ModifiedOn , and cannot be changed. You should use
this behavior for custom attributes where you want to store
date and time values with the time zone information.
MEMBER NAME AND VALUE DESCRIPTION

DateOnly - Stores the actual date value with the time value as 12:00 AM
(00:00:00) in the system.
- For the retrieve and update operations, no time zone
conversion is performed, and the time value is always 12 AM
(00:00:00).
- Retrieving the formatted value displays the date value
without any time zone conversion.
- For the Web API, the attribute is exposed as DateTimeOffset.
- This behavior should be used for custom attributes that
store birthdays and anniversaries, where the time information
is not required.

TimeZoneIndependent - Stores the actual date and time values in the system
regardless of the user time zone.
- For the retrieve and update operations, no time zone
conversion is performed, and actual date and time values are
returned and updated respectively in the system regardless of
the user time zone.
- Retrieving the formatted value displays the date and time
value (without any time zone conversion) based on the format
as specified by the current user’s time zone and locale setting.
- For the Web API, the attribute is exposed as DateTimeOffset.
- This behavior should be used for attributes that store
information such as check in and check out time for hotels.

The following sample code demonstrates how to set a UserLocal behavior for a new date time attribute:

// Create a date time attribute for the Account entity


// with the UserLocal behavior
dtAttribute = new DateTimeAttributeMetadata
{
SchemaName = "new_SampleDateTimeAttribute",
DisplayName = new Label("Sample Date Time Attribute", _languageCode),
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
Description = new Label("Created by SDK Sample", _languageCode),
DateTimeBehavior = DateTimeBehavior.UserLocal,
Format = DateTimeFormat.DateAndTime,
ImeMode = ImeMode.Disabled
};

CreateAttributeRequest createAttributeRequest = new CreateAttributeRequest


{
EntityName = Account.EntityLogicalName,
Attribute = dtAttribute
};
_serviceProxy.Execute(createAttributeRequest);
Console.WriteLine("Created attribute '{0}' with UserLocal behavior\nfor the Account entity.\n",
dtAttribute.SchemaName);

In the sample code, you can also set the value of the DateTimeBehavior property by directly specifying the string
value: DateTimeBehavior = "UserLocal"
If you do not specify the behavior while creating a date and time attribute, the attribute is created with the
UserLocal behavior by default. For the complete sample code, see Sample: Convert date and time values.
IMPORTANT
Once you create a date and time attribute with behavior set to DateOnly or TimeZoneIndependent , you cannot change
the behavior of the attribute. More information: Change the behavior of a DateTime attribute
The date and time attributes with the DateOnly or TimeZoneIndependent behavior will be treated like having the
UserLocal behavior when edited in an earlier version of the Dynamics 365 for Outlook client in the offline mode. This is
because the client doesn’t understand the new behaviors and won’t treat them differently from UserLocal . No date and
time attributes are converted to the new behaviors on upgrade so the best practice here would be to upgrade all
Common Data Service clients to the latest release before a customizer adopts one of the new behaviors. When online,
editing data for fields with the new behaviors will work fine.

Specify format of the date and time attribute


Use the Format property to specify the date/time display format of the attribute irrespective of how it is stored in
the system. You can use the DateTimeFormat enumeration (DateTimeFormat EnumType or DateTimeFormat
enumeration) to specify the display format: DateAndTime or DateOnly .
If the DateTimeAttributeMetadata.DateTimeBehavior property is set to DateOnly , you cannot set or change the value
of the DateTimeAttributeMetadata.Format property to DateAndTime .

Date and time query operators not supported for DateOnly behavior
Time-related query operators are not supported for the DateOnly behavior. Other than the time-specific query
operators listed here, all the other query operators are supported.
Older Than X Minutes
Older Than X Hours
Last X Hours
Next X Hours
More information: Date and time query operators in FetchXML

Change the behavior of a date and time attribute


You can update a date and time attribute to change its behavior if you have the System Customizer role in your
Common Data Service instance and the DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property
for the date and time attribute is set to True .
Cau t i on

Before changing the behavior of a date and time attribute, you should review all the dependencies of the attribute,
such as business rules, workflows, and calculated or rollup attributes, to ensure that there are no issues as a result
of changing the behavior. System Customizers can restrict modifying the behavior of existing date and time
attributes using the DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property.
At the minimum, after changing the behavior of a date and time attribute, you should open each business rule,
workflow, calculated attribute, and rollup attribute record that is dependent on the changed date and time attribute,
review the information, and save the record to ensure that the latest attribute behavior and value is used.
After changing the data and time behavior of a calculated or rollup attribute, open the calculated or rollup field
definition editor, and save the field definition to ensure that the attribute is still valid after the behavior change.
System customizers can open the field definition editor for calculated or rollup attribute by clicking Edit next to
Field Type in the customization area in Common Data Service. More information: Define calculated fields and
Define rollup fields
The behavior of the CreatedOn and ModifiedOn attributes for the out-of-box and custom entities is set to
UserLocal by default, and the DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property is
set to False , which implies that you cannot change the behavior of these attributes. Although users can
change the value of the DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property of these
attributes for custom entities, but they still can’t change the behavior of the attributes.
For new custom date and time attributes, the DateTimeAttributeMetadata.CanChangeDateTimeBehavior
managed property is set to True . This implies that you can change behavior of a custom date and time
attribute from UserLocal to either DateOnly or TimeZoneIndependent ; no other behavior transitions are
allowed.
For custom date and time attributes that are part of a Common Data Service organization, the
DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property is set to True unless the attribute
or the parent entity is not customizable.

NOTE
When you update DateTimeAttributeMetadata.DateTimeBehavior property of an attribute from UserLocal to
DateOnly , ensure that you also change the DateTimeAttributeMetadata.Format property from DateAndTime to
DateOnly . Otherwise, an exception will occur.

The following out-of-box date and time attributes in Common Data Service are by default set to DateOnly
and the DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property is set to False of these
attributes, which implies that you cannot change the behavior for these attributes:

DATE AND TIME ATTRIBUTE PARENT ENTITY

anniversary Contact

birthdate Contact

duedate Invoice

estimatedclosedate Lead

actualclosedate Opportunity

estimatedclosedate Opportunity

finaldecisiondate Opportunity

validfromdate Product

validtodate Product

closedon Quote

expireson Quote

The behavior of these attributes is set to UserLocal and the


DateTimeAttributeMetadata.CanChangeDateTimeBehavior managed property to True , and you can change the
behavior of these attributes to DateOnly only. No other behavior transitions are allowed.
After updating the behavior of an attribute, you must publish the customizations for the change to take effect.
Updating the behavior of a date and time attribute ensures that all the values entered/updated after the attribute
behavior was changed, are stored in the system as per the new behavior. This does not impact the values that are
already stored in the database, and they continue to be stored as UTC values. However, when you retrieve the
existing values using SDK or view it in the UI, the existing values are displayed as per the new behavior of the
attribute. For example, if you changed the behavior of a custom attribute on an account entity from UserLocal to
DateOnly and retrieve an existing account record using SDK, the date and time will be displayed as <Date>
followed by time as 12 AM (00:00:00). Similarly, for the behavior change from UserLocal to TimeZoneIndependent ,
the actual value in the database will be displayed as is without any time zone conversions.
The following sample code demonstrates how to update the behavior of a date and time attribute:

// Retrieve the attribute to update its behavior and format


RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest
{
EntityLogicalName = Account.EntityLogicalName,
LogicalName = "new_sampledatetimeattribute",
RetrieveAsIfPublished = false
};
// Execute the request
RetrieveAttributeResponse attributeResponse =
(RetrieveAttributeResponse)_serviceProxy.Execute(attributeRequest);

Console.WriteLine("Retrieved the attribute '{0}'.",


attributeResponse.AttributeMetadata.SchemaName);

// Modify the values of the retrieved attribute


DateTimeAttributeMetadata retrievedAttributeMetadata =
(DateTimeAttributeMetadata)attributeResponse.AttributeMetadata;
retrievedAttributeMetadata.DateTimeBehavior = DateTimeBehavior.DateOnly;
retrievedAttributeMetadata.Format = DateTimeFormat.DateOnly;

// Update the attribute with the modified value


UpdateAttributeRequest updateRequest = new UpdateAttributeRequest
{
Attribute = retrievedAttributeMetadata,
EntityName = Account.EntityLogicalName,
MergeLabels = false
};
_serviceProxy.Execute(updateRequest);
Console.WriteLine("Updated the behavior and format of '{0}' to DateOnly.",
retrievedAttributeMetadata.SchemaName);

// Publish customizations to the account entity


PublishXmlRequest pxReq = new PublishXmlRequest
{
ParameterXml = String.Format("<importexportxml><entities><entity>account</entity></entities>
</importexportxml>")
};
_serviceProxy.Execute(pxReq);
Console.WriteLine("Published customizations to the Account entity.\n");

For the complete sample code, see Sample: Convert date and time values.

Convert behavior of existing date and time values in the database


When you update a date and time attribute to change its behavior from UserLocal to DateOnly or
TimeZoneIndependent , it does not automatically convert the existing attribute values in the database. The behavior
change affects only those values that will be entered or updated in the attribute after the behavior has been
changed. The existing date and time values in the system continue to be in UTC, and displayed by Common Data
Service according to the new behavior when retrieved through SDK or in the UI as explained in the previous
section. For attributes whose behavior has changed from UserLocal to DateOnly , you can convert the existing
UTC values in the database to appropriate DateOnly value to avoid any data anomalies by using the
ConvertDateAndTimeBehavior message.

The message enables you to specify a conversion rule (If working with Organization Service see, ConversionRule)
to select the time zone to use for conversion of the values from UTC to DateOnly. You can specify one of the
following conversion rules:
SpecificTimeZone : Converts UTC value to a DateOnly value as per the specified Common Data Service time
zone code. In this case, you also need to specify a value for the TimeZoneCode parameter.
CreatedByTimeZone : Converts UTC value to a DateOnly value that the user who created the record would see
in the UI.
OwnerTimeZone : Converts UTC value to a DateOnly value that the user who owns the record would see in
the UI.
LastUpdatedByTimeZone : Converts UTC value to a DateOnly value that the user who last updated the record
would see in the UI.
You can use one of the four members of the DateTimeBehaviorConversionRule class to specify a valid value for
the ConversionRule parameter.

NOTE
You must have the System Administrator role in your Common Data Service instance to execute the
ConvertDateAndTimeBehaviorRequest message.

When you execute the ConvertDateAndTimeBehavior (If working with Organization Service see,
ConvertDateAndTimeBehaviorRequest message), a system job (asynchronous operation) is created to run the
conversion request. The ConvertDateAndTimeBehaviorResponse.JobId attribute in the message response displays the
ID of the system job that is created as a result of the conversion request. After the system job completes, check the
job details ( AsyncOperation.Message ) to view conversion details or errors, if any.

NOTE
We recommend that you group conversion of multiple attributes into a single conversion job, and run a single conversion job
at a time to ensure that there are no conflicts in the conversion and for optimum system performance.

Some important points to be considered while using the ConvertDateAndTimeBehavior message:


You should avoid any major changes to the solutions in Common Data Service during the execution of the
message such as importing a solution or deleting an attribute or parent entity. Doing so might lead to
unexpected behavior; however no data loss will occur.
Updates done in the system as a result of executing the message won’t run workflows and plug-ins.
Updates done in the system as a result of executing the message won’t change the “last modified on” value
for the attributes, but will be audited to help the administrators to determine the time of the conversion and
the original/changed values for an attribute.
The following sample code shows how to use the message:
ConvertDateAndTimeBehaviorRequest request = new ConvertDateAndTimeBehaviorRequest()
{
Attributes = new EntityAttributeCollection()
{
new KeyValuePair<string, StringCollection>("account", new StringCollection()
{ "new_sampledatetimeattribute" })
},
ConversionRule = DateTimeBehaviorConversionRule.SpecificTimeZone.Value,
TimeZoneCode = 190, // Time zone code for India Standard Time (IST) in CRM
AutoConvert = false // Conversion must be done using ConversionRule
};

// Execute the request


ConvertDateAndTimeBehaviorResponse response =
(ConvertDateAndTimeBehaviorResponse)_serviceProxy.Execute(request);

For the complete sample code, see Sample: Convert date and time values
See also
Sample: Convert date and time values
Behavior and format of the Date and Time field
Customize Entity Attribute Metadata
ConvertDateAndTimeBehaviorRequest
DateTimeAttributeMetadata
Calculated and rollup attributes
3/22/2019 • 8 minutes to read • Edit Online

Calculated and rollup attributes free the user from having to manually perform calculations and focus on their
work. System administrators can now easily define a field to contain the value of many common calculations
without having to work with a developer. Developers can also leverage the platform capabilities to perform these
calculations rather than within their own code.
Video: Rollup and Calculated Fields in Microsoft Dynamics CRM 2015

Common elements and characteristics


Calculated and rollup attributes share some common elements and characteristics, for example:
They’re read-only.
They’re not specific to the user. The calculation is performed using a system user account, so the values may
be based on records that the user doesn’t otherwise have privileges to view, such as attributes that have
field-level security enabled.
All attributes that inherit from AttributeMetadata have a SourceType property that can contain the values
shown in the following table.

VALUE DESCRIPTION

Null Not a valid type of attribute to be a calculated or rollup


attribute.

0 Simple attribute. The attribute isn’t defined as a calculated or


rollup attribute.

1 Calculated attribute

2 Rollup attribute

Calculated and rollup attributes are based on existing attribute types that inherit from AttributeMetadata. The
following types of attributes have new properties:
BooleanAttributeMetadata
DateTimeAttributeMetadata
DecimalAttributeMetadata
IntegerAttributeMetadata
MoneyAttributeMetadata
PicklistAttributeMetadata
StringAttributeMetadata
Each of these types of attributes have the following properties to support calculations and rollups.
PROPERTY DEFINITION

FormulaDefinition Contains the XAML definition of the formula used to perform


the calculation or rollup. The only supported way to change
this value is through the application formula editor.

For information about configuring the formulas for these


attributes see the following topics in the customization guide:
Define rollup fields and Define calculated fields.

SourceTypeMask The bitmask value of this read-only property describes the


types of sources used in the formula of the calculated attribute
or if the formula of a calculated or rollup attribute is not valid.

- 0: Undefined. The default value for simple and rollup


attributes.
- 1: Simple. The calculated attribute refers to an attribute in
the same record.
- 2: Related. The calculated attribute refers to an attribute in a
related record.
- 4: Logical . The calculated attribute refers to an attribute in
the same record which is actually stored in a different
database table. More information: Logical attributes
- 8: Calculated . The calculated attribute refers to another
calculated attribute.
- 16: Rollup . The calculated attribute refers a rollup
attribute.
- 32: Invalid . The calculated or rollup field is invalid.
Typically this would be where a field refers to an attribute that
no longer exists. Note: One or more of these conditions may
be true for any calculated or rollup field. Because this is a
bitmask value, you may find it useful to use the
SourceTypeMasks enumeration when performing bitwise
operations.

Calculated attributes
Calculated attributes are calculated in real-time when they are retrieved. Calculated attributes can be composed
using different data types. For example, an Integer calculated attribute may reference values from Decimal or
Currency attributes. More information: Define calculated fields.
Calculated attribute values are available in the retrieve plug-in pipeline. Post image of entity record update or
create contains the calculated attribute value in stage 40. More information: Event execution pipeline and Entity
Images
Limitations
You can’t use values in calculated attributes that reference a related entity, another calculated attribute, or a logical
value in the same entity to sort data returned by a query. Although your query can specify that the results should
be ordered using a calculated attribute, the sort direction will be ignored and will not throw an error. If the
calculated attribute references only simple values in the same record, sorting works normally. You can determine
the sources used in a calculated field using the SourceTypeMask property on the attribute metadata. More
information: Logical attributes
Only attributes from an immediate parent entity can be used in a calculated attribute.
Saved queries, charts, and visualizations can have a maximum of 10 unique calculated attributes.
Calculated attributes can reference other calculated attributes in their formula, but they can’t reference themselves.
Calculated attributes don’t have values when a user with Dynamics 365 for Outlook is offline.
MaxValue and MinValue metadata properties can’t be set on calculated attributes

Rollup attributes
Because rollup attributes persist in the database, they can be used for filtering or sorting just like regular attributes.
Any kind of process or plug-in will use the most recently calculated value of the attribute. Rollup attribute values
are calculated asynchronously by scheduled system jobs. Administrators set when a job is run or pause the job. By
default, each attribute is updated hourly. More information: Define rollup fields.
When a rollup attribute is created or updated a Mass Calculated Rollup Fields job is scheduled to run in 12
hours. The 12-hour delay is intended to perform this resource intensive operation during a time that will affect
users the least. After the job completes, the next time it is scheduled to run will be 10 years in the future. If there is
a problem with the calculation, this will be reported with the system job. Locate the system job in Settings >
System Jobs to find any errors with rollup fields.

TIP
As a developer testing a solution in a development environment you may not want to wait for 12 hours. You can make it
happen faster. In the System Jobs list, use the Recurring System Jobs view to filter the list and locate the Mass Calculate
Rollup Fields job. With the job selected, use More Actions > Postpone and set the time to something that occurs sooner.
If you want to trigger the creation of a new Mass Calculated Rollup Fields job programmatically, retrieve the
AttributeMetadata for the rollup attribute using RetrieveAttributeRequest and use UpdateAttributeRequest to update the
attribute without making any actual changes.

The Mass Calculated Rollup Fields job will occur immediately when a solution containing a rollup attribute is
imported. This assumes that you are installing a solution during a time that won’t adversely impact users.
Each rollup attribute for an entity will also include two supporting attributes for the rollup attribute:
<attribute SchemaName> _Date : DateTime – When the rollup was last calculated.
<attribute SchemaName> _State : Integer – The state of the rollup calculation. More information: Rollup
state values
Rollup state values
The state of a rollup field calculation is available in the corresponding <attribute SchemaName> _State attribute
and in the CalculateRollupFieldResponse. FieldState property. Values that indicate the state are shown in the
following table.

STATE VALUE DESCRIPTION

0 NotCalculated : Attribute value is yet to be calculated.

1 Calculated : Attribute value has been calculated per the last


update time in <attribute SchemaName> _Date attribute.

2 OverflowError : Attribute value calculation lead to overflow


error.

3 OtherError : Attribute value calculation failed due to an


internal error, next run of calculation job will likely fix it.
STATE VALUE DESCRIPTION

4 RetryLimitExceeded : Attribute value calculation failed


because the maximum number of retry attempts to calculate
the value were exceeded likely due to high number of
concurrency and locking conflicts.

5 HierarchicalRecursionLimitReached : Attribute value


calculation failed because maximum hierarchy depth limit for
calculation was reached.

6 LoopDetected : Attribute value calculation failed because a


recursive loop was detected in the hierarchy of the record.

Retrieve a calculated rollup field value immediately


Rollup attributes support a CalculateRollupField message that developers can use to calculate a rollup attribute
value on demand. The request and response, along with the members, are shown in the following table.

REQUEST/RESPONSE MEMBERS

CalculateRollupFieldRequest Target : EntityReference for the record.

FieldName : String representing the logical name of the


attribute.

CalculateRollupFieldResponse Entity : Entity containing the rollup attribute and the


supporting <attribute SchemaName> _Date and <attribute
SchemaName> _State attributes.

This message is a synchronous operation for just the attribute identified in the request. If the value of that record is
included as part of other rollup fields, the values of those fields won’t take the possible value change caused by
calling this method into consideration until the regularly scheduled asynchronous jobs that perform those
calculations occur.
Limitations
Rollup attributes can’t be used as a workflow event or wait condition. These attributes don’t raise the event to
trigger workflows.
The ModifiedBy and ModifiedOn attributes for the entity aren’t updated when the rollup attribute is updated.
A maximum of 100 rollup attributes can be defined within an organization. Each entity can have no more than 10
rollup attributes.
A rollup attribute formula can’t reference another rollup attribute.
A rollup attribute formula can’t reference complex calculated attributes. Only calculated attributes that reference
simple attributes in the same record can be used with rollups.
A rollup attribute formula can’t include records in many-to-many (N:N ) relationships. It can only include records in
one-to-many (1:N ) relationships.
Rollup attribute formulas can’t use one-to-many (1:N ) relationships with the ActivityPointer or ActivityParty
entity.

SourceTypeMasks enumeration
The SourceTypeMask property for those attributes that support calculated and rollup fields contains a bitmask value.
To extract the relevant information from the value, it helps to have an enumeration when performing bitwise
operations. Use the following SourceTypeMasks enumeration when comparing the SourceTypeMask property value.

public enum SourceTypeMasks


{
/// <summary>
/// Undefined: 0 - The default value for simple and rollup attributes.
/// </summary>
Undefined = 0,
/// <summary>
/// Simple: 1 - The calculated attribute refers to an attribute in the same record.
/// </summary>
Simple = 1,
/// <summary>
/// Related: 2 - The calculated attribute refers to an attribute in a related record.
/// </summary>
Related = 2,
/// <summary>
/// Logical: 4 - The calculated attribute refers to a logical attribute.
/// </summary>
Logical = 4,
/// <summary>
/// Calculated: 8 - The calculated attribute refers to another calculated attribute.
/// </summary>
Calculated = 8,
/// <summary>
/// Rollup: 16 - The calculated attribute refers a rollup attribute.
/// </summary>
Rollup = 16,
/// <summary>
/// Invalid: 32 - The calculated or rollup attribute is invalid.
/// Typically this would be where a field refers to an attribute that no longer exists.
/// </summary>
Invalid = 32
}

See also
Video: Rollup and Calculated Fields in Microsoft Dynamics CRM 2015
Introduction to entity attributes
Define calculated fields
Define rollup fields
Create auto-number attributes
8/23/2019 • 7 minutes to read • Edit Online

With Common Data Service, you can add an auto-number attribute for any entity. Currently, you can add the
attribute programmatically. There is no user interface to add this type of attribute. The topic explains how you can
programmatically create an auto-number attribute and set a seed value for sequential elements. In addition, the
topic shows how to set the sequence number for the next record if you need to reset the seed at any time later.

NOTE
The setting of the seed is optional. There is no need to call the seed if you don’t need to reseed.

You can create an auto-number attribute in the same way you create a string attribute using the
StringAttributeMetadata class except that you use the new AutoNumberFormat property. Use the
AutoNumberFormat property to define a pattern that includes sequential numbers and random strings by
composing placeholders, which indicates the length and type of values that are generated. The random strings help
you to avoid duplicates or collisions, especially when offline clients trying to create auto-numbers.
When creating an auto-number attribute, the StringAttributeMetadata.FormatName property or the
StringAttributeMetadata.Format property values must be Text. Since these are the default values you will
typically not set this property. You cannot create an auto-number attribute that uses any other special kind of
format such as Email, Phone, TextArea, Url or any other existing formats.
The sequential segment is generated by SQL and hence uniqueness is guaranteed by SQL.

NOTE
You can modify an existing format text attribute to be an auto-number format.

When you add the auto-number attribute as a field to a form, the auto-number attribute field behaves as read-only
in the form, and end-users cannot edit the field. The value is set only after you save the entity. You can see auto-
number attribute as any other field value in views, grids and so on.
Examples
The following examples show how to create a new auto-number attribute named new_SerialNumber for a
custom entity named new_Widget which will have a value that looks like this: WID -00001-AB7LSFG-
20170913070240. Using the Organization service with SDK assemblies CreateAttributeRequest and
StringAttributeMetadata classes:
CreateAttributeRequest widgetSerialNumberAttributeRequest = new CreateAttributeRequest
{
EntityName = "newWidget",
Attribute = new StringAttributeMetadata
{
//Define the format of the attribute
AutoNumberFormat = "WID-{SEQNUM:5}-{RANDSTRING:6}-{DATETIMEUTC:yyyyMMddhhmmss}",
LogicalName = "new_serialnumber",
SchemaName = "new_SerialNumber",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
MaxLength = 100, // The MaxLength defined for the string attribute must be greater than
the length of the AutoNumberFormat value, that is, it should be able to fit in the generated value.
DisplayName = new Label("Serial Number", 1033),
Description = new Label("Serial Number of the widget.", 1033)
}
};
_serviceProxy.Execute(widgetSerialNumberAttributeRequest);

Use Web API


You can create and update entity definitions using the Web API.
More information: Create and update entity definitions using the Web API > Create attributes.
Request
POST [Organization URI]/api/data/v9.0/EntityDefinitions(LogicalName='new_widget')/Attributes HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{
"AttributeType": "String",
"AttributeTypeName": {
"Value": "StringType"
},
"Description": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Serial Number of the widget.",
"LanguageCode": 1033
}
]
},
"DisplayName": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Serial Number",
"LanguageCode": 1033
}
]
},
"RequiredLevel": {
"Value": "None",
"CanBeChanged": true,
"ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings"
},
"SchemaName": "new_SerialNumber",
"AutoNumberFormat": "WID-{SEQNUM:5}-{RANDSTRING:6}-{DATETIMEUTC:yyyyMMddhhmmss}",
"@odata.type": "Microsoft.Dynamics.CRM.StringAttributeMetadata",
"FormatName": {
"Value": "Text"
},
"MaxLength": 100
}

Response

HTTP/1.1 204 No Content


OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.0/EntityDefinitions(402fa40f-287c-e511-80d2-
00155d2a68d2)/Attributes(f01bef16-287c-e511-80d2-00155d2a68d2)

NOTE
Autonumber values are preselected by the database when the record is started. If a record is started but cancelled, the
number it was assigned is not used. If, during this time, another record is completed with the next sequential number, gaps
will be present in the autonumbering of records.

AutoNumberFormat options
These examples show how you can configure the AutoNumberFormat property to get different results:
AUTONUMBERFORMAT VALUE EXAMPLE VALUE

CAR-{SEQNUM:3}-{RANDSTRING:6} CAR-123-AB7LSF

CNR-{RANDSTRING:4}-{SEQNUM:4} CNR-WXYZ-1000

{SEQNUM:6}-#-{RANDSTRING:3} 123456-#-R3V

KA-{SEQNUM:4} KA-0001

{SEQNUM:10} 1234567890

QUO-{SEQNUM:3}#{RANDSTRING:3}#{RANDSTRING:5} QUO-123#ABC#PQ2ST

QUO-{SEQNUM:7}{RANDSTRING:5} QUO-0001000P9G3R

CAS-{SEQNUM:6}-{RANDSTRING:6}- CAS-002000-S1P0H0-20170913091544
{DATETIMEUTC:yyyyMMddhhmmss}

CAS-{SEQNUM:6}-{DATETIMEUTC:yyyyMMddhh}- CAS-002002-2017091309-HTZOUR
{RANDSTRING:6}

CAS-{SEQNUM:6}-{DATETIMEUTC:yyyyMM}-{RANDSTRING:6}- CAS-002000-201709-Z8M2Z6-110901
{DATETIMEUTC:hhmmss}

The random string placeholders are optional.You can include more than one random string placeholder. Use any of
the format value for datetime placeholders from Standard Date and Time Format Strings.
String length
The table shows the string length value for the random and sequential placeholders.

PLACEHOLDER STRING LENGTH OUTPUT SCENARIO

{RANDSTRING:MIN_LENGTH} The value of MIN_LENGTH is between When you save the entity, the auto-
1 and 6. number attribute generates the random
string with the defined length if the
value is between 1 and 6. If you use the
MIN_LENGTH value as 7 or beyond 7,
you get to see an Invalid Argument
error.

{SEQNUM:MIN_LENGTH} The minimum value of the When you save the entity, the auto-
MIN_LENGTH is 1. The number number attribute works fine and
continues to increment beyond the continue to work fine for larger values
minimum length. of MIN_LENGTH.

For sequential value placeholders, the MIN_LENGTH is a minimum length. If you set the value to be 2, the initial
value will be 01, and the 100th entity value will be 100. The number will continue to increment beyond the
minimum length. The value in setting the length for sequential values is to establish a consistent length for the
auto-generated value by adding additional 0s to the initial value. It will not limit the absolute value. Random value
placeholders will always be the same length.
Because the sequential values can get larger than the minimum length allotted for them, you should not adjust the
StringAttributeMetadata.MaxLength property to match the length of your formatted value. There is little value
in doing this and it could cause an error in the future if the value exceeds the MaxLength value. Make sure you
leave enough room for a realistic range of sequential values.

NOTE
There is no validation of the placeholder values when you create the attribute. The error appears only when you try to save
an entity instance that uses an incorrectly configured AutoNumberFormat value. For example, if you specify the length of
the random string more than 6, the first person creating a new entity instance gets an Invalid Argument error when they
first try to save the entity containing the new auto-number attribute.

Update auto-number attributes


If you create an auto-number attribute with an incorrect configuration or you want to modify an existing auto-
number attribute, you can update the attribute the AutoNumberFormat value.
The following code snippet explains you to retrieve, modify, and update the auto-number attribute.
To modify an existing auto-number attribute, you must retrieve the attribute using the RetrieveAttributeRequest
class.

// Create the retrieve request


RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest
{
EntityLogicalName = entityName.ToLower(),
LogicalName = "new_serialnumber",
RetrieveAsIfPublished = true
};
// Retrieve attribute response
RetrieveAttributeResponse attributeResponse =
(RetrieveAttributeResponse)_serviceProxy.Execute(attributeRequest);

After retrieving the auto-number attribute, you need to modify and update the attribute.

//Modify the retrieved auto-number attribute


AttributeMetadata retrievedAttributeMetadata = attributeResponse.AttributeMetadata;
retrievedAttributeMetadata.AutoNumberFormat = "CAR-{RANDSTRING:5}{SEQNUM:6}"; //Modify the existing attribute
by writing the format as per your requirement

// Update the auto-number attribute


UpdateAttributeRequest updateRequest = new UpdateAttributeRequest
{
Attribute = retrievedAttributeMetadata,
EntityName = "newWidget",
};
// Execute the request
_serviceProxy.Execute(updateRequest);

Set a seed value


By default, all auto-number sequential values start with 1000 and use 0 as the prefix depending on the length. In
this way, the length of the value is always same. If you want to change the initial value, you need to change the
initial seed value using the API below to set the next number that are used for the sequential segment.
For example, when the length of the sequential number is 5, you may want to start with an initial value of 10000
instead of the default value of 00001. If you want to choose a different starting value after creating the auto-
numbering attribute, use the SetAutoNumberSeed message. Use the SetAutoNumberSeedRequest class
when using the SDK assemblies and SetAutoNumberSeed action when using the Web API.
The AutoNumberSeed message has the following parameters:
NAME TYPE DESCRIPTION

EntityName string The logical name of the entity that


contains the attribute you want to set
the seed on.

AttributeName string The logical name of the attribute you


want to set the seed on.

Value int Next auto-number value for the


attribute.

NOTE
Setting the seed only changes the current number value for the specified attribute in the current environment. It does not
imply a common start value for the attribute. The seed value is not included in a solution when installed in a different
environments. To set the starting number after a solution import, use SetAutoNumberSeed message in the target
environment.

Examples
The following samples set the seed to 10000 for an auto-number attribute named new_SerialNumber for a
custom entity named new_Widget.
Using the Organization service with SDK assemblies SetAutoNumberSeedRequest class:

//Define the seed


SetAutoNumberSeedRequest req = new SetAutoNumberSeedRequest();
req.EntityName = "newWidget";
req.AttributeName = "newSerialnumber";
req.Value = 10000;
_serviceProxy.Execute(req);

Using the Web API SetAutoNumberSeed Action.


More information: Use Web API actions > Unbound actions
Request

POST [Organization URI]/api/data/v9.0/SetAutoNumberSeed HTTP/1.1


Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{
"EntityName": "new_Widget",
"AttributeName": "new_Serialnumber",
"Value": 10000
}

Response

HTTP/1.1 204 No Content


OData-Version: 4.0

Community tools
Auto Number Manager
Auto Number Manager for XrmToolBox is a community driven tool for Common Data Service that provides a UI
to set, update and remove auto number format on new or existing attributes. Please see the Developer tools topic
for community developed tools and anm.xrmtoolbox.com for more information about Auto Number Manager.

NOTE
The community tools are not a product of Common Data Service and does not extend support to the community tools. If
you have questions pertaining to the tool, please contact the publisher. More Information: XrmToolBox.

See Also
Metadata and data models in Dynamics 365
Customize entity metadata
Multi-Select Picklist attributes
3/22/2019 • 5 minutes to read • Edit Online

Customizers can define an attribute that allows selection of multiple options. The
MultiSelectPicklistAttributeMetadata class defines an attribute type that inherits from the EnumAttributeMetadata
class. Just like the PicklistAttributeMetadata class, this attribute includes an OptionSetMetadata Options property
that contains the valid options for the attribute. The difference is that the values you get or set are an
OptionSetValueCollection type that contains an array of integers representing the selected options. Formatted
values for this attribute are a semi-colon separated string containing the labels of the selected options.
With the Web API, this attribute is defined using the MultiSelectPicklistAttributeMetadata EntityType.
Just like picklist attributes, there is technically no upper limit on the number of options that can be defined.
Usability considerations should be applied as the limiting factor. However only 150 options can be selected for a
single attribute. Also, a default value cannot be set.

Setting multi-select picklist values


With the Web API, you set the values by passing a string containing comma separated number values as shown in
the following example:
Request

POST [organization uri]/api/data/v9.0/contacts HTTP/1.1


Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{
"@odata.type": "Microsoft.Dynamics.CRM.contact",
"firstname": "Wayne",
"lastname": "Yarborough",
"sample_outdooractivities": "1, 9"
}

Response

HTTP/1.1 204 No Content


OData-Version: 4.0
OData-EntityId: [organization uri]/api/data/v9.0/contacts(0c67748a-b78d-e711-811c-000d3a75bdf1)

With the Organization service using the assemblies, use the OptionSetValueCollection to set values for this
attribute as shown in the following C# example:
OptionSetValueCollection activities = new OptionSetValueCollection();
activities.Add(new OptionSetValue(1)); //Swimming
activities.Add(new OptionSetValue(9)); //Camping

Contact contact = new Contact();


contact["firstname"] = "Wayne";
contact["lastname"] = "Yarborough";
contact["sample_outdooractivities"] = activities;

_serviceProxy.Create(contact);

Query data from multi-select picklists


Two new condition operators have been added to support querying values in multi-select option sets:
ContainValues and DoesNotContainValues or the FetchXml contain-values and not-contain-values operators.
With the Web API there are the equivalent ContainValues and DoesNotContainValues query functions.
Other existing condition operators that can be used with this type of attribute include: Equal , NotEqual , NotNull ,
Null , In and NotIn .

NOTE
The ContainValues and DoesNotContainValues operators depend on full-text indexing to be applied on the database
tables that store the multiple values. There is some latentcy after new records are created and the full-text index takes effect.
You may need to wait several seconds after new records are created before filters using these operators can evaluate the
values.

The following examples shows the use of ContainValues and not-contain-values using FetchXML against the
following data set on a multi-select picklist attribute named sample_outdooractivities on the contact entity.
Multi-select picklist sample_outdooractivities options:

VALUE LABEL

1 Swimming

2 Hiking

3 Mountain Climbing

4 Fishing

5 Hunting

6 Running

7 Boating

8 Skiing

9 Camping

Contact entity values


FULLNAME SAMPLE_OUTDOORACTIVITIES

Wayne Yarborough 1,9

Monte Orton 2

Randal Maple 4

Hiram Mundy 2,3,8,9

Barbara Weber 1,4,7

Georgette Sullivan 4,5,9

Verna Kennedy 2,4,9

Marvin Bracken 1,2,8,9

Example code using Web API


The following example shows the use of the ContainsValues query function to return all the contacts who like
hiking. Notice how the text of the options is returned as annotations due to the
odata.include-annotations="OData.Community.Display.V1.FormattedValue" preference applied.

Request

GET [organization uri]/api/data/v9.0/contacts?


$select=fullname,sample_outdooractivities&$filter=Microsoft.Dynamics.CRM.ContainValues(PropertyName='sample_out
dooractivities',PropertyValues=%5B'2'%5D) HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

Response
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
Content-Length: 1092

{
"@odata.context": "[organization uri]/api/data/v9.0/$metadata#contacts(fullname,sample_outdooractivities)",
"value": [{
"@odata.etag": "W/\"529811\"",
"fullname": "Monte Orton",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Hiking",
"sample_outdooractivities": "2",
"contactid": "cdbcc48e-0b8d-e711-811c-000d3a75bdf1"
}, {
"@odata.etag": "W/\"529823\"",
"fullname": "Hiram Mundy",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Hiking; Mountain Climbing;
Skiing; Camping",
"sample_outdooractivities": "2,3,8,9",
"contactid": "d7bcc48e-0b8d-e711-811c-000d3a75bdf1"
}, {
"@odata.etag": "W/\"529838\"",
"fullname": "Verna Kennedy",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Hiking; Fishing; Camping",
"sample_outdooractivities": "2,4,9",
"contactid": "e6bcc48e-0b8d-e711-811c-000d3a75bdf1"
}, {
"@odata.etag": "W/\"529843\"",
"fullname": "Marvin Bracken",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Swimming; Hiking; Skiing;
Camping",
"sample_outdooractivities": "1,2,8,9",
"contactid": "ebbcc48e-0b8d-e711-811c-000d3a75bdf1"
}]
}

The following example shows the use of the not-contain-values operator in the following FetchXml query using
the Web API.

<fetch distinct='false' no-lock='false' mapping='logical'>


<entity name='contact'>
<attribute name='fullname' />
<attribute name='sample_outdooractivities' />
<filter type='and'>
<condition attribute='sample_outdooractivities' operator='not-contain-values'>
<value>2</value>
</condition>
</filter>
</entity>
</fetch>

Request
GET [organization uri]/api/data/v9.0/contacts?fetchXml=%253Cfetch%2520distinct%253D'false'%2520no-
lock%253D'false'%2520mapping%253D'logical'%253E%253Centity%2520name%253D'contact'%253E%253Cattribute%2520name%2
53D'fullname'%2520%252F%253E%253Cattribute%2520name%253D'sample_outdooractivities'%2520%252F%253E%253Cfilter%25
20type%253D'and'%253E%253Ccondition%2520attribute%253D'sample_outdooractivities'%2520operator%253D'not-contain-
values'%253E%253Cvalue%253E2%253C%252Fvalue%253E%253C%252Fcondition%253E%253C%252Ffilter%253E%253C%252Fentity%2
53E%253C%252Ffetch%253E HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

Response

HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

{
"@odata.context": "[organization
uri]/api/data/v9.0/$metadata#contacts(fullname,sample_outdooractivities,contactid)",
"value": [{
"@odata.etag": "W/\"529806\"",
"fullname": "Wayne Yarborough",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Swimming; Camping",
"sample_outdooractivities": "1,9",
"contactid": "c8bcc48e-0b8d-e711-811c-000d3a75bdf1"
}, {
"@odata.etag": "W/\"529816\"",
"fullname": "Randal Maple",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Fishing",
"sample_outdooractivities": "4",
"contactid": "d2bcc48e-0b8d-e711-811c-000d3a75bdf1"
}, {
"@odata.etag": "W/\"529828\"",
"fullname": "Barbara Weber",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Swimming; Fishing; Boating",
"sample_outdooractivities": "1,4,7",
"contactid": "dcbcc48e-0b8d-e711-811c-000d3a75bdf1"
}, {
"@odata.etag": "W/\"529833\"",
"fullname": "Georgette Sullivan",
"sample_outdooractivities@OData.Community.Display.V1.FormattedValue": "Fishing; Hunting; Camping",
"sample_outdooractivities": "4,5,9",
"contactid": "e1bcc48e-0b8d-e711-811c-000d3a75bdf1"
}]
}

Example code using QueryExpression and FetchExpression


The following C# sample shows the use of the ContainsValues operator with QueryExpression and the
not-contain-values using FetchExpression using RetrieveMultiple and the Organization service.

//Retrieve contacts who like hiking


//Using Query Expression
int[] hikingValue = new int[] { 2 };
ConditionExpression condition = new ConditionExpression("sample_outdooractivities",
ConditionOperator.ContainValues, hikingValue);

FilterExpression filter = new FilterExpression();


filter.AddCondition(condition);

QueryExpression likesHikingQuery = new QueryExpression(Contact.EntityLogicalName);


likesHikingQuery.ColumnSet.AddColumns("fullname", "sample_outdooractivities");
likesHikingQuery.ColumnSet.AddColumns("fullname", "sample_outdooractivities");
likesHikingQuery.Criteria.AddFilter(filter);

EntityCollection hikers = _serviceProxy.RetrieveMultiple(likesHikingQuery);

Console.WriteLine("\nContacts who like Hiking");


Console.WriteLine("=========================");
foreach (Contact contact in hikers.Entities)
{
string values = (contact["sample_outdooractivities"] == null) ? "null" :
contact.FormattedValues["sample_outdooractivities"];
Console.WriteLine("{0} {1}", contact.FullName, values);
}

/*OUTPUT:
Contacts who like Hiking
=========================
Monte Orton Hiking
Hiram Mundy Hiking; Mountain Climbing; Skiing; Camping
Verna Kennedy Hiking; Fishing; Camping
Marvin Bracken Swimming; Hiking; Skiing; Camping
*/

//Retrieving contacts who do not like hiking:


//Using Fetch Expression
string fetchXml = @"<fetch distinct='false' no-lock='false' mapping='logical'>
<entity name='contact'>
<attribute name='fullname' />
<attribute name='sample_outdooractivities' />
<filter type='and'>
<condition attribute='sample_outdooractivities' operator='not-contain-values'>
<value>2</value>
</condition>
</filter>
</entity>
</fetch>";
FetchExpression doesNotLikeHiking = new FetchExpression(fetchXml);

EntityCollection nonHikers = _serviceProxy.RetrieveMultiple(doesNotLikeHiking);

Console.WriteLine("\nContacts who do not like Hiking");


Console.WriteLine("===============================");
foreach (Contact contact in nonHikers.Entities)
{
string values = (contact["sample_outdooractivities"] == null) ? "null" :
contact.FormattedValues["sample_outdooractivities"];
Console.WriteLine("{0} {1}", contact.FullName, values);
}

/* OUTPUT
Contacts who do not like Hiking
===============================
Wayne Yarborough Swimming; Camping
Randal Maple Fishing
Barbara Weber Swimming; Fishing; Boating
Georgette Sullivan Fishing; Hunting; Camping
*/

Create a multi-select picklist with code


The easiest way to create a multi-select picklist is to use the attribute editor in the customization tools. More
information Create and edit fields
But if you need to automate creation of this kind of attribute you can use C# code like the following with the
organization service which creates a multi-select picklist to allow choices of outdoor activities to the contact entity.
More information Create attributes
private const int _languageCode = 1033; //English

MultiSelectPicklistAttributeMetadata outDoorActivitiesAttribute = new


MultiSelectPicklistAttributeMetadata()
{
SchemaName = "sample_OutdoorActivities",
LogicalName = "sample_outdooractivities",
DisplayName = new Label("Outdoor activities", _languageCode),
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
Description = new Label("Outdoor activities that the contact likes.", _languageCode),
OptionSet = new OptionSetMetadata()
{
IsGlobal = false,
OptionSetType = OptionSetType.Picklist,
Options = {
new OptionMetadata(new Label("Swimming",_languageCode),1),
new OptionMetadata(new Label("Hiking",_languageCode),2),
new OptionMetadata(new Label("Mountain Climbing",_languageCode),3),
new OptionMetadata(new Label("Fishing",_languageCode),4),
new OptionMetadata(new Label("Hunting",_languageCode),5),
new OptionMetadata(new Label("Running",_languageCode),6),
new OptionMetadata(new Label("Boating",_languageCode),7),
new OptionMetadata(new Label("Skiing",_languageCode),8),
new OptionMetadata(new Label("Camping",_languageCode),9)}
}
};

CreateAttributeRequest createAttributeRequest = new CreateAttributeRequest


{
EntityName = Contact.EntityLogicalName,
Attribute = outDoorActivitiesAttribute
};

See also
Introduction to entity attributes
Create an entity using the Web API
Query Data using the Web API
Work with attribute metadata
Sample: Work with attribute metadata
Late-bound and early-bound programming using the Organization Service
Image attributes
3/22/2019 • 2 minutes to read • Edit Online

Entity records that include image data provide a unique experience within the application. As a developer you need
to understand how you work with image data.
Only certain system entities and custom entities support images. For information about which system entities
support images, see Entity images.

Supporting attributes
For those entities which support image attributes, the SchemaName of the entity image attribute is always
EntityImage . When an image attribute is added to an entity some additional attributes are created to support it.

NOTE
Clients that do not use the current .NET assemblies need to include SdkClientVersion with a value of ‘6.0.0.0’ or higher in
order to receive ImageAttributeMetadata attributes. More information: SdkClientVersion.

EntityImage_Timestamp attribute
Attribute Type Name: BigIntType
The value represents when the image was last updated and is used to help make sure that the latest version of the
image is downloaded and cached on the client.
EntityImage_URL attribute
Attribute Type Name: StringType
An absolute URL to display the entity image in a client.
The URL is composed this way:

{0}/image/download.aspx?entity={1}&attribute={2}&id={3}&timestamp={4}

0 : The organization URL


1 : The entity logical name
2 : The attribute logical name
3 : The EntityImageId value.
4 : The EntityImage_Timestamp value
For example:
https://myorg.crm.dynamics.com/image/download.aspx?attribute=entityimage&entity=contact&id={ECB6D3DF-
4A04-E311-AFE0-00155D9C3020}&timestamp=635120312218444444

EntityImageId
Attribute Type Name: UniqueIdentifierType

The unique identifier of the image


Retrieving image data
When you use RetrieveMultiple or Retrieve the EntityImage is not included when the ColumnSet. AllColumns
property is set to true. Because of the potential size of data in this attribute, to return this attribute you must
explicitly request it.
The binary data representing the image isn’t returned using the deprecated ExecuteFetchRequest class. You should
use RetrieveMultipleRequest instead.
More information: Sample: Set and retrieve entity images.

Uploading image data


To update images set the value of the EntityImage to a byte[] that contains the content of the file. All images are
displayed in a 144x144 pixel square. Images will be cropped and resized to reduce the size of the data before being
saved.
Images with at least one side larger than 144 pixels are cropped on center to 144x144.
Images with both sides smaller than 144 are cropped square to their smallest side.
The following table shows two examples.

BEFORE AFTER

144x144

300x428

91x91

91x130

More information: Sample: Set and retrieve entity images.


See also
Introduction to Entities in Dynamics 365
Introduction to entity attributes in Dynamics 365
Sample: Set and retrieve entity images
Define custom state model transitions
3/22/2019 • 3 minutes to read • Edit Online

You can specify custom state transitions for the Incident (Case) entity or custom entities. The
EntityMetadata.IsStateModelAware property is true for entities that support state model transitions.
Custom state transitions are an optional level of filtering to define which state transitions are valid for a record in a
given state. Particularly when you have a large number of combinations for valid states and status values, defining
a limited list of options can make it easier for people to choose the correct status for a record.

What is the state model?


Entities that support the concept of state have a pair of attributes that capture this data, as shown in this table.

LOGICAL NAME DISPLAY NAME DESCRIPTION

statecode Status Represents the state of the record. For


custom entities this is Active or
Inactive. The Incident (case) entity uses
Active, Resolved, and Canceled. You
can’t add more state options but you
can change the option labels.

statuscode Status Reason Represents a status that is linked to a


specific state. Each state must have at
least one possible status. You can add
additional status options and change
the labels of existing options.

The metadata for the attributes defines what status values are valid for a given state. For example, for the Incident
(Case) entity, the default state and status options are shown in the following table.

STATE STATUS

Label : Active Label : In Progress

Value :0 Value :1

State :0

Label : Active Label : On Hold

Value :0 Value :2

State :0

Label : Active Label : Waiting for Details

Value :0 Value :3

State :0
STATE STATUS

Label : Active Label: Researching

Value :0 Value :4

State :0

Label : Resolved Label : Problem Solved

Value :1 Value :5

State :1

Label : Resolved Label: Information Provided

Value :1 Value : 1000

State :1

Label: Canceled Label : Canceled

Value :2 Value :6

State :2

Label: Canceled Label : Merged

Value :2 Value : 2000

State :2

This data is stored in the StatusOptionMetadata class, which represents the options in the StatusAttributeMetadata
class.
To view the entity metadata for your organization, install the Metadata Browser solution described in Browse the
metadata for your organization. You can also browse the reference documentation for entities in the Entity
Reference.

Detect valid status transitions


You can modify the statuscode attribute to define which other status options represent valid transitions from the
current status. For instructions, see the Customization Guide topic: Define status reason transitions
When custom state transitions are applied to an entity, the EntityMetadata.EnforceStateTransitions property will be
true . Also, each StatusOptionMetadata within the StatusAttributeMetadata.Options collection will have a new
TransitionData property. This property will contain a String value that represents an XML document. This
document contains the definition of the allowed transitions. For example, the default Incident (Case) StatusCode
attribute option may have the following TransitionData value.

<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices">
<allowedtransition sourcestatusid="1" tostatusid="6" />
<allowedtransition sourcestatusid="1" tostatusid="1000" />
<allowedtransition sourcestatusid="1" tostatusid="2000" />
<allowedtransition sourcestatusid="1" tostatusid="5" />
</allowedtransitions>
NOTE
When this data is retrieved in unmanaged code from the web service, for example when using JavaScript, it will be escaped
and appear like the following example.

<allowedtransitions xmlns="http://schemas.microsoft.com/crm/2009/WebServices">
<allowedtransition sourcestatusid="1" tostatusid="6">
<allowedtransition sourcestatusid="1" tostatusid="1000">
<allowedtransition sourcestatusid="1" tostatusid="2000">
<allowedtransition sourcestatusid="1" tostatusid="5">
</allowedtransitions>

When this data is present and the Entity EnforceStateTransitions property is true , any incident instance can only
be changed to one of the allowed statuscode values. You can useIOrganizationService.Update to set the
statuscode OptionSetValue to any of the allowed values that don’t represent a change in state. To change the state,
use SetStateRequest setting the allowed State and Status property values or the CloseIncidentRequest setting
Status property to one of the values allowed for the current statuscode value. Attempting to set an invalid value
throws an error.
See also
Sample: Retrieve Valid Status Transitions
Record state and status
Retrieve and Detect Changes to Metadata
Define status reason transitions
Entity relationship metadata
3/22/2019 • 2 minutes to read • Edit Online

When you look at the solution explorer or the three relationship collections in the EntityMetadata , you might think
that there are three types of entity relationships. Actually, there are only two, as shown in the following table.

RELATIONSHIP TYPE DESCRIPTION

One-to-Many An entity relationship where one entity record for the


OneToManyRelationshipMetadata Primary Entity can be associated to many other Related
Entity records because of a lookup field on the related entity.
When viewing a primary entity record you can see a list of the
related entity records that are associated with it.

Many-to-Many An entity relationship that depends on a special Relationship


ManyToManyRelationshipMetadata Entity, sometimes called an Intersect entity, so that many
records of one entity can be related to many records of
another entity.
When viewing records of either entity in a Many-to-Many
relationship you can see a list of any records of the other
entity that are related to it.

The EntityMetadata ManyToOneRelationships collection contains OneToManyRelationshipMetadata types. One-to-


Many relationships exist between entities and refer to each entity as either a Primary Entity or Related Entity. The
related entity, sometimes called the child entity, has a lookup attribute that allows storing a reference to a record
from the primary entity, sometimes called the parent entity. A Many-to-One relationship is just a One-to-Many
relationship viewed from the related entity.

NOTE
Although related entities are sometimes called child entities, don't confuse these with Child entities, which refers to how
security is applied to related entities.

More information: Create relationships between entities.

Cascade configuration
When a one-to-many entity relationship exists, there are cascading behaviors that can be configured to preserve
data integrity and automate business processes. More information: Configure entity relationship cascading
behavior.

Create a hierarchy of entities


Within a self-referential One-to-Many relationship you can set a hierarchy by setting the IsHierarchical property
to true .
With model-driven apps, this enables an experience that enables you to view and interact with the hierarchy.
For developers, this enables new types of queries based on the hierarchy using the Under and Not Under
operators.
More information: Common Data Service Developer Guide : Query and visualize hierarchically related data.
See also
Common Data Service entities
Entity relationship eligibility
3/22/2019 • 2 minutes to read • Edit Online

Before you create an entity relationship you should confirm whether the entity is eligible to participate in the
relationship. The following table lists the messages that you can use to determine whether entities can participate
in entity relationships.

MESSAGE WEB API OPERATION SDK ASSEMBLY

CanBeReferenced CanBeReferenced Action CanBeReferencedRequest


Checks whether the specified entity can
be the primary entity (one) in a one-to-
many relationship.

CanBeReferencing CanBeReferencing Action CanBeReferencingRequest


Checks whether the specified entity can
be the referencing entity (many) in a
one-to-many relationship.

CanManyToMany CanManyToMany Action CanManyToManyRequest


Checks whether the entity can
participate in a many-to-many
relationship.

GetValidManyToMany GetValidManyToMany Function GetValidManyToManyRequest


Returns the set of entities that can
participate in a many-to-many
relationship.

GetValidReferencedEntities GetValidReferencedEntities Function GetValidReferencedEntitiesRequest


Returns the set of entities that are valid
as the primary entity (one) from the
specified entity in a one-to-many
relationship.

GetValidReferencingEntities GetValidReferencingEntities Function GetValidReferencingEntitiesRequest


Returns the set of entities that are valid
as the related entity (many) to the
specified entity in a one-to-many
relationship.

See also
Customize Entity Relationship Metadata
Extend the Metadata Model for Dynamics 365
Entity Relationship Metadata
Entity Relationship Messages
Entity Relationship Behavior
Create a 1:N Entity Relationship
Create an N:N Entity Relationship
Entity relationship metadata messages
3/22/2019 • 2 minutes to read • Edit Online

Entity relationships define how entities are related to each other. This includes information about how relationships
are represented in the application. Also, when actions are performed on a record, the relationship indicates what
actions to perform on related records.
The following table lists the messages that you can use to create, retrieve, update, and delete entity relationships.

WEB API ORGANIZATION SERVICE DESCRIPTION

POST request on CreateManyToManyRequest Creates a many-to-many relationship


RelationshipDefinitions entity. between two entities.
More information: Create a many-to-
many relationship

POST request on CreateOneToManyRequest Creates a one-to-many relationship


RelationshipDefinitions entity. between two entities.
More information: Create a one-to-
many relationship

DELETE request on DeleteRelationshipRequest Deletes an entity relationship.


RelationshipDefinitions entity.
More information: Delete relationships

GET request on RetrieveRelationshipRequest Retrieves an entity relationship.


RelationshipDefinitions entity.

PUT request on UpdateRelationshipRequest Updates an entity relationship.


RelationshipDefinitions entity.
More information: Update relationships

See also
Entity Relationship Eligibility
Configure entity relationship cascading behavior
Configure entity relationship cascading behavior
3/22/2019 • 2 minutes to read • Edit Online

You can configure cascading behaviors for a one-to-many entity relationship to preserve data integrity and
automate business processes. Both Web API and organization service support configuring cascading behavior.

Using Web API to configure cascading behavior


When working with Web API, you can define a One-to-Many relationship using OneToManyRelationshipMetadata
EntityType. This definition includes the name of the intersect entity to be created as well as how the relationship
should be displayed in the application by using AssociatedMenuConfiguration ComplexType, Label ComplexType
and LocalizedLabel ComplexType.
More information: Create a One-to-Many relationship using Web API.

Using Organization Service to configure cascading behavior


When you use CreateOneToManyRequest or UpdateRelationshipRequest you include an instance of a
OneToManyRelationshipMetadata class in the body of the request. In the CascadeConfiguration property of that
class you use the CascadeConfiguration class.
The CascadeConfiguration (CascadeConfiguration class or CascadeConfiguration ComplexType) contains the
properties representing actions that may be performed on the referenced entity in the one-to-many entity
relationship. Each property can be assigned one of the values of the CascadeType EnumType.

VALUE APPLICATION LABEL DESCRIPTION

Active Cascade Active Perform the action on all active


referencing entity records associated
with the referenced entity record.

Cascade Cascade All Perform the action on all referencing


entity records associated with the
referenced entity record.

NoCascade Cascade None Do nothing.

RemoveLink Remove Link Remove the value of the referencing


attribute for all referencing entity
records associated with the referenced
entity record.

Restrict Restrict Prevent the Referenced entity record


from being deleted when referencing
entities exist.

UserOwned Cascade User Owned Perform the action on all referencing


entity records owned by the same user
as the referenced entity record.

The CascadeConfiguration (CascadeConfiguration class or CascadeConfiguration ComplexType) contains the


following properties representing actions that may be performed on the referenced entity in the one-to-many
entity relationship.

ACTION DESCRIPTION VALID OPTIONS

Assign The referenced entity record owner is Active


changed. Cascade
NoCascade
UserOwned

Delete The referenced entity record is deleted. Cascade


Note: The options for this action are RemoveLink
limited. Restrict

Merge The record is merged with another Cascade


record. Note: For referenced entities NoCascade
that can be merged, Cascade is the only
valid option. In other cases use
NoCascade.

Reparent See About the reparent action later. Active


Cascade
NoCascade
UserOwned

Share When the referenced entity record is Active


shared with another user. Cascade
NoCascade
UserOwned

Unshare When sharing is removed for the Active


referenced entity record. Cascade
NoCascade
UserOwned

About the reparent action


The reparent action is very similar to the share action except that it deals with the inherited read access rights
instead of explicit read access rights. The reparent action is when you change the value of the referencing attribute
in a parental relationship. When a reparent action occurs, the desired scope of the inherited read access rights for
related entities might change. The cascade actions related to the reparent action refer to changes to read access
rights for the entity record and any entity records related to it.
See also
Entity relationship metadata
Customize entity and attribute mappings
3/22/2019 • 4 minutes to read • Edit Online

You can map attributes between entities that have an entity relationship. This lets you set default values for a record
that is created in the context of another record. Use the customization tools in the application to map attributes; see
Map entity fields.

Behavior in the application


Mapping in Common Data Service streamlines data entry when you create new records that are associated with
another record. When an entity has an entity relationship with another entity, you can create new related entity
records by using the Create Related tab in the ribbon. When you create a new record in this manner, mapped data
from the primary entity record is copied to the form for the new related entity record. By mapping entity attributes,
you control what data is copied by adding new mappings in the relationship between the two entities. If you create
a record in any way other than from the associated view of the primary entity, data is not mapped.
For example, you might want to set up a mapping between the address fields in accounts and the address fields in
contacts. With this mapping, when a user adds a contact associated with a specific account, the address fields for
the contact are populated automatically.
You can map one attribute to multiple target attributes. For example, you can map address information in an
account to both the billing and shipping addresses in an order.
Mapping is applied before a new, related record is created. Users can make changes before saving the record. Later
changes to the data in the primary record are not applied to the related record.

Using entity and attribute mapping data


Using Web API
When working with the Web API, you can use InitializeFrom Function to create new records in the context of
existing records where a mapping exists between the entities.
The response received from InitializeFrom request consists of values of mapped attributes between the source
entity and target entity and the GUID of parent record. The attribute mapping between entities that have an entity
relationship is different for different entity sets and is customizable, so the response from InitializeFrom function
request may vary for different entities and organizations. When this response is passed in the body of create
request of the new record, these attribute values are replicated in the new record. The values of custom mapped
attributes also get set in the new record during the process.

NOTE
To determine if two entities can be mapped, use the following Web API request:
GET [Organization URI]/api/data/v9.0/entitymaps?
$select=sourceentityname,targetentityname&$orderby=sourceentityname

For more information see Create a new entity from another entity.
Using Organization Service
When creating new records in the context of an existing record where a mapping exists between the entities, you
can use the InitializeFromRequest message to define a new record that contains the values specified in the
mapping. You can then use the IOrganizationService. Create method to save the record. In in this manner, any
mappings that you define are applied.
Valid entity maps are created when an entity relationship is created. Use the entity_map_attribute_maps entity
relationship to retrieve the attribute maps for the pair of entities specified by the entity map.
You can create or update attribute map records. The following requirements must be met for attribute maps:
The AttributeMetadata type must match.
The length of the target field cannot be shorter than the source field.
The format must match.
The target field must not be used in another mapping.
The source field must be visible on the entity form.
The target field must be a field in which a user can enter data.
Address ID values cannot be mapped.
PartyList attributes, where AttributeMetadata.AttributeType is AttributeTypeCode.PartyList cannot be mapped.

Auto-mapping attributes between entities


You can edit attribute mappings between entities for entity relationships that support mapping.
In addition to creating each attribute map manually, you can use the AutoMapEntity message(AutoMapEntity
Action or AutoMapEntityRequest class) to generate a new set of attribute mappings. This message performs the
action found under the Generate Mappings menu option in the More Actions menu on the toolbar (see
Automatically generate field mappings). This message maps all the attributes between the two related entities
where the attribute names and types are identical. This message is provided as a productivity enhancement so that
you do not have to manually add all attribute mappings. Instead, you can generate a set of likely mappings and
minimize the amount of manual work to add or remove individual mappings to meet your requirements.

NOTE
Automatically generating mappings in this manner will remove any previously defined attribute mappings and may include
mappings that you do not want.

Retrieve the entity and attribute mappings


An easy way to see the mappings that have been created is to use the following FetchXML query. For more
information on how to run this query, see Use FetchXML to query data.

<fetch version='1.0' mapping='logical' distinct='false'>


<entity name='entitymap'>
<attribute name='sourceentityname'/>
<attribute name='targetentityname'/>
<link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-
type='inner'>
<attribute name='sourceattributename'/>
<attribute name='targetattributename'/>
</link-entity>
</entity>
</fetch>

See also
Map entity fields
Use connections to link records to each other
3/22/2019 • 2 minutes to read • Edit Online

The connections provide a flexible way to connect and describe the relationships between any two entity records
Common Data Service. It helps you to promote teamwork, collaboration, and effective management of business
and sales processes. Connections enable you to easily associate users, contacts, quotes, sales orders, and many
other entity records with each other. The records in the association can be assigned particular roles that help define
the purpose of the relationship.
Connections provide the following capabilities:
An easy and flexible way to make a connection between two records of most Common Data Service entity
types. All customizable business and custom entities can be enabled for connections.
An option to add useful information, such as a description of the connection and the duration.
The ability to create connection roles that describe the relationship between two records, such as a
relationship between a doctor and a patient, or a manager and an employee.
A quick way to create multiple connections and roles for a particular record. For example, a contact may
have many relationships with other contacts, accounts, or contracts. In each relationship a contact may play
a different role.
Information for building queries and creating graphs. You can search for all connections and connection
roles for a particular record and create graphs and charts for visual representation of the connections.
Support for workflows and auditing for automating and improving business processes.

Enabling and creating connections


You can enable any custom or customizable entity for connection by updating the entity metadata. Use the
UpdateEntityRequest message to set the IsConnectionsEnabled property to true .
To create a connection between two records, use the Connection entity. You must specify a record from which you
create a connection (source) and a record to which you connect (target). Use the Connection.Record1Id attribute to
specify the source entity record and the Connection.Record2Id attribute to specify the target entity record.
Optionally, you can specify the duration of the connection and the description. To describe the relationship between
the participants in the connection, use the connection roles. To specify the connection roles, use the
Connection.Record1RoleId attribute and the Connection.Record2RoleId attribute.

Querying connections
Querying connections gives you valuable data that you can use to create reports, graphs, or charts. You can query
connections by an entity record, by an entity type (Entity Type Code), by a particular role, or other criteria. The
following are examples of how you can query connections:
By an entity record:
Show all connections for account A.
Show all roles for account A.
By an entity type (using Entity Type Codes):
Show all roles for the competitor entity.
Find the total number of roles for the account entity.
By a role:
Find all connections where account A is a “Vendor”.
Find all open opportunities over $20,000, where contact B is a “Salesperson”.
Find all matching roles for a “Doctor” role, such as “Patient”, “Nurse”, or “Medical Assistant”.
Find all contacts that have the role “Friend”.

IMPORTANT
When you create a connection entity record, two records are created in the database. The first record represents a source to
target connection and the second record represents a target to source connection. This guarantees that a query will find all
connections that the record participates in, regardless whether the record is a source record or a target record in the
connection.

See also
Describe a Relationship Between Entities with Connection Roles
Connection Entity
ConnectionRole Entity
Sample Code for Connection Entities
Business Management Entities
View and Analyze Data with Visualizations and Dashboards in Dynamics 365
Fiscal Calendar and Territory Entities
Describe a relationship between entities with
connection roles
3/22/2019 • 2 minutes to read • Edit Online

You can describe the relationship between records through the roles that you assign to them.
There are several ways you can use the connection roles in a connection:
Apply the same role to the source record and to the target record. A “friend”, a “team member”, or a
“colleague” are examples of roles that could be applied to both records in the connection.
Apply a role to the source record or to the target record, but not to both. A “salesperson” role in a contact to
opportunity connection is an example of such role. The records, such as opportunity, invoice, or sales order
usually contain sufficient information about what they represent and do not require a role assigned to them.
Apply two matching roles (sometimes referred to as reciprocal roles). One role applies to a source record
and the other role applies to a target record. A “doctor” and a “patient”, a “parent” and a “child” are examples
of matching roles.

Connection Role Categories


When you create connection roles, you can specify what category they belong to. For example, you can use the
following categories:
Business (supplier, buyer, competitor)
Family (father, sister, cousin)
Social (tennis partner, club member, friend)
The category list is customizable. You can add the categories that best fit your business model.

Create Connection Roles


To create a connection role you must specify the following information:
Use the ConnectionRole.Name attribute to specify a role name.
Use the ConnectionRole.Description attribute to add a role description.
Use the ConnectionRole.Category attribute to specify a role category. The possible values for this attribute
are defined in the connectionrole_category global option set.
When you create a connection role, you can specify an entity type that the role will be applied to, such as
lead, account, or competitor. If you do not specify a particular entity type, then you can apply a connection
role to all Common Data Service entities. To specify the entity type, use the
ConnectionRoleObjectTypeCode.AssociatedObjectTypeCode attribute. To link the connection role to a particular
entity type, use the ConnectionRoleObjectTypeCode.ConnectionRoleId attribute. A connection role record can
be referenced by multiple connection role object type code records. If you remove all references to the
connection role record, you can apply this connection role to all Common Data Service entities.
TIP
To find the connection roles for an account entity, in the query, specify all roles that are linked to the account entity
(Entity Type Code = 1) or to all entities (Entity Type Code = 0).

Associate and Disassociate Connection Roles


To associate the roles in the connection, use the Associate method. To disassociate the roles, use the Disassociate
method. For more information about the Associate message and the Disassociate message, see Introduction to
Entities in Dynamics 365.
See also
Connection Entities
Sample Code for Connection Entities
Sample: Create Reciprocal Connection Role (Early Bound)
Connection Entity
Customize labels to support multiple languages
3/22/2019 • 4 minutes to read • Edit Online

When you create customizations in Common Data Service, you can support multiple languages by using labels.

Using labels
MICROSOFT.XRM.SDK.DLL WEB API

Label class Label ComplexType

LocalizedLabel class LocalizedLabel ComplexType

Labels are localized strings displayed to users in the client applications. They are implemented by using Label
(Label ComplexType or Label class), which supports language packs. Strings that are displayed to users, such as
entity display names or options in an option set, can be stored in multiple languages. Users can select which
language they want displayed in forms and views in Common Data Service.
The following table lists all of the metadata that uses the Label .

METADATA PROPERTY DESCRIPTION

AttributeMetadata.Description Description for an attribute.

AttributeMetadata.DisplayName Display name for an attribute.

EntityMetadata.Description Description for an entity.

EntityMetadata.DisplayCollectionName Plural display name for an entity.

EntityMetadata.DisplayName Display name for an entity.

AssociatedMenuConfiguration.Label Label used for an entity in an entity relationship.

OptionMetadata.Label Label used for an option in a picklist, state, or status attribute.

The Label can store one string for each installed language. This array is the LocalizedLabels property. There must
always be a label stored for the base language. The labels for other languages can be null. If the user wants to
display the user interface in a language and a label does not have a string for that language, the label for the base
language is used.
You can use the UserLocalizedLabel property to retrieve the label for the language chosen by the user.

Messages to use with labels


The following table lists the messages you can use to work with localized labels to support multiple languages.
When you import translations you can generate a report based on the import Jjob in the same way you can when
importing a solution. For more information, see Install or Upgrade a Solution.
MESSAGE WEB API OPERATION SDK ASSEMBLY

ExportTranslation ExportTranslation Action ExportTranslationRequest


Exports all translations for a specific
solution to a compressed file.

ImportTranslation ImportTranslation Action ImportTranslationRequest


Imports all translations from a
compressed file.

RetrieveFormattedImportJobResults RetrieveFormattedImportJobResults RetrieveFormattedImportJobResultsReq


Retrieves the results of an ImportJob as Function uest
an XML document designed to be
opened using Office Excel.

RetrieveLocLabels RetrieveLocLabels Function RetrieveLocLabelsRequest


Retrieves the localized labels for the
specified attribute.

SetLocLabels SetLocLabels Action SetLocLabelsRequest


Sets the localized labels for the specified
attribute.

Customize labels in the base language


The customization tools provide ways to edit entity display names and you can customize these properties
programmatically. You can also edit entity messages. But not every message is exposed. Another way to locate and
customize text used in the application is to export the translations, edit the values for the base language and import
the translations again. Although this is not the intended purpose of this feature it is a supported way to identify and
customize text used in the application. For more information, see Modify Messages for an Entity.

Translate customized entity and attribute text


Because you can only perform customizations in the application by using the base language, when you want to
provide localized labels for these customizations you must export the text of the labels so that they can be localized
for any other languages enabled for the organization.
Export customized text for translation
You can export the translations in the Web application or by using the ExportTranslation message
(ExportTranslation Action or ExportTranslationRequest class).
Exported text is saved as a compressed file that contains a CrmTranslations.xml that you open by using Office Excel.
You can send this file to a linguistic expert, translation agency, or localization firm.
For more information, see Office 2003 XML Reference Schemas.
Import translated text
After you have exported the customized entity or attribute text and had it translated, you can import the translated
text strings in the Web application by using the ImportTranslation message (ImportTranslation Action or
ImportTranslationRequest class). The file that you import must be a compressed file that contains the
CrmTranslations.xml and the [Content_Types].xml file just as they were exported.
After you import the completed translations, customized text appears for users who work in the languages that you
had the text translated into.
NOTE
Common Data Service cannot import translated text that is over 500 characters long. If any of the items in your translation
file are longer than 500 characters, the import process will fail. If the import process fails, review the line in the file that
caused the failure, reduce the number of characters, and try to import again.

Because customization is supported only in the base language, you may be working in Common Data Service with
the base language set as your language preference. To verify that the translated text appears, you must change your
language preference for the Common Data Service user interface. To perform additional customization work, you
must change back to the base language.

Manage languages for your organization


Common Data Service enables you to install multiple language packs on a server and allows the user to select a
language pack. For more information about how to install language packs, see Enable Languages. This section
contains information about messages used to manage languages installed for your organization.
The following table lists the messages that you use to work with language packs. Use these messages with the
IOrganizationService.Execute method.

MESSAGE WEB API OPERATION SDK ASSEMBLY

DeprovisionLanguage DeprovisionLanguage Action DeprovisionLanguageRequest


Contains the data needed to
deprovision a language

ProvisionLanguage ProvisionLanguage Action ProvisionLanguageRequest


Contains the data needed to provision a
new language.

RetrieveAvailableLanguages RetrieveAvailableLanguages Function RetrieveAvailableLanguagesRequest


Retrieves the list of available languages.

RetrieveDeprovisionedLanguages RetrieveDeprovisionedLanguages RetrieveDeprovisionedLanguagesReque


Retrieves the list of language packs Function st
installed on the server that have been
disabled.

RetrieveInstalledLanguagePacks RetrieveInstalledLanguagePacks RetrieveInstalledLanguagePacksRequest


Contains the data needed to retrieve Function
the list of language packs installed on
the server.

RetrieveInstalledLanguagePackVersion RetrieveLicenseInfo Function RetrieveInstalledLanguagePackVersionR


Contains the data needed to retrieve equest
the version of an installed language
pack.

RetrieveProvisionedLanguages RetrieveProvisionedLanguages Function RetrieveProvisionedLanguagesRequest


Retrieves the list of language packs
installed on the server that are enabled.

RetrieveProvisionedLanguagePackVersio RetrieveProvisionedLanguagePackVersio RetrieveProvisionedLanguagePackVersio


n n Function nRequest
Retrieves the version of the language
packs installed on the server.
See also
Extend the Metadata Model for Dynamics 365
Customize Dynamics 365
Modify Messages for an Entity
AttributeMetadata
EntityMetadata
OptionMetadata
Best practices and guidance while working with
metadata for the Common Data Service
3/22/2019 • 2 minutes to read • Edit Online

This list below contains all of the guidance and best practices regarding interacting and working with metadata
within the Common Data Service.

BEST PRACTICE DESCRIPTION

Retrieve published metadata Retrieving unpublished metadata not only will add overhead
to processing the request itself, performing more slowly, it
could also return metadata that the requestor does not
expect.

Retrieve specific columns for an entity via query APIs Queries submitted to retrieve data should include specific
columns in the ColumnSet instance associated to the query
rather than All Columns.

See Also
Work with metadata using code
Introduction to solutions
3/22/2019 • 8 minutes to read • Edit Online

Solutions are how customizers and developers author, package, and maintain units of software that extend
Common Data Service. For example, Dynamics 365 for Sales, Marketing, Customer Service apps are composed
of solutions. Customizers and developers distribute solutions so that organizations can use Common Data
Service to install and uninstall the business functionality defined by the solution.
Every customization that you make to Common Data Service, or to a previously installed solution, is part of a
solution. Every change you apply is tracked and any dependencies can be calculated. When you export a
managed solution, it contains all the changes that have been applied for that solution into a file that you can then
import into a different Common Data Service environment.
If you intend to transport customizations or extensions between different Common Data Service environments
or distribute solutions using AppSource, you must understand the solution framework.

NOTE
For detailed information about how to effectively use solutions for a successful application lifecycle management (ALM)
implementation, see Whitepaper: Solution Lifecycle Management

Managed and unmanaged solutions


There are two types of solutions: managed and unmanaged.
A managed solution is a completed solution that is intended to be distributed and installed.
You cannot edit the components of a managed solution.
You cannot export a managed solution.
You can add unmanaged customizations to components of a managed solution. When you do this, you
create a dependency between your unmanaged customizations and the managed solution. When a
dependency exists, the managed solution cannot be uninstalled until you remove the dependency.
When a managed solution is deleted (uninstalled), all the customizations and extensions included with it
are removed.

IMPORTANT
When you uninstall a managed solution, the following data is lost: data stored in custom entities that are part of
the managed solution and data stored in custom attributes that are part of the managed solution on other entities
that are not part of the managed solution.

An unmanaged solution is one that is still under development or isn’t intended to be distributed.
While a solution is unmanaged, you can continue to add and remove components to it.
You can export an unmanaged solution to transport unmanaged customizations from one environment to
another.
When an unmanaged solution is deleted, only the solution container of any customizations included in it
is deleted. All the unmanaged customizations remain in effect and belong to the default solution.
When the unmanaged solution is complete and you want to distribute it, export it as a managed solution.

NOTE
You cannot import a managed solution into the same environment that contains the originating unmanaged
solution. To test a managed solution, you need a separate environment to import it into.

Solution publishers
Each solution is linked to a solution publisher. The solution publisher provides information about how to contact
the publisher as well a customization prefix value. The default value is new .
When any schema changes are included as part of a solution, the solution publisher customization prefix is
prepended to the name of the schema items. Any custom actions also have this value appended to them. This is
valuable because it allows for easy recognition of which solution added the schema item or custom action. It is
not required for all schema items and custom actions in a solution to use the same customization prefix, but it is
strongly recommended.

IMPORTANT
Before you start creating a solution, you should create a solution publisher record and create a new solution linked to it.
You should make sure the customization prefix represents a value that makes sense for you.

Your choice of solution publisher is important in case you want to publish an update to a solution you have
shipped. An update can only be applied to a managed solution with the same publisher as the original managed
solution.
More information: Maintain managed solutions > Create managed solution updates

Create a solution publisher and solution


To create a solution publisher and a solution you need to navigate to the Common Data Service Customization
area.
From powerapps.com
1. Select the Waffle icon at the top left corner
2. In the fly out, select All apps.
3. Look for the Common Data Service - custom app. You may want to click the ellipses (...) and choose Pin
this app so it will be easier to navigate to next time.
4. Click the Common Data Service - custom app app and select it.
5. Navigate to Settings > Customization > Customizations.
From home.dynamics.com
1. Look for the Common Data Service - custom tile and click it.
2. Navigate to Settings > Customization > Customizations.
Create a solution publisher
1. From the customizations area, select Publishers.
2. Click New.
3. In the publisher form enter a Display Name. A Name value will be generated based on the display name.
You can accept the generated value or specify a new one.
4. In the prefix field, specify the customization prefix that should be appended to any custom schema items you
add when developing your solution. The default value is new . Choose a value that represents your
organization and will help people identify which components installed in their system came from your
solution.
5. An Option Value Prefix value will be generated based on your choice for customization prefix. This is a
value that will be appended to any values for option set options you add to attributes in your solution. This
value will help identify any options you add to your solution.
6. In the Contact Details section of the form, you may add any contact information you want to provide for
people who install your solution.
7. Click Save and Close when you are done.
Create a solution
1. From the customizations area, select Solutions.
2. Click New.
3. In the solution form enter a Display Name. A Name value will be generated based on the display name. You
can accept the generated value or specify a new one.
4. In the Publisher field look up the publisher you created in Create a solution publisher
5. In the Version field select an appropriate version for your solution, such as 1.0.0.0.
6. Click Save when you are done.

IMPORTANT
Whenever you create a new solution component that will be included in this solution, use this solution, or another solution
associated with the same solution publisher to add it. Solution components created in the context of a solution associated
to a different solution publisher can be added to this solution, but they may have inconsistent customization prefix values
set.

Solution layering
It is possible for two managed solutions to be installed which contradict each other or for some customizations
applied to the environment to override a managed solution. How does this work?
It works because Common Data Service evaluates managed solutions by the order in which they are installed
and any customizations that are not in a managed solution are evaluated last.
The following diagram introduces how managed solutions and unmanaged customizations interact to control
what is included at runtime in the application.
In this example, default behavior defined in the system solution is overridden or appended by managed
solutions. Any unmanaged customizations can then override or append customizations that are then visible in
the application.
More information: Introduction to solutions > Unmanaged and managed solutions

Managed properties
When you distribute a managed solution, anyone who installs your solution can include their own unmanaged
customizations to it. Those unmanaged customizations can then be added to a solution that they distributed as a
managed solution that depends on your solution. But what if you don’t want people to do this? As the publisher
of the managed solution you can use managed properties to disable specific customizations for the components
of your managed solution.
More information: Use managed properties

Modular solutions
You can use the solution framework to create a discrete set of components that provide a set of functionalities.
Each managed solution can be installed and uninstalled to return the customer’s deployment to its original state.
Each managed solution you create runs on top of the system solution and can access the capabilities of that
underlying solution.
You can also build managed solutions that run on top of other solutions to create a set of functionalities that can
be shared by different solutions. In this way, you can build and maintain a common module as a solution to
support multiple solutions. Because of this, customers only need to install the solutions that are right for them
and you don’t need to include the same shared functionality in every solution. If you need to push out an update
to solution that supports multiple solutions, you only need to update the common module.
Customers, System Implementers, and other ISVs can then build solutions on top of your solutions to achieve
the specific customizations they require.
When a set of business functionality is composed with multiple solutions, these are called packages. You can use
the Package Deployer to combine multiple solutions into a single installable unit.

Deploy solution packages


Use the Package Deployer to create a custom installer for a package that can include
One or more solution files.
Flat files or exported configuration data files.
Custom code that can run before, while, or after the package is deployed.
HTML content specific to the package that can display at the beginning and end of the deployment process.
This can be useful to provide a description of the solutions and files that are deployed in the package.
More information: Create packages for the Common Data Service Package Deployer.

Team development of solutions


A solution file is a single binary file that does not lend itself to source code control or team development. There is
no way for multiple developers to work on the custom components in the solution.
The SolutionPackager tool resolves the problem of source code control and team development of solution files.
The tool identifies individual components in the compressed solution file and extracts them out to individual files.
The tool can also re-create a solution file by packing the files that had been previously extracted. This enables
multiple people to work independently on a single solution and extract their changes into a common location.
Because each component in the solution file is broken into multiple files, it becomes possible to merge
customizations without overwriting prior changes. A secondary use of the SolutionPackager tool is that it can be
invoked from an automated build process to generate a compressed solution file from previously extracted
component files without needing an active Common Data Service instance.
More information: Solution tools for team development
See also
Common Data Service Developer Overview
Dependency tracking for solution components
3/22/2019 • 10 minutes to read • Edit Online

Solutions are made of solution components. You’ll use the Solutions area in Common Data Service to create or
add solution components. You can perform these actions programmatically by using the
AddSolutionComponentRequest message or any messages that create or update solution components that
include a SolutionUniqueName parameter.
Solution components often depend on other solution components. You can’t delete any solution component that
has dependencies on another solution component. For example, a customized ribbon typically requires image or
script web resources to display icons and perform actions using scripts. As long as the customized ribbon is in the
solution, the specific web resources it uses are required. Before you can delete the web resources you must
remove references to them in the customized ribbon. These solution component dependencies can be viewed in
the application by clicking Show Dependencies.
This topic describes the types of solution components you can include in your solutions and how they depend on
each other.

All solution components


The complete list of available solutions component types is located in the system componenttype global option set.
The supported range of values for this property is available by including the file OptionSets.cs or OptionSets.vb
in your project. However, many of the solution component types listed there are for internal use only and the list
doesn’t provide information about the relationships between solution components.

Solution component dependencies


Solution component dependencies help make sure you have a reliable experience working with solutions. They
prevent actions that you normally perform from unintentionally breaking customizations defined in a solution.
These dependencies are what allow a managed solution to be installed and uninstalled simply by importing or
deleting a solution.
The solutions framework automatically tracks dependencies for solution components. Every operation on a
solution component automatically calculates any dependencies to other components in the system. The
dependency information is used to maintain the integrity of the system and prevent operations that could lead to
an inconsistent state.
As a result of dependency tracking the following behaviors are enforced:
Deletion of a component is prevented if another component in the system depends on it.
Export of a solution warns the user if there are any missing components that could cause failure when
importing that solution in another system.
Warnings during export can be ignored if the solution developer intends that the solution is only to be
installed in an organization where dependent components are expected to exist. For example, when you
create a solution that is designed to be installed over a pre-installed ”base” solution.
Import of a solution fails if all required components aren’t included in the solution and also don’t exist in the
target system.
Additionally, when you import a managed solution all required components must match the package
type of the solution. A component in a managed solution can only depend on another managed
component.
There are three types of solution component dependencies:
Solution Internal
Internal dependencies are managed by Common Data Service. They exist when a particular solution
component can’t exist without another solution component.
Published
Published dependencies are created when two solution components are related to each other and then
published. To remove this type of dependency, the association must be removed and the entities published
again.
Unpublished
Unpublished dependencies apply to the unpublished version of a publishable solution component that is
being updated. After the solution component is published, it becomes a published dependency.
Solution internal dependencies are dependencies where actions with a solution component require an
action for another solution component. For example, if you delete an entity, you should expect that all the
entity attributes will be deleted with it. Any entity relationships with other entities will also be deleted.
However, an internal dependency may lead to a published dependency and still require manual
intervention. For example, if you include a lookup field on an entity form and then delete the primary entity
in the relationship, you can’t complete that deletion until you remove the lookup field from the related
entity form and then publish the form.
When you perform actions programmatically with solutions, you can use messages related to the
Dependency entity. See Dependency Entity for messages you can use to identify dependencies that may
exist before you delete a component or uninstall a solution.

Check for solution component dependencies


When you edit solutions you may find that you can’t delete a solution component because it has a published
dependency with another solution component. Or, you may not be able to uninstall a managed solution because
one of the components in the managed solution has been used in a customization in another unmanaged solution.
The following table lists the messages that you can use to retrieve data about solution component dependencies.

MESSAGE DESCRIPTION

RetrieveDependentComponentsRequest Returns a list of dependencies for solution components that


directly depend on a solution component.

For example, when you use this message for a global option
set solution component, dependency records for solution
components representing any option set attributes that
reference the global option set solution component are
returned.

When you use this message for the solution component


record for the account entity, dependency records for all of
the solution components representing attributes, views, and
forms used for that entity are returned.

RetrieveRequiredComponentsRequest Returns a list of the dependencies for solution components


that another solution component directly depends on. This
message provides the reverse of the
RetrieveDependentComponentsRequest message.
MESSAGE DESCRIPTION

RetrieveDependenciesForDeleteRequest Returns a list of all the dependencies for solution components


that could prevent deleting a solution component.

RetrieveDependenciesForUninstallRequest Returns a list of all the dependencies for solution components


that could prevent uninstalling a managed solution.

Common Solution components


These are the solution components displayed in the application and the components that you’ll work with directly
when adding or removing solution components using the solution page. Each of the other types of solution
components will depend on one or more of these solution components to exist.

Application Ribbons Entity (Entity) Report (Report)


(RibbonCustomization)

Article Template (KBArticleTemplate) Field Security Profile SDK Message Processing Step
(FieldSecurityProfile) (SDKMessageProcessingStep)

Connection Role (ConnectionRole) Mail Merge Template Security Role (Role)


(MailMergeTemplate)

Contract Template (ContractTemplate) Option Set (OptionSet) Service Endpoint (ServiceEndpoint)

Dashboard or Entity Form Plug-in Assembly (PluginAssembly) Site Map (SiteMap)


(SystemForm)

Email Template (EmailTemplate) Process (Workflow) Web Resource (WebResource)

Application ribbons (RibbonCustomization)


Ribbon customizations for the application ribbon and entity ribbon templates. Application ribbons don’t include
definitions of ribbons at the entity or form level.
Custom application ribbons frequently have published dependencies on web resources. Web resources are used to
define ribbon button icons and JavaScript functions to control when ribbon elements are displayed or what actions
are performed when a particular ribbon control is used. Dependencies are only created when the ribbon
definitions use the $webresource: directive to associate the web resource to the ribbon. More information:
$webresource directive
Article template (KBArticleTemplate )
Template that contains the standard attributes of an article. There is always an internal dependency between the
article template and the KbArticle entity.
Connection role (ConnectionRole )
Role describing a relationship between a two records. Each connection role defines what types of entity records
can be linked using the connection role. This creates a published dependency between the connection role and the
entity.
Contract template (ContractTemplate )
Template that contains the standard attributes of a contract. There is always an internal dependency between the
contract template and the contract entity.
Dashboard or entity form (SystemForm)
System form entity records are used to define dashboards and entity forms. When a SystemForm is used as an
entity form there is an internal dependency on the entity. When a SystemForm is used as a dashboard there are no
internal dependencies. Both entity forms and dashboards commonly have published dependencies related to their
content. An entity form may have lookup fields that depend on an entity relationship. Both dashboards and entity
forms may contain charts or subgrids that will create a published dependency on a view, which then has an
internal dependency on an entity. A published dependency on web resources can be created because of content
displayed within the dashboard or form or when a form contains JavaScript libraries. Entity forms have published
dependencies on any attributes that are displayed as fields in the form.
Email template (EmailTemplate )
Template that contains the standard attributes of an email message. An email template typically includes fields that
insert data from specified entity attributes. An email template can be linked to a specific entity when it is created so
there can be an internal dependency on the entity. A global email template isn’t associated with a specific entity,
but it may have published dependencies on entity attributes used to provide data. A process (workflow ) frequently
is configured to send an email using an email template creating a published dependency with the workflow.
Entity (Entity)
The primary structure used to model and manage data in Common Data Service. Charts, forms, entity
relationships, views, and attributes associated with an entity are deleted automatically when the entity is deleted
because of the internal dependencies between them. Entities frequently have published dependencies with
processes, dashboards, and email templates.
Field security profile (FieldSecurityProfile )
Profile that defines the access level for secured attributes.
Mail merge template (MailMergeTemplate )
Template that contains the standard attributes of a mail merge document. A mail merge template has a published
dependency on the entity it’s associated with.
Option set (OptionSet)
An option set defines a set of options. A picklist attribute uses an option set to define the options provided. Several
picklist attributes may use a global option set so that the options they provide are always the same and can be
maintained in one place. A published dependency occurs when a picklist attribute references a global option set.
You can’t delete a global option set that is being used by a picklist attribute.
Plug-in assembly (PluginAssembly)
Assembly that contains one or more plug-in types. Plug-ins are registered to events that are typically associated
with an entity. This creates a published dependency.
Process (Workflow)
Set of logical rules that define the steps necessary to automate a specific business process, task, or set of actions to
be performed. Processes provide a wide range of actions that create published dependencies on any other solution
component referenced by the process. Each process also has a published dependency on the entity it’s associated
with.
Report (Report)
Data summary in an easy-to-read layout. A report has published dependencies on any entity or attribute data
included in the report. Each report must also be associated with a Report category creating an internal
dependency on a solution component called Report Related Category (ReportCategory). Reports may be
configured to be subreports creating a published dependency with the parent report.
SDK message processing step (SDKMessageProcessingStep)
Stage in the execution pipeline that a plug-in is to execute.
Security role (Role )
Grouping of security privileges. Users are assigned roles that authorize their access to the Common Data Service
system. Entity forms can be associated with specific security roles to control who can view the form. This creates a
published dependency between the security role and the form.

NOTE
Only security roles from the organization business unit can be added to a solution. Only a user with read access to those
security roles can add them to a solution.

Service endpoint (ServiceEndpoint)


Service endpoint that can be contacted.
Site map (SiteMap)
XML data used to control the application navigation pane. The site map may be linked to display an HTML web
resource or an icon in the site map may use an image web resource. When the $webresource: directive is used to
establish these associations a published dependency is created. More information: $webresource directive
Web resource (WebResource )
Data equivalent to files used in web development. Web resources provide client-side components that are used to
provide custom user interface elements. Web resources may have published dependencies with entity forms,
ribbons and the SiteMap. When the $webresource: directive is used to establish associations in a ribbon or the
SiteMap, a published dependency is created. For more information, see $webresource directive.

NOTE
Web resources may depend on other web resources based on relative links. For example, an HTML web resource may use a
CSS or script web resource. A Silverlight web resource displayed outside of an entity form or chart must have an HTML web
resource to host it. These dependencies aren’t tracked as solution dependencies.

See also
Package and Distribute Extensions with Dynamics 365 Solutions
Introduction to Solutions
Plan For Solution Development
Create, Export, or Import an Unmanaged Solution
Create, install, and update a managed solution
Create, Install, and Update a Managed Solution
Uninstall or Delete a solution
Solution entities
Maintain managed solutions
3/22/2019 • 2 minutes to read • Edit Online

Before you release your managed solution you should consider how you will maintain it. Uninstalling and
reinstalling a managed solution is practically never an option when the solution contains entities or attributes. This
is because data is lost when entities are deleted. Fortunately, solutions provide a way to update your managed
solution while maintaining the data. Exactly how you update your solutions will depend on the characteristics of
the solution and the requirements of the change.

Version compatibility
Any solution exported from a newer version of Common Data Service cannot be imported into an older version of
Dynamics 365. This includes major and minor versions. Solutions exported from an earlier version of Dynamics
365 can be imported into later versions as shown in the following chart.

As additional update rollups or service updates are applied to Common Data Service, solutions exported from
organizations with those updates cannot be imported into organizations which do not have those updates. More
information: Introduction to Solutions.
The <ImportExportXml> root element uses a SolutionPackageVersion attribute to set the value for the version that
the solution is compatible with. You should not manually edit this value.

Create managed solution updates


There are two basic approaches to updating solutions:
Release a new version of your managed solution
Release an update for your managed solution
Release a new version of your managed solution
The preferred method is to release a new version of your managed solution. Using your original unmanaged
source solution, you can make necessary changes and increase the version number of the solution before
packaging it as a managed solution. When the organizations that use your solution install the new version, their
capabilities will be upgraded to include your changes. If you want to go back to the behavior in a previous version,
simply re-install the previous version. This overwrites any solution components with the definitions from the
previous version but does not remove solution components added in the newer version. Those newer solution
components remain in the system but have no effect because the older solution component definitions will not use
them.
During the installation of a previous version of a solution Common Data Service will confirm that the person
installing the previous version wants to proceed.
Release an update for your managed solution
When only a small subset of solution components urgently requires a change you can release an update to
address the issue. To release an update, create a new unmanaged solution and add any components from the
original unmanaged source solution that you want to update. You must associate the new unmanaged solution
with the same publisher record as was used for the original solution. After you finish with your changes, package
the new solution as a managed solution.
When the update solution is installed in an organization where the original solution was installed the changes
included in the update will be applied to the organization. If an organization needs to ‘roll back’ to the original
version they can simply uninstall the update.
Any customizations applied to the solution components in the update will be overridden. When you uninstall the
update they will return.
See also
Plan For Solution Development
Publish your app on AppSource
Organize your solutions
3/22/2019 • 3 minutes to read • Edit Online

Before you create solutions, take some time to plan ahead. For example, think about how many solutions you want
to release and whether the solutions will share components.
Also, determine how many Common Data Service organizations you’ll need to develop your line of solutions. You
can use a single organization for most strategies described in this topic. However, if you decide to have only one
organization and later realize that you need more, it can be challenging to change the solutions if people have
already installed them. Using multiple organizations, although introducing more complexity, can provide better
flexibility.

Strategies to organize your solutions


The following are some strategies for creating solutions listed in order from simplest to most complex:
No custom solutions
Single solution
Multiple solutions
Multiple solutions with shared components
Solution libraries
No custom solutions
You don’t have to create solutions. You can customize Common Data Service directly by using the default solution.
You can still export your default solution as an unmanaged solution to transport it between organizations.

TIP
If you change the customization prefix for the default publisher to a value that matches a publisher you may want to create
in the future, any new customizations that you create will include this customization prefix in the name. This way, if you use
solutions, you can add the customizations that you created in your default solution to an unmanaged solution so they can
have consistent names.

Single solution
By creating a solution, you establish a working set of customizations. This makes it easier to find items that you
have customized.
This approach is recommended when you only want to create a single managed solution. If you think you may
have to split up the solution in the future, consider using multiple solutions.
Multiple solutions
If you have two unrelated solutions that don’t share components, the most direct approach is to create two
unmanaged solutions.
NOTE
It is very common in solutions to modify the application ribbons or the Sitemap. If both of your solutions modify these
solution components, they are shared components. See the following section to see how to work with shared components.

Multiple solutions with shared components


You may have multiple solutions that share components. You may have a certain set of common functionality
within multiple solutions and that common functionality is compatible with any of the other functionality unique to
each solution. For example, you may have a set of utility plug-ins that each solution uses yet each of the separate
solutions do not share any other components.
In this case, each solution can be developed in a single organization. Some components can be included in more
than one solution as long as any changes that were made to them are compatible with all other solutions that use
them. It is important that all the solutions share the same solution publisher. If the solution publisher is not
identical, organizations will not be able to install more than one of your solutions.
Solution libraries
For an ISV with multiple solutions or a large enterprise deployment, many solution components will probably have
to be shared. The best ways for solutions to share components is through solution libraries. Create a solution
library by creating an unmanaged solution in a separate organization and then packaging those components into a
managed solution. Install the managed solution into another organization and let developers reference these
shared components.
The Common Data Service Solutions Framework lets you build layers of solutions that depend on each other.
Typically, you create a solution library representing a ”base” solution. Other solutions can be built on top of this
base solution. This allows for cleaner separation of components. Development teams that are working on solution
libraries and those working on the dependent solutions can develop at different paces. The dependent solutions
must be created after the solution libraries are installed.
This requires that you create a prerequisite solution that customers must install before they can install a dependent
solution. Developers working on the solution libraries can continue to work on them and update them as long as
they don’t break any dependent solutions that require them.
See also
Organize your team to develop solutions
Planning for Solution Development
Organize your team to develop solutions
3/22/2019 • 2 minutes to read • Edit Online

When multiple developers have to work on the same solution, you may want to create an environment where each
developer can create customizations that will not interfere with the work of other developers. You may also need to
move your solution from development environments to test environments and user acceptance testing (UAT)
environments.

Strategies for team development


Some strategies to manage team development of solutions are as follows:
Single Organization: One Master Solution
Single Organization: Multiple Developer Solutions + Master Solution
One Organization per Developer
Single organization: One master solution
Multiple developers can work on a single organization; however, they have to be careful to work on separate
components. This is easier when any prerequisite managed solutions (shared libraries) are installed first.
Single organization: Multiple developer solutions + master solution
In a single organization, you can create separate unmanaged solutions for each developer. Each solution contains a
sub set of a master solution. Each solution component exists in only one unmanaged solution. Developers do not
add existing solution components to the unmanaged solutions assigned to them. This provides a clear separation
of components that are being modified. You do not have to merge changes because each developer’s solution
contains a reference to components that are contained in the master solution.
One organization per developer
Each developer can work on their own organization. To check their changes into Common Data Service, they must
export their solution as an unmanaged solution. The solution from each developer’s organization is then imported
into a master solution. Use the master solution to export the managed solution.

Deploy solutions from development through test and production


environments
In development organizations, solutions are deployed into various test and staging environments for analysis
before they are deployed into a production environment. The white paper Deploying Microsoft Dynamics CRM
2011 and CRM Online Solutions from Development through Test and Production Environments explores how to
deploy real-world Dynamics 365 solutions across test and production environments in reliable and repeatable
ways by using automation. The paper also highlights specific constraints that exist when you deploy and test
solutions in Common Data Service.
See also
Planning for Solution Development
Modularize your Solutions
White Paper: Deploying Dynamics 365 Customer Engagement and CRM Online Solutions from Development
through Test and Production Environments
Use managed properties
3/22/2019 • 4 minutes to read • Edit Online

You can control which of your managed solution components are customizable by using managed properties. You
should allow as much customization as possible for those solution components that represent business entities. This
lets organizations customize your solution to their requirements. Limit or eliminate customization of critical solution
components that provide the core functionality of your solution so that you can predictably support and maintain it.
Managed properties are intended to protect your solution from modifications that may cause it to break. Managed
properties do not provide digital rights management (DRM ), or capabilities to license your solution or control who
may install it.

Apply managed properties


You apply managed properties when the solution is unmanaged. The managed properties will take effect after you
package the managed solution and install it in a different organization. After the managed solution is installed, the
managed properties cannot be updated except by an update of the solution by the original publisher.
Most solution components have a Managed Properties button when viewing a list of solution components. You can
view or update the managed properties for a solution component when you click this button. To access managed
properties for solutions that do not display this button, select Managed Properties from the More Actions drop-
down list.
By default, all custom solution components are customizable. To change the managed properties for a solution
component, click the Managed Properties button in the toolbar for the solution component. Each solution
component has a Can be customized( IsCustomizable ) property. As long as this property is true, more properties
specific to the type of solution component can be specified. If you set the IsCustomizable.Value property to false, after
the solution is installed as a managed solution the solution component will not be customizable. The following table
lists the managed properties for each solution component.

COMPONENT DISPLAY NAME PROPERTY

Entity Can be customized IsCustomizable. Value

Entity Display name can be modified IsRenameable. Value

Entity Can be related entity in relationship CanBeRelatedEntityInRelationship.


Value (Read Only)

Entity Can be primary entity in relationship CanBePrimaryEntityInRelationship.


Value (Read Only)

Entity Can be in many-to-many relationship CanBeInManyToMany. Value (Read


Only)

Entity New forms can be created CanCreateForms. Value

Entity New charts can be created CanCreateCharts. Value

Entity New views can be created CanCreateViews. Value


COMPONENT DISPLAY NAME PROPERTY

Entity Can change any other entity properties CanModifyAdditionalSettings. Value


not represented by a managed property

Field (Attribute) Can be customized IsCustomizable. Value

Field (Attribute) Display name can be modified IsRenameable. Value

Field (Attribute) Can change requirement level RequiredLevel. CanBeChanged

Note:

RequiredLevel is the only managed


property to use the CanBeChanged
property.

Field (Attribute) Can change any other attribute CanModifyAdditionalSettings. Value


properties not represented by a
managed property

Entity Relationship Can be customized IsCustomizable. Value

Form Can be customized SystemForm.IsCustomizable.Value

Chart Can be customized SavedQueryVisualization.IsCustomizable.Value

View Can be customized SavedQuery.IsCustomizable.Value

Option Set Can be customized IsCustomizable. Value

Web Resource Can be customized WebResource.IsCustomizable.Value

Workflow Can be customized Workflow.IsCustomizable.Value

Assembly Can be customized SdkMessageProcessingStep.IsCustomizable.Value

Assembly Registration Can be customized ServiceEndpoint.IsCustomizable.Value

E-mail Template Can be customized Template.IsCustomizable.Value

KB Article Template Can be customized KbArticleTemplate.IsCustomizable.Value

Contract Template Can be customized ContractTemplate.IsCustomizable.Value

Mail Merge Template Can be customized MailMergeTemplate.IsCustomizable.Value

Dashboard Can be customized SystemForm.IsCustomizable.Value

Security Roles Can be customized Role.IsCustomizable.Value

Update managed properties


After you release your managed solution, you may decide that you want to change the managed properties. You can
only change managed properties to make them less restrictive. For example, after your initial release you can decide to
allow customization of an entity.
You update managed properties for your solution by releasing an update to your solution with the changed managed
properties. Your managed solution can only be updated by another managed solution associated with the same
publisher record as the original managed solution. If your update includes a change in managed properties to make
them more restrictive, those managed property changes will be ignored but other changes in the update will be
applied.
Because the original publisher is a requirement to update managed properties for a managed solution, any
unmanaged solution cannot be associated with a publisher that has been used to install a managed solution.

NOTE
This means you will not be able to develop an update for your solution by using an organization where your managed solution is
installed.

Check managed properties


Use the IsComponentCustomizableRequestto check whether a solution component is customizable. Alternatively, you
can check the solution component properties but you must consider that the ultimate determination of the meaning
depends on the values of several properties. Each solution component has an IsCustomizable property. When a
solution component is installed as part of a managed solution, the IsManaged property will be true. Managed
properties are only enforced for managed solutions. When checking managed properties to determine if an individual
solution component is customizable, you must check both the IsCustomizable and IsManaged properties. A solution
component where IsCustomizable is false and IsManaged is false, is customizable.
Entity and attribute have more managed properties in addition to IsCustomizable . These managed properties are not
updated if IsCustomizable is set to false. This means that in addition to checking the individual managed property, you
must also check the IsCustomizable property to see if the managed property is being enforced.
See also
Managed properties
Plan For Solution Development
Maintain Managed Solutions
Package and Distribute Extensions with Dynamics 365 Solutions
IsComponentCustomizableRequest
Understand how managed solutions are merged
3/22/2019 • 4 minutes to read • Edit Online

When you prepare your managed solution to be installed, remember that an organization may have multiple
solutions installed or that other solutions may be installed in the future. Construct a solution that follows best
practices so that your solution will not interfere with other solutions.
The processes that Common Data Service uses to merge customizations emphasize maintaining the functionality
of the solution. While every effort is made to preserve the presentation, some incompatibilities between
customizations may require that the computed resolution will change some presentation details in favor of
maintaining the customization functionality.

Merge form customizations


The only form customizations that have to be merged are those that are performed on any entity forms that are
already in the organization. Typically, this means that form customizations only have to be merged when your
solution customizes the forms that were included for entities created when Common Data Service was installed.
One way to avoid form merging is to provide new forms for any Common Data Service entities. Forms for custom
entities will not require merging unless you are creating a solution that updates or modifies an existing managed
solution that created the custom entities and their forms.
When a solution is packaged as a managed solution the form definitions stored in FormXML are compared to the
original FormXML and only the differences are included in the managed solution. When the managed solution is
installed in a new organization, the form customization differences are then merged with the FormXML for the
existing form to create a new form definition. This new form definition is what the user sees and what a system
customizer can modify. When the managed solution is uninstalled, only those form elements found in the managed
solution are removed.
When you add new elements to a form that is to be merged, we recommend that you include your new elements
within new container elements (tabs or sections). Additions to any container will be appended to the end of the
container. For example, fields added to a section will be positioned at the end of the section. It is expected that a
customizer installing a solution will then modify the form to re-arrange elements after it is installed.
Managed solutions that contain forms that use new security roles depend on those roles. You should include these
security roles with your managed solution. If there are security roles associated with a form that are not in the
organization that the managed solution is being installed on, the installation will not fail but the forms may not be
associated with any security roles. When the managed solution is uninstalled, any security roles included with it will
be removed. Any forms outside the managed solution can no longer be associated with those security roles.

NOTE
When a managed solution entity contains multiple forms and the organization entity form also contains multiple forms, the
new forms are not appended to the bottom of the list of available forms – they are interleaved with the original entity forms.

Merge navigation (SiteMap) customizations


When a solution is packaged as managed the SiteMap XML is compared to the original SiteMap XML and any
other customizations made to the SiteMap. Only the differences are included in the managed solution. These
differences include items that are changed, moved, added or removed. When the managed solution is installed in a
new organization, the SiteMap changes are merged with the SiteMap XML found for the organization where the
managed solution is being installed. A new SiteMap definition is what people see.
At this point, a customizer can export the SiteMap to an unmanaged solution and that SiteMap definition will
include all the elements of the active SiteMap. A customizer can then modify the SiteMap and re-import it as an
unmanaged customization. Later, if the managed solution is uninstalled, the SiteMap XML that was imported with
the managed solution will be referenced to remove the changes introduced with that managed solution. A new
active SiteMap is then calculated.
Whenever a new visible element is added to the SiteMap, it appears at the bottom of whatever container it belongs
in. For example, a new area appears at the bottom of the Navigation area. To position the elements that have been
added, you must export the SiteMap, edit it to set the precise position and then import it again as an unmanaged
solution.

NOTE
Only one SiteMap customization can be applied between publishing. Any unpublished SiteMap customizations will be lost
when a new SiteMap definition is imported.

Merge option set options


Each new option set option is initialized with an integer value assigned that includes an option value prefix. The
option value prefix is a set of five digits prepended to the option value. An option value prefix is generated based
on the solution publishers customization prefix but may be set to any value. The option value prefix helps
differentiate new option set options created in the context of a specific solution publisher and reduces the
opportunity for collisions of option values. Using the option value prefix is recommended but not required.
A managed solution usually updates or adds options for option sets that are already in the organization, for
example, the account Category or Industry option sets. When a managed solution modifies the options available in
an option set, all the options defined in the managed solution are available in the organization. When the managed
solution is uninstalled, the option set options will be returned to their original state.
See also
Plan for Solution Development
Use Managed Properties
Customize Entity Forms
Change Application Navigation using the SiteMap
Create solutions that support multiple languages
3/22/2019 • 11 minutes to read • Edit Online

Common Data Service supports multiple languages. If you want your solution to be installed for organizations that
include different base languages or that have multiple languages provisioned, take this into account when planning
your solution. The following table lists tactics to use along with solution components to include in a solution that
supports multiple languages.

TACTIC SOLUTION COMPONENT TYPE

String (RESX) web resources Web Resources

Embedded labels Application Navigation (SiteMap)


Ribbons

Export and import translations Attributes


Charts
Dashboards
Entity
Entity Relationships
Forms
Messages
Option Sets
Views

Localization in base language strings Contract Templates


Connection Roles
Processes (Workflow)
Security Roles
Field Security Profiles

Localization not required SDK Message Processing Steps


Service Endpoints

Separate component for each language Article Templates


Email Templates
Mail Merge Templates
Reports
Dialogs

Use XML web resources as language resources Plug-in Assemblies

The following sections provide additional details for each tactic.

String (RESX) web resources


With string (RESX) web resources added with Common Data Service developers have a more robust option to
create web resources that support multiple languages. More information String (RESX) web resources.
For earlier versions, see Developer option

Embedded labels
Each of the solution components that use this tactic requires that any localized text be included in the solution
component.
Ribbons
When a language pack is installed, the application ribbon automatically displays localized text for all of the default
text in the ribbon. System labels are defined in a ResourceId attribute value that is for internal use only. When you
add your own text you should use the <LocLabels> element to provide localized text for the languages you
support. More information: Use Localized Labels with Ribbons
SiteMap
When a language pack is installed, the default text in the application navigation bar automatically displays localized
text. To override the default text or to provide your own text, use the <Titles> element. The Titles element
should contain a <Title> element that contains localized text for any languages your solution supports. If a Title
element isn’t available for the user’s preferred language, the title that corresponds to the organization base
language is displayed.
The <SubArea> element allows for passing the user’s language preference by using the userlcid parameter so
that content that is the target of the SubArea.Url attribute can be aware of the user’s language preference and
adjust accordingly. More information: Passing Parameters to a URL Using SiteMap

Export and import translations


Localizable labels for the solution components in the following table can be exported for localization.

Entities Attributes Relationships

Global Option Sets Entity Messages Entity Forms

Entity Views (SavedQuery) Charts Dashboards

Translating labels and display strings


You can only perform customizations in the application by using the base language. Therefore, when you want to
provide localized labels and display strings for these customizations, you must export the text of the labels so that
they can be localized for any other languages enabled for the organization. Use the following steps:
1. Ensure that the organization that you’re working on has all the MUI packs installed and languages
provisioned for languages you want to provide translations for.
2. Create your solution and modify the components.
3. After you have finished developing your solution use the “Export Translations” functionality. This generates a
Office Excel spreadsheet (CrmTranslations.xml) that contains all the labels that need translation.
4. In the spreadsheet, provide the corresponding translations.
5. Import translations back into the same Common Data Service organization using the “Import Translations”
functionality and publish your changes.
6. The next time the solution is exported it carries all the translations that you provided.
When a solution is imported, labels for languages that aren’t available in the target system are discarded
and a warning is logged.
If labels for the base language of the target system are not provided in the solution package, the labels of
the base language of the source are used instead. For example, if you import a solution that contains labels
for English and French with English as the base language, but the target system has Japanese and French
with Japanese as the base language, English labels are used instead of Japanese labels. The base languages
labels cannot be null or empty.
Exporting translations
Before you export translations you must first install the language packs and provision all the languages you want
to have localized. You can export the translations in the web application or by using the ExportTranslationRequest
message. For more information, see Export Customized Entity and Field Text for Translation.
Translating text
When you open the CrmTranslations.xml file in Office Excel you will see the three worksheets listed in the
following table.

WORKSHEET DESCRIPTION

Information Displays information about the organization and solution that


the labels and strings were exported from.

Display Strings Display strings that represent the text of any messages
associated with a metadata component. This table includes
error messages and strings used for system ribbon elements.

Localized Labels Displays all of the text for any metadata component labels.

You can send this file to a linguistic expert, translation agency, or localization firm. They will need to provide
localized strings for any of the empty cells.

NOTE
For custom entities there are some common labels that are shared with system entities, such as Created On or Created By.
Because you have already installed and provisioned the languages, if you export languages for the default solution you may
be able to match some labels in your custom entities with localized text for identical labels used by other entities. This can
reduce the localization costs and improve consistency.

After the text in the worksheets has been localized, add both the CrmTranslations.xml and [Content_Types].xml files
to a single compressed .zip file. You can now import this file.
If you prefer to work with the exported files programmatically as an XML document, see Office 2003 XML
Reference Schemas for information about the schemas these files use.
Importing translated text

IMPORTANT
You can only import translated text back into the same organization it was exported from.

After you have exported the customized entity or attribute text and had it translated, you can import the translated
text strings in the web application by using the ImportTranslationRequest message. The file that you import must
be a compressed file that contains the CrmTranslations.xml and the [Content_Types].xml file at the root. For more
information, see Import Translated Entity and Field Text.
After you import the completed translations, customized text appears for users who work in the languages that you
had the text translated into.
NOTE
Common Data Service cannot import translated text that is over 500 characters long. If any of the items in your translation
file are longer than 500 characters, the import process fails. If the import process fails, review the line in the file that caused
the failure, reduce the number of characters, and try to import again.

Because customization is supported only in the base language, you may be working in Common Data Service with
the base language set as your language preference. To verify that the translated text appears, you must change
your language preference for the Common Data Service user interface. To perform additional customization work,
you must change back to the base language.

Localization in base language strings


Some solution components do not support multiple languages. These components include names or text that can
only be meaningful in a specific language. If you create a solution for a specific language, define these solution
components for the intended organization base language.
If you need to support multiple languages, one tactic is to include localization within the base language strings. For
example, if you have a Connection Role named “Friend” and you need to support English, Spanish, and German,
you might use the text “Friend (Amigo / Freund)” as the name of the connection role. Due to issues of the length of
the text there are limitations on how many languages can be supported using this tactic.
Some solution components in this group are only visible to administrators. Because customization of the system
can only be done in the organization base language it is not necessary to provide multiple language versions.
Security Roles and Field Security Profile components belong to this group.
Contract Templates provide a description of a type of service contract. These require text for the Name and
Abbreviation fields. You should consider using names and abbreviations that are unique and appropriate for all
users of the organization.
Connection Roles rely on a person selecting descriptive Connection Role categories and names. Because these
may be relatively short, it is recommended that you include localization in base language strings.
Processes (Workflows) that are initiated for events can work well as long as they do not need to update records
with text that is to be localized. It is possible to use a workflow assembly so that logic that might apply to localized
text could use the same strategy as plug-in assemblies (Use XML Web Resources as Language Resources).
On-Demand workflows require a name so that people can select them. In addition to including localization
within the name of the on-demand workflow, another tactic is to create multiple workflows with localized names
that each call the same child process. However, all users will see the complete list of on-demand workflows, not just
the ones in their preferred user interface language.

Localization not required


SDK Message Processing Step and Service Endpoint solution components do not expose localizable text to
users. If it is important that these components have names and descriptions that correspond to the organization’s
base language, you can create and export a managed solution with names and descriptions in that language.

Separate component for each language


The following solution components each may contain a considerable amount of text to be localized:
Article Templates
Email Templates
Mail Merge Templates
Reports
Dialogs
For these types of solution components, the recommended tactic is to create separate components for each
language. This means that you typically create a base managed solution that contains your core solution
components and then a separate managed solution that contains these solution components for each
language. After customers install the base solution, they can install the managed solutions for the languages
they have provisioned for the organization.
Unlike Processes (Workflows), you can create Dialogs that will reflect the user’s current language
preference settings and display the dialogs only to users of that language.
Create a localized dialog box
1. Install the appropriate language pack and provision the language.
For more information, see Language Pack Installation Instructions.
2. Change your personal options to specify the User Interface Language for the language you want for the
dialog.
3. Navigate to Settings and, in the Process Center group, select Processes.
4. Click New and create the dialog in the language that you specified.
5. After you have created the dialog, change your personal options to specify the organization base language.
6. While using the organization base language you can navigate to the Solutions area in Settings and add
the localized dialog as part of a solution.
The dialog created in the other language will only be displayed to users who view Common Data Service
using that language.

Use XML web resources as language resources


Plug-in assembly solution components can send messages to an end user by throwing an
InvalidPluginExecutionException as well as creating and updating records. Unlike Silverlight web resources, plug-
ins cannot use resource files.
When a plug-in requires localized text, you can use an XML web resource to store the localized strings so the plug-
in can access them when needed. The structure of the XML is your option, but you may want to follow the structure
used by ASP.NET Resource (.resx) files to create separate XML web resources for each language. For example, the
following is an XML web resource named localizedString.en_US that follows the pattern used by . resx files.

<root>
<data name="ErrorMessage">
<value>There was an error completing this action. Please try again.</value>
</data>
<data name="Welcome">
<value>Welcome</value>
</data>
</root>

The following code shows how a localized message can be passed back in a plug-in to display a message to a user.
It is for the pre-validation stage of a Delete event for the Account entity:

protected void ExecutePreValidateAccountDelete(LocalPluginContext localContext)


{
{
if (localContext == null)
{
throw new ArgumentNullException("localContext");
}
int OrgLanguage = RetrieveOrganizationBaseLanguageCode(localContext.OrganizationService);
int UserLanguage = RetrieveUserUILanguageCode(localContext.OrganizationService,
localContext.PluginExecutionContext.InitiatingUserId);
String fallBackResourceFile = "";
switch (OrgLanguage)
{
case 1033:
fallBackResourceFile = "new_localizedStrings.en_US";
break;
case 1041:
fallBackResourceFile = "new_localizedStrings.ja_JP";
break;
case 1031:
fallBackResourceFile = "new_localizedStrings.de_DE";
break;
case 1036:
fallBackResourceFile = "new_localizedStrings.fr_FR";
break;
case 1034:
fallBackResourceFile = "new_localizedStrings.es_ES";
break;
case 1049:
fallBackResourceFile = "new_localizedStrings.ru_RU";
break;
default:
fallBackResourceFile = "new_localizedStrings.en_US";
break;
}
String ResourceFile = "";
switch (UserLanguage)
{
case 1033:
ResourceFile = "new_localizedStrings.en_US";
break;
case 1041:
ResourceFile = "new_localizedStrings.ja_JP";
break;
case 1031:
ResourceFile = "new_localizedStrings.de_DE";
break;
case 1036:
ResourceFile = "new_localizedStrings.fr_FR";
break;
case 1034:
ResourceFile = "new_localizedStrings.es_ES";
break;
case 1049:
ResourceFile = "new_localizedStrings.ru_RU";
break;
default:
ResourceFile = fallBackResourceFile;
break;
}
XmlDocument messages = RetrieveXmlWebResourceByName(localContext, ResourceFile);
String message = RetrieveLocalizedStringFromWebResource(localContext, messages, "ErrorMessage");
throw new InvalidPluginExecutionException(message);
}
protected static int RetrieveOrganizationBaseLanguageCode(IOrganizationService service)
{
QueryExpression organizationEntityQuery = new QueryExpression("organization");
organizationEntityQuery.ColumnSet.AddColumn("languagecode");
EntityCollection organizationEntities = service.RetrieveMultiple(organizationEntityQuery);
return (int)organizationEntities[0].Attributes["languagecode"];
}
protected static int RetrieveUserUILanguageCode(IOrganizationService service, Guid userId)
protected static int RetrieveUserUILanguageCode(IOrganizationService service, Guid userId)
{
QueryExpression userSettingsQuery = new QueryExpression("usersettings");
userSettingsQuery.ColumnSet.AddColumns("uilanguageid", "systemuserid");
userSettingsQuery.Criteria.AddCondition("systemuserid", ConditionOperator.Equal, userId);
EntityCollection userSettings = service.RetrieveMultiple(userSettingsQuery);
if (userSettings.Entities.Count > 0)
{
return (int)userSettings.Entities[0]["uilanguageid"];
}
return 0;
}
protected static XmlDocument RetrieveXmlWebResourceByName(LocalPluginContext context, string
webresourceSchemaName)
{
context.TracingService.Trace("Begin:RetrieveXmlWebResourceByName, webresourceSchemaName={0}",
webresourceSchemaName);
QueryExpression webresourceQuery = new QueryExpression("webresource");
webresourceQuery.ColumnSet.AddColumn("content");
webresourceQuery.Criteria.AddCondition("name", ConditionOperator.Equal, webresourceSchemaName);
EntityCollection webresources = context.OrganizationService.RetrieveMultiple(webresourceQuery);
context.TracingService.Trace("Webresources Returned from server. Count={0}", webresources.Entities.Count);
if (webresources.Entities.Count > 0)
{
byte[] bytes = Convert.FromBase64String((string)webresources.Entities[0]["content"]);
// The bytes would contain the ByteOrderMask. Encoding.UTF8.GetString() does not remove the BOM.
// Stream Reader auto detects the BOM and removes it on the text
XmlDocument document = new XmlDocument();
document.XmlResolver = null;
using (MemoryStream ms = new MemoryStream(bytes))
{
using (StreamReader sr = new StreamReader(ms))
{
document.Load(sr);
}
}
context.TracingService.Trace("End:RetrieveXmlWebResourceByName , webresourceSchemaName={0}",
webresourceSchemaName);
return document;
}
else
{
context.TracingService.Trace("{0} Webresource missing. Reinstall the solution", webresourceSchemaName);
throw new InvalidPluginExecutionException(String.Format("Unable to locate the web resource {0}.",
webresourceSchemaName));
return null;
// This line never reached
}
}
protected static string RetrieveLocalizedStringFromWebResource(LocalPluginContext context, XmlDocument
resource, string resourceId)
{
XmlNode valueNode = resource.SelectSingleNode(string.Format(CultureInfo.InvariantCulture,
"./root/data[@name='{0}']/value", resourceId));
if (valueNode != null)
{
return valueNode.InnerText;
}
else
{
context.TracingService.Trace("No Node Found for {0} ", resourceId);
throw new InvalidPluginExecutionException(String.Format("ResourceID {0} was not found.", resourceId));
}
}

See also
Package and Distribute Extensions with Dynamics 365 Solutions
Introduction to Solutions
Plan For Solution Development
Dependency Tracking for Solution Components
Create, Export, or Import an Unmanaged Solution
Create, Install, and Update a Managed Solution
Uninstall or Delete a solution
Solution entities
Localize product property values
Create, export, or import an unmanaged solution
3/22/2019 • 6 minutes to read • Edit Online

In addition to being a prerequisite to creating a managed solution, an unmanaged solution is useful as a way to
group a set of unmanaged customizations into a set that can be transported between organizations.
More information: Use solutions for your customizations.

Create an unmanaged solution


Every solution requires a publisher. If you do not intend to distribute your solution, you can use the default
publisher already created for your organization. See Create a Solution Publisher for information about how to
create a solution publisher.
The following table lists the fields and descriptions that a solution contains.

FIELD LABEL DESCRIPTION

Display Name The name for the solution.

Name Common Data Service generates a unique name is based on


the Display Name. You can edit the unique name. The
unique name must only contain alphanumeric characters or
the underscore character.

Publisher Use the Publisher lookup to associate the solution with a


publisher.

Version Specify a version with the following format:


major.minor.build.revision, for example: 1.0.0.0.

Configuration Page If you include an HTML Web resource in your solution, you
can use this lookup to add it as your designated configuration
page.

More information: Use the Solution Configuration Page

Description Use this field to include any relevant details about your
solution.

After you create an unmanaged solution you can add solution components by creating them in the context of this
solution or by adding existing components from other solutions. For more information abouthow to create a
solution programmatically, see Create a Solution
Create a solution publisher
If you want to distribute managed solutions, you should create a Publisher . The following table lists the fields and
descriptions that a Publisher contains.

LABEL DESCRIPTION

Display Name The name that to display in the Publisher lookup field in the
solution.
LABEL DESCRIPTION

Name Common Data Service generates a unique name is based on


the Display Name. The unique name can only contain
alphanumeric characters and the underscore character. Note:
You use the Unique Name to uniquely identify a Publisher .
Managed solutions that share the same publisher can update
each other.

Description Use this field to include any relevant details about your
solution.

Prefix The customization prefix helps you identify which publisher


added a solution component. For example the prefix is added
to the logical name of any entities or attributes created in the
context of a solution associated with this publisher. The prefix
must be between two and eight characters long, and can
contain only alphanumeric characters. It cannot start with
‘mscrm’.

Option Value Prefix This value lets you help separate options that you add to
option sets to support merging options. A value is auto-
generated based on the Prefix text to help make it more
unique. The value must be between 10,000 and 99,999.

More information: Merging Option set options

Contact Details Use these fields to add information that will enable people
who install the solution to contact you.

See Create a Publisher for information about how to create a publisher programmatically.
Use the Solution Configuration page
The solution configuration page provides a canvas you can use to display information or enable customers to
perform actions in the context of your solution. Set the configuration page by using the Configuration Page
lookup field to select a Web Page (HTML ) Web resource included in the solution. This will cause a new
Configuration node to appear in the Solution window underneath the Information node and above the
Components node. The Configuration node will display the Web resource you set.
You can use the solution configuration page to display controls that will configure your solution. For example, you
may provide some entities in your solution that control the behavior of your solution. By using the Web API for
data access, you can provide custom controls on your Web resource page to update data in these entities.

Export an unmanaged solution


You may want to export an unmanaged solution in the following situations:
You have to edit certain XML content in the customizations.xml file, for example, you may want to edit the
SiteMap or create customized ribbons.
You want to transport your unmanaged solution from one organization to another.
You want to create a backup of your current set of customizations.
Exporting an unmanaged solution will create a compressed (zipped) file that can then be imported into
another organization or the same organization.
Only published customizations are included when you export a solution, so be sure to publish any changes
before you export a solution.
When you export a solution by using the web application, if your solution contains any missing required
components, you will see the Missing Required Components step. You can disregard this warning only if
you intend to import this as an unmanaged solution back into the original organization. Otherwise, follow
the instructions in the dialog box to cancel the export and add the required components.
Use the ExportSolutionRequest message to programmatically export a solution. More information: Export
or Package a Solution
When you export a solution by using the web application, in the Export System Settings (Advanced)
step, you can select which system settings to include in your solution. These options are available to
developers by using the ExportSolutionRequest via the members available in the request. See the remarks
for the request for details about which settings are included.

Import an unmanaged solution


You should import an unmanaged solution in the following situations:
You want to transport a set of customizations from one organization to another, and you want to allow the
solution components to be changed.
You want to restore or revert to an earlier set of solution component definitions
Importing an unmanaged solution is an additive process. Importing an older version of a managed solution
will not remove solution components included in a newer version. However the definition of any solution
component properties will be overwritten with the definition included in the last unmanaged solution you
import.

IMPORTANT
Changes applied by importing an unmanaged solution cannot be uninstalled. Do not install an unmanaged solution if you
want to roll back the changes.

This operation is performed programmatically by using the ImportSolutionRequest message. You can write code
to execute this message asynchronously. More information: Execute messages in the background
(asynchronously). You can track the progress of the import or generate a report of the success of the import by
using the ImportJob entity. More information: Install or Upgrade a Solution

IMPORTANT
Installing a solution or publishing customizations can interfere with normal system operation. We recommend that you
schedule solution imports when it’s least disruptive to users.

Maximum size of solution to import


For Common Data Service the maximum size for a solution is 29.296 MB.
For on-premises organizations, the default maximum size for a solution is 6 MB, but this can be increased as
needed.
Change the maximum allowed size by editing the <httpRuntime> element in the web.config file for the
application. Edit the executionTimeout and maxRequestLength attributes to allow for the necessary size. After you
finish installing the solution you can set it to the size you want.
See also
Plan For Solution Development
Package and Distribute Extensions with Dynamics 365 Solutions
Customization Solutions File Schema
Create, Install, and Update a Managed Solution
Uninstall or Delete a solution
Uninstall or delete a solution
3/22/2019 • 2 minutes to read • Edit Online

You delete managed and unmanaged solutions in the same way, but the resulting actions are very different.
Deleting a managed solution will uninstall the managed solution.

Delete a solution
Depending on the type of solution that you want to delete, you’ll see one of the following Confirm Deletion
messages:
Managed solution
“You are deleting a managed solution. The solution and all its components will be deleted. This action cannot be
undone. This solution might take several minutes to uninstall. You cannot cancel the uninstallation after it starts.
Do you want to continue?”
Unmanaged solution
“You are deleting an unmanaged solution. The solution will be deleted but components that are contained in this
solution will not be deleted. This action cannot be undone. Do you want to continue?”
To delete a solution programmatically use the IOrganizationService.Delete method. More information: Delete a
Solution
Uninstall a managed solution
Deleting a managed solution will uninstall the solution. All the solution components defined in it are deleted.

IMPORTANT
When you uninstall a managed solution, the following data is lost: data stored in custom entities that are part of the
solution and data stored in custom attributes on system entities that are part of the solution.

Delete an unmanaged solution


An unmanaged solution is a group of solution components. Deleting the solution deletes a single solution record
in the database. Solution components are not affected by the solution being deleted, they remain in the system.

Access the solutions list with a URL


If you need to navigate directly to the solutions list you can use the following URL:

<organization root url>/tools/Solution/home_solution.aspx?etn=solution

See also
Package and Distribute Extensions
Delete a Solution
Introduction to Solutions
Planning for Solution Development
Solution Components and Dependency Tracking
Create a Managed Solution
Export an unmanaged solution
Import an unmanaged solution
Create a Managed Solution
Create Solutions that Support Multiple Languages
Install a Managed Solution
Work with solutions
6/28/2019 • 11 minutes to read • Edit Online

This topic presents specific programming tasks included in Sample: Work With Solutions and Sample: Detect
Solution Dependencies.

Create a publisher
Every solution requires a publisher, represented by the Publisher Entity. A solution cannot use the
Microsoft Corporation publisher but it can use the Default publisher for the organization or a new publisher

A publisher requires the following:


A customization prefix
A unique name
A friendly name
The following sample first defines a publisher and then checks to see whether the publisher already exists
based on the unique name. If it already exists, the customization prefix may have been changed, so this
sample seeks to capture the current customization prefix. The PublisherId is also captured so that the
publisher record can be deleted. If the publisher is not found, a new publisher is created using
theIOrganizationService. Create method

//Define a new publisher

Publisher _crmSdkPublisher = new Publisher { UniqueName = "sdksamples", FriendlyName = "Microsoft CRM


SDK Samples", SupportingWebsiteUrl = "https://msdn.microsoft.com/dynamics/crm/default.aspx",
CustomizationPrefix = "sample", EMailAddress = "someone@microsoft.com", Description = "This publisher was
created with samples from the Microsoft Dynamics CRM SDK" };
//Does publisher already exist? QueryExpression querySDKSamplePublisher = new QueryExpression {
EntityName = Publisher.EntityLogicalName, ColumnSet = new ColumnSet("publisherid", "customizationprefix"),
Criteria = new FilterExpression() };
querySDKSamplePublisher.Criteria.AddCondition("uniquename", ConditionOperator.Equal,
_crmSdkPublisher.UniqueName); EntityCollection querySDKSamplePublisherResults =
_serviceProxy.RetrieveMultiple(querySDKSamplePublisher); Publisher SDKSamplePublisherResults = null;
//If it already exists, use it if (querySDKSamplePublisherResults.Entities.Count > 0) { SDKSamplePublisherResults
= (Publisher)querySDKSamplePublisherResults.Entities[0]; _crmSdkPublisherId =
(Guid)SDKSamplePublisherResults.PublisherId; _customizationPrefix =
SDKSamplePublisherResults.CustomizationPrefix; } //If it doesn't exist, create it if (SDKSamplePublisherResults ==
null) { _crmSdkPublisherId = _serviceProxy.Create(_crmSdkPublisher); Console.WriteLine(String.Format("Created
publisher: {0}.", _crmSdkPublisher.FriendlyName)); _customizationPrefix = _crmSdkPublisher.CustomizationPrefix;
}
<a name="BKMK_RetrieveDefaultPublisher"></a>
## Retrieve the default publisher
This sample shows how toretrieve the default publisher. The default publisher has a constant GUID value:
`d21aab71-79e7-11dd-8874-00188b01e34f`.

```csharp
// Retrieve the Default Publisher

//The default publisher has a constant GUID value;


Guid DefaultPublisherId = new Guid("{d21aab71-79e7-11dd-8874-00188b01e34f}");

Publisher DefaultPublisher = (Publisher)_serviceProxy.Retrieve(Publisher.EntityLogicalName, DefaultPublisherId,


new ColumnSet(new string[] {"friendlyname" }));

EntityReference DefaultPublisherReference = new EntityReference


{
Id = DefaultPublisher.Id,
LogicalName = Publisher.EntityLogicalName,
Name = DefaultPublisher.FriendlyName
};
Console.WriteLine("Retrieved the {0}.", DefaultPublisherReference.Name);

Create a solution
The following sample shows how to create an unmanaged solution using the SDK Samples publisher created in
Create a Publisher.
A solution requires the following:
A Publisher
A Friendly Name
A Unique Name
A Version Number
The variable _crmSdkPublisherId is a GUID value representing the publisherid value.
This sample checks whether the Solution already exists in the organization based on the unique name. If the
solution does not exist it is created. The SolutionId value is captured so the solution can be deleted.

// Create a Solution

//Define a solution Solution solution = new Solution { UniqueName = "samplesolution", FriendlyName = "Sample
Solution", PublisherId = new EntityReference(Publisher.EntityLogicalName, _crmSdkPublisherId), Description =
"This solution was created by the WorkWithSolutions sample code in the Microsoft Dynamics CRM SDK
samples.", Version = "1.0" };
//Check whether it already exists QueryExpression queryCheckForSampleSolution = new QueryExpression {
EntityName = Solution.EntityLogicalName, ColumnSet = new ColumnSet(), Criteria = new FilterExpression() };
queryCheckForSampleSolution.Criteria.AddCondition("uniquename", ConditionOperator.Equal,
solution.UniqueName);
//Create the solution if it does not already exist. EntityCollection querySampleSolutionResults =
_serviceProxy.RetrieveMultiple(queryCheckForSampleSolution); Solution SampleSolutionResults = null; if
(querySampleSolutionResults.Entities.Count > 0) { SampleSolutionResults =
(Solution)querySampleSolutionResults.Entities[0]; _solutionsSampleSolutionId =
(Guid)SampleSolutionResults.SolutionId; } if (SampleSolutionResults == null) { _solutionsSampleSolutionId =
_serviceProxy.Create(solution); }

<a name="BKMK_RetrieveASolution"></a>
## Retrieve a solution
To retrieve a specific solution you can use the solution’s `UniqueName`. Each organization will have a default
solution with a constant GUID value: `FD140AAF-4DF4-11DD-BD17-0019B9312238`.

This sample shows how to retrieve data for a solution with the unique name ”samplesolution”. A solution with
this name is created in [Create a Solution](work-solutions.md#BKMK_CreateASolution).

```csharp
// Retrieve a solution
String solutionUniqueName = "samplesolution";
QueryExpression querySampleSolution = new QueryExpression
{
EntityName = Solution.EntityLogicalName,
ColumnSet = new ColumnSet(new string[] { "publisherid", "installedon", "version", "versionnumber",
"friendlyname" }),
Criteria = new FilterExpression()
};

querySampleSolution.Criteria.AddCondition("uniquename", ConditionOperator.Equal, solutionUniqueName);


Solution SampleSolution = (Solution)_serviceProxy.RetrieveMultiple(querySampleSolution).Entities[0];

Add a new solution component


This sample shows how to create a solution component that is associated with a specific solution. If you don’t
associate the solution component to a specific solution when it is created it will only be added to the default
solution and you will need to add it to a solution manually or by using the code included in the Add an Existing
Solution Component.
This code creates a new global option set and adds it to the solution with a unique name equal to
_primarySolutionName .

OptionSetMetadata optionSetMetadata = new OptionSetMetadata()


{
Name = _globalOptionSetName,
DisplayName = new Label("Example Option Set", _languageCode),
IsGlobal = true,
OptionSetType = OptionSetType.Picklist,
Options =
{
new OptionMetadata(new Label("Option 1", _languageCode), 1),
new OptionMetadata(new Label("Option 2", _languageCode), 2)
}
};
CreateOptionSetRequest createOptionSetRequest = new CreateOptionSetRequest
{
OptionSet = optionSetMetadata
};

createOptionSetRequest.SolutionUniqueName = _primarySolutionName;
_serviceProxy.Execute(createOptionSetRequest);

Add an existing solution component


This sample shows how to add an existing solution component to a solution.
The following code uses the AddSolutionComponentRequest to add the Account entity as a solution component
to an unmanaged solution.

// Add an existing Solution Component


//Add the Account entity to the solution
RetrieveEntityRequest retrieveForAddAccountRequest = new RetrieveEntityRequest()
{
LogicalName = Account.EntityLogicalName
};
RetrieveEntityResponse retrieveForAddAccountResponse =
(RetrieveEntityResponse)_serviceProxy.Execute(retrieveForAddAccountRequest);
AddSolutionComponentRequest addReq = new AddSolutionComponentRequest()
{
ComponentType = (int)componenttype.Entity,
ComponentId = (Guid)retrieveForAddAccountResponse.EntityMetadata.MetadataId,
SolutionUniqueName = solution.UniqueName
};
_serviceProxy.Execute(addReq);

Remove a solution component


This sample shows how to remove a solution component from an unmanaged solution. The following code uses
the RemoveSolutionComponentRequest to remove an entity solution component from an unmanaged solution.
The solution.UniqueName references the Solution created in the Create a Solution.

// Remove a Solution Component


//Remove the Account entity from the solution
RetrieveEntityRequest retrieveForRemoveAccountRequest = new RetrieveEntityRequest()
{
LogicalName = Account.EntityLogicalName
};
RetrieveEntityResponse retrieveForRemoveAccountResponse =
(RetrieveEntityResponse)_serviceProxy.Execute(retrieveForRemoveAccountRequest);

RemoveSolutionComponentRequest removeReq = new RemoveSolutionComponentRequest()


{
ComponentId = (Guid)retrieveForRemoveAccountResponse.EntityMetadata.MetadataId,
ComponentType = (int)componenttype.Entity,
SolutionUniqueName = solution.UniqueName
};
_serviceProxy.Execute(removeReq);

Export or package a solution


This sample shows how to export an unmanaged solution or package a managed solution. The code uses
ExportSolutionRequest to export a compressed file representing an unmanaged solution. The option to create a
managed solution is set using the Managed property. This sample saves a file named samplesolution.zip to the
c:\temp\ folder.
// Export or package a solution
//Export an a solution

ExportSolutionRequest exportSolutionRequest = new ExportSolutionRequest();


exportSolutionRequest.Managed = false;
exportSolutionRequest.SolutionName = solution.UniqueName;

ExportSolutionResponse exportSolutionResponse =
(ExportSolutionResponse)_serviceProxy.Execute(exportSolutionRequest);

byte[] exportXml = exportSolutionResponse.ExportSolutionFile;


string filename = solution.UniqueName + ".zip";
File.WriteAllBytes(outputDir + filename, exportXml);

Console.WriteLine("Solution exported to {0}.", outputDir + filename);

Install or upgrade a solution


This sample shows how to install or upgrade a solution using the ImportSolutionRequest message.
You can use the ImportJob entity to capture data about the success of the import.
The following sample shows how to import a solution without tracking the success.

// Install or Upgrade a Solution

byte[] fileBytes = File.ReadAllBytes(ManagedSolutionLocation);

ImportSolutionRequest impSolReq = new ImportSolutionRequest()


{
CustomizationFile = fileBytes
};

_serviceProxy.Execute(impSolReq);

Console.WriteLine("Imported Solution from {0}", ManagedSolutionLocation);

Tracking import success


When you specify an ImportJobId for the ImportSolutionRequest , you can use that value to query the ImportJob
entity about the status of the import.
The ImportJobId can also be used to download an import log file using the
RetrieveFormattedImportJobResultsRequest message.
Retrieving import job data
The following sample shows how to retrieve the import job record and the content of the ImportJob.Data attribute.
// Monitor import success
byte[] fileBytesWithMonitoring = File.ReadAllBytes(ManagedSolutionLocation);

ImportSolutionRequest impSolReqWithMonitoring = new ImportSolutionRequest()


{
CustomizationFile = fileBytes,
ImportJobId = Guid.NewGuid()
};

_serviceProxy.Execute(impSolReqWithMonitoring);
Console.WriteLine("Imported Solution with Monitoring from {0}", ManagedSolutionLocation);

ImportJob job = (ImportJob)_serviceProxy.Retrieve(ImportJob.EntityLogicalName,


impSolReqWithMonitoring.ImportJobId, new ColumnSet(new System.String[] { "data", "solutionname" }));

System.Xml.XmlDocument doc = new System.Xml.XmlDocument();


doc.LoadXml(job.Data);

String ImportedSolutionName = doc.SelectSingleNode("//solutionManifest/UniqueName").InnerText;


String SolutionImportResult = doc.SelectSingleNode("//solutionManifest/result/@result").Value;

Console.WriteLine("Report from the ImportJob data");


Console.WriteLine("Solution Unique name: {0}", ImportedSolutionName);
Console.WriteLine("Solution Import Result: {0}", SolutionImportResult);
Console.WriteLine("");

// This code displays the results for Global Option sets installed as part of a solution.

System.Xml.XmlNodeList optionSets = doc.SelectNodes("//optionSets/optionSet");


foreach (System.Xml.XmlNode node in optionSets)
{
string OptionSetName = node.Attributes["LocalizedName"].Value;
string result = node.FirstChild.Attributes["result"].Value;

if (result == "success")
{
Console.WriteLine("{0} result: {1}",OptionSetName, result);
}
else
{
string errorCode = node.FirstChild.Attributes["errorcode"].Value;
string errorText = node.FirstChild.Attributes["errortext"].Value;

Console.WriteLine("{0} result: {1} Code: {2} Description: {3}",OptionSetName, result, errorCode,


errorText);
}
}

The contents of the Data property is a string representing an XML file. The following is a sample captured using
the code in this sample. This managed solution contained a single global option set called
sample_tempsampleglobaloptionsetname .

<importexportxml start="634224017519682730"
stop="634224017609764033"
progress="80"
processed="true">
<solutionManifests>
<solutionManifest languagecode="1033"
id="samplesolutionforImport"
LocalizedName="Sample Solution for Import"
processed="true">
<UniqueName>samplesolutionforImport</UniqueName>
<LocalizedNames>
<LocalizedName description="Sample Solution for Import"
languagecode="1033" />
languagecode="1033" />
</LocalizedNames>
<Descriptions>
<Description description="This solution was created by the WorkWithSolutions sample code in the Microsoft
CRM SDK samples."
languagecode="1033" />
</Descriptions>
<Version>1.0</Version>
<Managed>1</Managed>
<Publisher>
<UniqueName>sdksamples</UniqueName>
<LocalizedNames>
<LocalizedName description="Microsoft CRM SDK Samples"
languagecode="1033" />
</LocalizedNames>
<Descriptions>
<Description description="This publisher was created with samples from the Microsoft CRM SDK"
languagecode="1033" />
</Descriptions>
<EMailAddress>someone@microsoft.com</EMailAddress>
<SupportingWebsiteUrl>https://msdn.microsoft.com/dynamics/crm/default.aspx</SupportingWebsiteUrl>
<Addresses>
<Address>
<City />
<Country />
<Line1 />
<Line2 />
<PostalCode />
<StateOrProvince />
<Telephone1 />
</Address>
</Addresses>
</Publisher>
<results />
<result result="success"
errorcode="0"
errortext=""
datetime="20:49:12.08"
datetimeticks="634224269520845122" />
</solutionManifest>
</solutionManifests>
<upgradeSolutionPackageInformation>
<upgradeRequired>0</upgradeRequired>
<upgradeValid>1</upgradeValid>
<fileVersion>5.0.9669.0</fileVersion>
<currentVersion>5.0.9669.0</currentVersion>
<fileSku>OnPremise</fileSku>
<currentSku>OnPremise</currentSku>
</upgradeSolutionPackageInformation>
<entities />
<nodes />
<settings />
<dashboards />
<securityroles />
<workflows />
<templates />
<optionSets>
<optionSet id="sample_tempsampleglobaloptionsetname"
LocalizedName="Example Option Set"
Description=""
processed="true">
<result result="success"
errorcode="0"
errortext=""
datetime="20:49:16.10"
datetimeticks="634224269561025400" />
</optionSet>
</optionSets>
<ConnectionRoles />
<SolutionPluginAssemblies />
<SdkMessageProcessingSteps />
<ServiceEndpoints />
<webResources />
<reports />
<FieldSecurityProfiles />
<languages>
<language>
<result result="success"
errorcode="0"
errortext=""
datetime="20:49:12.00"
datetimeticks="634224269520092986" />
</language>
</languages>
<entitySubhandlers />
<publishes>
<publish processed="false" />
</publishes>
<rootComponents>
<rootComponent processed="true">
<result result="success"
errorcode="0"
errortext=""
datetime="20:49:20.83"
datetimeticks="634224269608387238" />
</rootComponent>
</rootComponents>
<dependencies>
<dependency processed="true">
<result result="success"
errorcode="0"
errortext=""
datetime="20:49:20.97"
datetimeticks="634224269609715208" />
</dependency>
</dependencies>
</importexportxml>

Delete a solution
This sample shows how to delete a solution.The following sample shows how to retrieve a solution using the
solution uniquename and then extract the solutionid from the results. Use the solutionid with
theIOrganizationService. Delete method.

// Delete a solution

QueryExpression queryImportedSolution = new QueryExpression


{
EntityName = Solution.EntityLogicalName,
ColumnSet = new ColumnSet(new string[] { "solutionid", "friendlyname" }),
Criteria = new FilterExpression()
};

queryImportedSolution.Criteria.AddCondition("uniquename", ConditionOperator.Equal, ImportedSolutionName);

Solution ImportedSolution = (Solution)_serviceProxy.RetrieveMultiple(queryImportedSolution).Entities[0];

_serviceProxy.Delete(Solution.EntityLogicalName, (Guid)ImportedSolution.SolutionId);

Console.WriteLine("Deleted the {0} solution.", ImportedSolution.FriendlyName);


Detect solution dependencies
This sample shows how to create a report showing the dependencies between solution components.
This code will:
Retrieve all the components for a solution.
Retrieve all the dependencies for each component.
For each dependency found display a report describing the dependency.

// Grab all Solution Components for a solution.


QueryByAttribute componentQuery = new QueryByAttribute
{
EntityName = SolutionComponent.EntityLogicalName,
ColumnSet = new ColumnSet("componenttype", "objectid", "solutioncomponentid", "solutionid"),
Attributes = { "solutionid" },

// In your code, this value would probably come from another query.
Values = { _primarySolutionId }
};

IEnumerable<SolutionComponent> allComponents =
_serviceProxy.RetrieveMultiple(componentQuery).Entities.Cast<SolutionComponent>();

foreach (SolutionComponent component in allComponents)


{
// For each solution component, retrieve all dependencies for the component.
RetrieveDependentComponentsRequest dependentComponentsRequest =
new RetrieveDependentComponentsRequest
{
ComponentType = component.ComponentType.Value,
ObjectId = component.ObjectId.Value
};
RetrieveDependentComponentsResponse dependentComponentsResponse =
(RetrieveDependentComponentsResponse)_serviceProxy.Execute(dependentComponentsRequest);

// If there are no dependent components, we can ignore this component.


if (dependentComponentsResponse.EntityCollection.Entities.Any() == false)
continue;

// If there are dependencies upon this solution component, and the solution
// itself is managed, then you will be unable to delete the solution.
Console.WriteLine("Found {0} dependencies for Component {1} of type {2}",
dependentComponentsResponse.EntityCollection.Entities.Count,
component.ObjectId.Value,
component.ComponentType.Value
);
//A more complete report requires more code
foreach (Dependency d in dependentComponentsResponse.EntityCollection.Entities)
{
DependencyReport(d);
}
}

The DependencyReport method is in the following code sample.


Dependency report
The DependencyReport method provides a friendlier message based on information found within the dependency.
NOTE
In this sample the method is only partially implemented. It can display messages only for attribute and option set solution
components.

/// <summary>
/// Shows how to get a more friendly message based on information within the dependency
/// <param name="dependency">A Dependency returned from the RetrieveDependentComponents message</param>
/// </summary>
public void DependencyReport(Dependency dependency)
{
//These strings represent parameters for the message.
String dependentComponentName = "";
String dependentComponentTypeName = "";
String dependentComponentSolutionName = "";
String requiredComponentName = "";
String requiredComponentTypeName = "";
String requiredComponentSolutionName = "";

//The ComponentType global Option Set contains options for each possible component.
RetrieveOptionSetRequest componentTypeRequest = new RetrieveOptionSetRequest
{
Name = "componenttype"
};

RetrieveOptionSetResponse componentTypeResponse =
(RetrieveOptionSetResponse)_serviceProxy.Execute(componentTypeRequest);
OptionSetMetadata componentTypeOptionSet = (OptionSetMetadata)componentTypeResponse.OptionSetMetadata;
// Match the Component type with the option value and get the label value of the option.
foreach (OptionMetadata opt in componentTypeOptionSet.Options)
{
if (dependency.DependentComponentType.Value == opt.Value)
{
dependentComponentTypeName = opt.Label.UserLocalizedLabel.Label;
}
if (dependency.RequiredComponentType.Value == opt.Value)
{
requiredComponentTypeName = opt.Label.UserLocalizedLabel.Label;
}
}
//The name or display name of the compoent is retrieved in different ways depending on the component type
dependentComponentName = getComponentName(dependency.DependentComponentType.Value,
(Guid)dependency.DependentComponentObjectId);
requiredComponentName = getComponentName(dependency.RequiredComponentType.Value,
(Guid)dependency.RequiredComponentObjectId);

// Retrieve the friendly name for the dependent solution.


Solution dependentSolution = (Solution)_serviceProxy.Retrieve
(
Solution.EntityLogicalName,
(Guid)dependency.DependentComponentBaseSolutionId,
new ColumnSet("friendlyname")
);
dependentComponentSolutionName = dependentSolution.FriendlyName;

// Retrieve the friendly name for the required solution.


Solution requiredSolution = (Solution)_serviceProxy.Retrieve
(
Solution.EntityLogicalName,
(Guid)dependency.RequiredComponentBaseSolutionId,
new ColumnSet("friendlyname")
);
requiredComponentSolutionName = requiredSolution.FriendlyName;

//Display the message


Console.WriteLine("The {0} {1} in the {2} depends on the {3} {4} in the {5} solution.",
Console.WriteLine("The {0} {1} in the {2} depends on the {3} {4} in the {5} solution.",
dependentComponentName,
dependentComponentTypeName,
dependentComponentSolutionName,
requiredComponentName,
requiredComponentTypeName,
requiredComponentSolutionName);
}

Detect whether a solution component may be delete


Use the RetrieveDependenciesForDeleteRequest message to identify any other solution components which would
prevent a given solution component from being deleted. The following code sample looks for any attributes using a
known global optionset. Any attribute using the global optionset would prevent the global optionset from being
deleted.
// Use the RetrieveOptionSetRequest message to retrieve
// a global option set by it's name.
RetrieveOptionSetRequest retrieveOptionSetRequest =
new RetrieveOptionSetRequest
{
Name = _globalOptionSetName
};

// Execute the request.


RetrieveOptionSetResponse retrieveOptionSetResponse =
(RetrieveOptionSetResponse)_serviceProxy.Execute(
retrieveOptionSetRequest);
_globalOptionSetId = retrieveOptionSetResponse.OptionSetMetadata.MetadataId;
if (_globalOptionSetId != null)
{
//Use the global OptionSet MetadataId with the appropriate componenttype
// to call RetrieveDependenciesForDeleteRequest
RetrieveDependenciesForDeleteRequest retrieveDependenciesForDeleteRequest = new
RetrieveDependenciesForDeleteRequest
{
ComponentType = (int)componenttype.OptionSet,
ObjectId = (Guid)_globalOptionSetId
};

RetrieveDependenciesForDeleteResponse retrieveDependenciesForDeleteResponse =
(RetrieveDependenciesForDeleteResponse)_serviceProxy.Execute(retrieveDependenciesForDeleteRequest);
Console.WriteLine("");
foreach (Dependency d in retrieveDependenciesForDeleteResponse.EntityCollection.Entities)
{

if (d.DependentComponentType.Value == 2)//Just testing for Attributes


{
String attributeLabel = "";
RetrieveAttributeRequest retrieveAttributeRequest = new RetrieveAttributeRequest
{
MetadataId = (Guid)d.DependentComponentObjectId
};
RetrieveAttributeResponse retrieveAttributeResponse =
(RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeRequest);

AttributeMetadata attmet = retrieveAttributeResponse.AttributeMetadata;

attributeLabel = attmet.DisplayName.UserLocalizedLabel.Label;

Console.WriteLine("An {0} named {1} will prevent deleting the {2} global option set.",
(componenttype)d.DependentComponentType.Value,
attributeLabel,
_globalOptionSetName);
}
}
}

See also
Package and Distribute Extensions with Dynamics 365 Solutions
Introduction to Solutions
Plan For Solution Development
Dependency Tracking for Solution Components
Create, Export, or Import an Unmanaged Solution
Create, Install, and Update a Managed Solution
Uninstall or Delete a solution
Solution Entities
Sample: Work With Solutions Sample: Detect Solution Dependencies
Create, install, and update a managed solution
3/22/2019 • 2 minutes to read • Edit Online

You create a managed solution by exporting an unmanaged solution as a managed solution. The organizations
that use your managed solution will install it and any updates that you create for it.
More information: Use solutions for your customizations.

Create a managed solution


Before you can create a managed solution you must first create an unmanaged solution. For more information
about how to create an unmanaged solution, see Create an unmanaged solution.
You create a managed solution by selecting the Managed option in the Package Type dialog box when
exporting the solution.
A managed solution only includes any customizable solution components that have been customized. Not only
does this prevent unintentionally changing existing solution components on the system where the solution is
installed, it also keeps the size of the managed solution smaller.
Before the final step of creating a managed solution, you must decide whether there are any customization
capabilities that you do not want to allow people who install your managed solution to perform. Each solution
component contains a set of managed properties that control which customization capabilities you want to allow.
The default settings allow all customization capabilities. More information: Using Managed Properties
You can create a managed solution programmatically by using the ExportSolutionRequest message. More
information: Export or Package a Solution

IMPORTANT
You should not import a managed solution back into the organization you used to create it.

Install a managed solution


You install a managed solution in the same way you import an unmanaged solution. The difference is in how the
solution has been packaged.

IMPORTANT
Installing a solution or publishing customizations can interfere with normal system operation. We recommend that you
schedule solution imports when it’s least disruptive to users.

If the solution did not import successfully, you can click Download Log in the dialog box to download a report
that will provide information about errors that occurred that prevented successful import of the managed
solution. This file is an XML document configured to be opened by using Ofice Excel.
You can import or update a managed solution programmatically by using the ImportSolutionRequest message.
When using this message, you can request a reference to an ImportJob entity record that will include details
about the success of the import. More information: Install or Upgrade a Solution
The ImportSolutionRequest can be called using the ExecuteAsyncRequest. More information: Execute messages
in the background (asynchronously)
There are limits to the size of a solution you can install. More information: Maximum size of solution to import
Update a managed solution
When you install a managed solution that already exists in the organization, the import solution dialog will
provide the following options:
Maintain customizations (recommended)
This option maintains any unmanaged customizations performed on components, but also implies that some of
the updates included in this solution will not take effect.
Overwrite customizations
This option overwrites any unmanaged customizations previously performed on components included in this
solution. All updates included in this solution will take effect.

NOTE
You may want to direct people who install your managed solution to use the Overwrite customizations option when
investigating issues where the customizations conflict with the behavior of your solutions. They should always export their
unmanaged solutions first so that they can re-apply them if they need to.

See also
Package and Distribute Extensions with Dynamics 365 Solutions
Introduction to Solutions
Planning for Solution Development
Solution Components and Dependency Tracking
Create, Export, or Import an Unmanaged Solution
Uninstall or Delete a solution
Customization Solutions File Schema
Create patches to simplify solution updates
3/22/2019 • 6 minutes to read • Edit Online

If you add an entity to a solution and export the solution, the entity and all of its related assets are exported in that
solution. These assets include attributes, forms, views, relationships, and visualizations, and any other assets that
are packaged with the entity. Exporting all objects means that you can unintentionally modify objects on the target
deployment, or carry over unintended dependencies.
To address this, you can create and publish solution patches that contain subcomponents of entities rather than
publishing the entire entity and all of its assets. The original solution and one or more related patches can be rolled
up (merged) at a later time into an updated version of the solution, which then can replace the original solution in
the target Common Data Service organization.

Patches
You can apply patches to either managed or unmanaged solutions and include only changes to entities and related
entity assets. Patches do not contain any non-customized system components or relationships that it dependents
upon because these components already exist in the deployed-to organization. At some point in your development
cycle, you can roll up all the patches into a new solution version to replace the original solution that the patches
were created from.
Patches are stored in the Common Data Service database as Solution entity records. A non-null ParentSolutionId
attribute indicates that the solution is a patch. Patches can be created and managed through the Organization
Service or Web APIs, which are useful for developing automation such as a product install script. However, the
Common Data Service web application provides various web forms that enable you to interactively create and
manage patches.
Patches can only be created from a parent solution using CloneAsPatchRequest or CloneAsPatch Action.
The patch parent can’t be a patch.
Patches can only have one parent solution.
A patch creates a dependency (at the solution level) on its parent solution.
You can only install a patch if the parent solution is present.
You can’t install a patch unless the unique name and major/minor version number of the parent solution, as
identified by ParentSolutionId , do not match those of the parent solution installed in the target
organization.
A patch version must have the same major and minor number, but a higher build and release number, than
the parent solution version number. The display name can be different.
If a solution has patches, subsequent patches must have a numerically higher version number than any
existing patch for that solution.
Patches support the same operations as solutions, such as additive update, but not removal. You cannot
remove components from a solution using a patch. To remove components from a solution perform an
upgrade.
Patches exported as managed must be imported on top of a managed parent solution. The rule is that patch
protection (managed or unmanaged) must match its parent.
Don’t use unmanaged patches for production purposes.
Patches are only supported in Common Data Service organizations of version 8.0 or later.
The SolutionPackager and PackageDeployer tools in this release support solution patches. Refer to the tool's
online help for any command-line options that are related to patches.

Create a patch
Create a patch from an unmanaged solution in an organization by using the CloneAsPatchRequest message or the
CloneAsPatch Action, or by using the web application. Once you create the patch, the original solution becomes
locked and you can’t change or export it as long as there are dependent patches that exist in the organization that
identify the solution as the parent solution. Patch versioning is similar to solution versioning and specified in the
following format: major.minor.build.release. You can’t make changes to the existing major or minor solution
versions when you create a patch.

Export and import a patch


You can use the Organization Service or Web APIs, the web application, or the Package Deployer tool to export and
import a patch. The relevant Organization Service message requests are ImportSolutionRequest and
ExportSolutionRequest. The relevant actions For the Web API are ImportSolution Action and ExportSolution
Action.
Patching examples
The following table lists the details of a patching example. Note that in this example, the solution and patches are
imported in numerical order and are additive, which is consistent with solution import in general.

PATCH NAME DESCRIPTION

SolutionA, version 1.0 (unmanaged) Contains entityA with 6 fields.

SolutionA, version 1.0.1.0 (unmanaged) Contains entityA with 6 fields (3 updated), and adds entityB
with 10 fields.

SolutionA, version 1.0.2.0 (unmanaged) Contains entityC with 10 fields.

The import process is as follows.


1. The developer or customizer first imports the base solution (SolutionA 1.0) into the organization. The result
is entityA with 6 fields in the organization.
2. Next, the SolutionA patch 1.0.1.0 is imported. The organization now contains entityA with 6 fields (3 have
been updated), plus entityB with 10 fields.
3. Finally, SolutionA patch 1.0.2.0 is imported. The organization now contains entityA with 6 fields (3 updated),
entityB with 10 fields, plus entityC with 10 fields.
Another patching example
Let's take a look at another patching example, with the details listed in the following table.

PATCH NAME DESCRIPTION

SolutionA, version 1.0 (unmanaged, base solution) Contains the Account entity where the length of the account
number field is adjusted from 20 to 30 characters.
PATCH NAME DESCRIPTION

SolutionB, version 2.0 (unmanaged, different vendor) Contains the Account entity where the length of the account
number field is adjusted to 50 characters.

SolutionA, version 1.0.1.0 (unmanaged, patch) Contains an update to the Account entity where the length
of the account number field is adjusted to 35 characters.

The import process is as follows:


1. The developer or customizer first imports the base solution (SolutionA 1.0) into the organization. The result
is an Account entity with an account number field of 30 characters.
2. SolutionB is imported. The organization now contains an Account entity with an account number field of 50
characters.
3. SolutionA patch 1.0.1.0 is imported. The organization still contains an Account entity with an account
number field of 50 characters, as applied by SolutionB.
4. SolutionB is uninstalled. The organization now contains an Account entity with an account number field of
35 characters, as applied by the SolutionA 1.0.1.0 patch.

Delete a patch
You can delete a patch or base (parent) solution by using DeleteRequest or, for the Web API, use the HTTP DELETE
method. The delete process is different for a managed or unmanaged solution that has one or more patches
existing in the organization.
For an unmanaged solution, you must uninstall all patches to the base solution first, in reverse version order that
they were created, before uninstalling the base solution.
For a managed solution, you simply uninstall the base solution. The Common Data Service system automatically
uninstalls the patches in reverse version order before uninstalling the base solution. You can also just uninstall a
single patch.

Update a solution
Updating a solution involves rolling up (merging) all patches to that solution into a new version of the solution.
Afterwards, that solution becomes unlocked and can once again be modified (unmanaged solution only) or
exported. For a managed solution, no further modifications of the solution are allowed except for creating patches
from the newly updated solution. To rollup patches into an unmanaged solution, use CloneAsSolutionRequest or
the CloneAsSolution Action. Cloning a solution creates a new version of the unmanaged solution, incorporating all
its patches, with a higher major.minor version number, the same unique name, and a display name.
For a managed solution things are handled slightly differently. You first clone the unmanaged solution (A),
incorporating all of its patches and then exporting it as a managed solution (B ). In the target organization that
contains the managed version of the (A) solution and its patches, you import managed solution (B ) and then
execute DeleteAndPromoteRequest or the DeleteAndPromote Action to replace managed solution (A) and its
patches with the upgraded managed solution (B ) that has a higher version number.
See also
Use segmented solutions and patches to simplify solution updates
Plan For Solution Development
Package and distribute extensions using solutions
Solution Entity
Maintain Managed Solutions
Publish your app on AppSource
When to edit the customizations file
6/28/2019 • 2 minutes to read • Edit Online

The customizations.xml file that is exported as part of an unmanaged solution can be edited to perform specific
customization tasks. After editing the file you can compress the modified file together with the other files exported
in the unmanaged solution. You apply the changes by importing that modified unmanaged solution.
Editing a complex XML file like the customizations.xml file is much easier and less prone to errors if you use a
program designed to support schema validation. While it is possible to edit this file using a simple text editor like
Notepad, this is not recommended unless you are very familiar with editing this file. For more information, see Edit
the Customizations file with Schema Validation.

IMPORTANT
Invalid XML or incorrect definition of solution components can cause errors that will prevent importing a manually edited
unmanaged solution.

Supported tasks
You can edit the customization.xml file to perform the following tasks.
Editing the ribbon
This documentation describes the process of editing the ribbon by editing the customization.xml file directly.
Several people have created ribbon editors that provide a user interface to make editing the ribbon easier. The
most popular one so far is the Ribbon Workbench. For support using this program, contact the program publisher.
For more information about editing the ribbon by editing the customization.xml manually, see Customize the
Ribbon for Microsoft Dynamics 365.
Editing the SiteMap
The SDK describes the process of editing the SiteMap by editing the customization.xml file directly. However, its
recommended that you use the site map designer in Common Data Service to create or update site maps. More
information: Create a site map for an app using the site map designer
You can also use one of the community-developed site map editors, such as the XrmToolBox Site Map Editor.
For more information, see Change Application Navigation using the SiteMap
Editing FormXml
FormXml is used to define entity forms and dashboards. The form editor and dashboard designer in the
application are the most commonly used tools for this purpose. Editing the customizations.xml file is an alternative
method. For more information, see Customize Entity Forms in Microsoft Dynamics 365and Create a Dashboard.
Editing saved queries
Definitions of views for entities are included in the customizations.xml file and may be manually edited. The view
editor in the application is the most commonly used tool for this purpose. Editing customizations.xml is an
alternative method. For more information, see Customize Entity Views in Microsoft Dynamics 365.
Editing the ISV.config
In earlier versions of Dynamics 365 Common Data Service, ISV.Config was the way to add client application
extensions as well as some other configuration options. For Microsoft Dynamics CRM 2011 and Microsoft
Dynamics 365 Online, the Ribbon provides the way to extend the application. The only remaining capability left in
ISV.Config is to customize the appearance of the Service Calendar. For more information, see Service Calendar
Appearance Configuration

Unsupported tasks
Defining any other solution components by editing the exported customizations.xml file is not supported. This
includes the following:
Entities
Attributes
Entity Relationships
Entity Messages
Option Sets
Web Resources
Processes (Workflows)
Plugin Assemblies
SDK Message Processing steps
Service Endpoints
Reports
Connection Roles
Article Templates
Contract Templates
E -mail Templates
Mail Merge Templates
Security Roles
Field Security Profiles
See also
Customize Microsoft Dynamics 365 and Microsoft Dynamics 365 (online) Customization XML Reference
Customization Solutions File Schema
Ribbon core schema Ribbon types schema Ribbon WSS schema
SiteMap schema Form XML schema
Schema Support for the Customization File
PowerApps build tools for Azure DevOps overview
7/15/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


Use PowerApps build tools to automate common build and deployment tasks related to PowerApps . This includes
synchronization of solution metadata (a.k.a. solutions) between development environments and source control,
generating build artifacts, deploying to downstream environments, provisioning or de-provisioning of
environments, and the ability to perform static analysis checks against your solution using the PowerApps checker
service.

IMPORTANT
PowerApps build tools is a preview feature.
Preview features aren’t meant for production use and may have restricted functionality. These features are available
before an official release so that customers can get early access and provide feedback.

What are PowerApps build tools?


The PowerApps build tools are a collection of PowerApps specific Azure DevOps build tasks that eliminate the
need to manually download custom tooling and scripts to manage the application lifecycle of PowerApps. The tasks
can be used individually to perform a simple task, such as importing a solution into a downstream environment, or
used together in a pipeline to orchestrate a scenario, such as ‘Generate Build Artifact,’ ‘Deploy to Test,’ or ‘Harvest
Maker Changes.’ The build tasks can largely be categorized into four types:
Helper
Quality check
Solution
Environment management

Get the PowerApps build tools


The PowerApps build tools can be installed into your Azure DevOps organization from the Azure Marketplace.
Once installed, all tasks included in the PowerApps build tools will be available to add into any new or existing
pipeline and are easily found by searching for PowerApps.
Next step
Build tools tasks
Build tools tasks
8/8/2019 • 8 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


Several types of build tasks are available as part of the PowerApps build tools to help automate your application
lifecycle, using Azure DevOps.

Helper task
The PowerApps tools installer is required to be the first task in any build and release pipeline. This task installs a
set of PowerApps specific tools required by the agent to run the PowerApps build tasks. This task does not require
any additional configuration.

Quality check
The PowerApps checker task runs a static analysis check on your solution(s) against a set of best-practice rules to
identify any problematic patterns that you might inadvertently have introduced when building your solution.

PARAMETERS DESCRIPTION

PowerApps checker service Select the service endpoint for PowerApps checker. The service
endpoint is defined under Service Connections in Project
Settings. NOTE: The service connection type that must be
used for this specific task only is ‘PowerApps Checker,’ which is
a service principals connection. More information on how to
configure Service Principals before you can use the task is
available here.

Location of file to analyze Specify whether to reference a local file or a reference file from
a Sas url.

Local files to analyze/Sas uri for file to analyze Specify the path and file name of the zip files to analyze.
Wildcards can be used. For example, ***.zip for all zip files in all
sub folders. You can choose to specify the files directly or
reference a File from a Sas uri.

Rule set Specify which ruleset to apply. The following two rulesets are
available: Solution Checker: This is the same ruleset that is
run from the Maker Portal. AppSource: This is the extended
ruleset that is used to certify an application before it can be
published to AppSource.

Configure service connection for PowerApps checker


Before you can configure the PowerApps Checker task, you first need to define the service principals used to
connect to the PowerApps checker service. More information about the underlying PowerApps checker service
and authentication is available here, however, the steps outlined below cover everything you need to get started.
The following outlines how to generate the required Azure Active Directory (AAD ) application using the AzureAD
PowerShell Module, add a client secret and then use that to configure the PowerApps checker connection string.
NOTE
Privileges to create service principals in an AAD tenant licensed for PowerApps (P1/P2) or D365 CE are required to complete
these steps.

1. Open a PowerShell command with admin rights.

2. Run the following command in PowerShell: Install-Module -Name AzureAD.

3. This prompts you to trust the modules from PSGallery. Select A (Yes to all).
4. Copy and paste the following into the PowerShell prompt:

{
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[Guid]
$TenantId,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$ApplicationDisplayName
)
# Using AzureAD as the RM modules, AzureRm.Resource and AzureRm.Profile, do not allow for setting
RequiredResourceAccess
RequiredResourceAccess
Import-Module AzureAD | Out-Null
try
{
Connect-AzureAD -TenantId $TenantId | Out-Null
}
catch [Microsoft.Open.Azure.AD.CommonLibrary.AadAuthenticationFailedException]
{
Write-Error "Received a failure result from the connecting to AzureAD, $($_.Exception.Message).
Stopping."
return
}
$graphSignInAndReadProfileRequirement = New-Object -TypeName
"Microsoft.Open.AzureAD.Model.RequiredResourceAccess"
$acc1 = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "e1fe6dd8-ba31-
4d61-89e7-88639da4683d","Scope"
$graphSignInAndReadProfileRequirement.ResourceAccess = $acc1
$graphSignInAndReadProfileRequirement.ResourceAppId = "00000003-0000-0000-c000-000000000000"

$powerAppsCheckerApiRequirement = New-Object -TypeName


"Microsoft.Open.AzureAD.Model.RequiredResourceAccess"
$acc1 = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "d533b86d-8f67-
45f0-b8bb-c0cee8da0356","Scope"
$acc2 = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "640bd519-35de-
4a25-994f-ae29551cc6d2","Scope"
$powerAppsCheckerApiRequirement.ResourceAccess = $acc1,$acc2
$powerAppsCheckerApiRequirement.ResourceAppId = "c9299480-c13a-49db-a7ae-cdfe54fe0313"

$application = New-AzureADApplication -DisplayName $ApplicationDisplayName -PublicClient $true -ReplyUrls


"urn:ietf:wg:oauth:2.0:oob" -RequiredResourceAccess $graphSignInAndReadProfileRequirement,
$powerAppsCheckerApiRequirement
if ($application -eq $null -or $application.AppId -eq $null)
{
Write-Error "Unable to create the application as requested."
}
else
{
Write-Host "The application $($application.AppId):$ApplicationDisplayName was created in the tenant,
$TenantId. You may need to have an administrator grant consent. If running in a userless process, you will
need to add a secret or certificate in which to authenticate."
}
return $application
}

# Login to AAD as your user


Connect-AzureAD

# Establish your tenant ID


$tenantId = (Get-AzureADTenantDetail).ObjectId

# Create the AAD application registration using the AzureAD module and the sample script
$newApp = New-PowerAppsCheckerAzureADApplication -ApplicationDisplayName "PowerApps Checker Client" -TenantId
$tenantId

# Next step => create a secret via the Admin portal, CLI, or PowerShell module.

5. When prompted, select A (Always run).

6. A login dialog appears. Sign in as a user. Note that you might have to sign in twice in some cases.
7. Once the script is complete, the application ID and tenant is displayed in the command window.
8. Next, login to Azure AD to get the client secret.
9. In Microsoft Azure, select Azure Active Directory –> App Registrations -> PowerApps Checker Client.
10. In the left namigation pane, under Manage, select Certificates & secrets.
11. On the Certificates & secrets screen, under Client secrets, select New client secret.
12. Type a description for the client secret, select expiration setting, and then click Add.
13. Copy the client secret value that appears on the next screen.

NOTE
This is the only time that the client secret is displayed

14. Open the PowerApps checker service connection and paste the client secret into the Service Principal Key
field, and then click OK.
Your connection is now ready to be used by the PowerApps Checker Build Task.

Solution tasks
This set of tasks perform actions against solutions, and includes the following tasks:
PowerApps import solution
The import solution imports a solution into a target environment.

PARAMETERS DESCRIPTION
PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the target environment that you
want to import the solution to. For example,
https://powerappsbuildtools.crm.dynamics.com. Service
endpoints can be defined under Service Connections in
Project Settings.

Solution input file The path and file name of the solution.zip file to import into
the target environment. For example:
$(Build.ArtifactStagingDirectory)$(SolutionName).zip.

NOTE
Variables give you a convenient way to get key bits of data into various parts of your pipeline. A comprehensive list of
predefined variables is available here.

PowerApps export solution


The export solution task exports a solution from a source environment.

PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the source environment that you
want to export the solution from. Defined under Service
Connections -> Generic Service Connection in Project
Settings.

Solution name The name of the solution to export. Always use the solution
‘Name’. Not the ‘Display Name’.

Solution output file The path and file name of the solution.zip file to export the
source environment to. For example:
$(Build.ArtifactStagingDirectory)$(SolutionName).zip.

NOTE
Variables give you a convenient way to get key bits of data into various parts of your pipeline. A comprehensive list of
predefined variables is available here.

PowerApps unpack solution


The unpack solution task takes a compressed solution file and decomposes it into multiple XML files and other
files so that these files can be more easily managed by a source control system.

PARAMETERS DESCRIPTION

Solution input file The path and file name of the solution.zip file to unpack.

Target folder to unpack solution The path and target folder you want to unpack the solution
into.
PARAMETERS DESCRIPTION

Type of solution The type of solution you want to unpack: Unmanaged


(recommended): Only the unmanaged solution should be
unpacked to your repo, Managed, Both

PowerApps pack solution


Packs a solution represented in source control into a solution.zip file that can be imported into an environment.

PARAMETERS DESCRIPTION

Solution output file The path and file name of the solution.zip file to pack the
solution into.

Source folder of solution to pack The path and source folder of the solution to pack.

Type of solution The type of solution you want to pack: Unmanaged


(recommended):, Managed, Both

Publish customizations
The publish customizations task publishes all customizations in an environment.

PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the environment in which you want
to publish customizations. Defined under Service
Connections in Project Settings.

PowerApps set solution version


The set solution version task updates the version of a solution.

PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the environment where you want to
deploy the package. Defined under Service Connections in
Project Settings.

Package file The path and file name of the package that you want to
deploy

PowerApps deploy package


The deploy package task deploys a package to an environment. Deploying a package as opposed to a single
solution file provides an option to deploy multiple solutions, data, and code into an environment.

PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the target environment that holds
the solution you want to update. Defined under Service
Connections in Project Settings.

Solution name The name of the solution you want to set the Version Number
for
Environment management tasks
Environment management tasks are used to automate common environment management functions, and includes
the following tasks:
PowerApps create environment
The create environment task creates an environment.

NOTE
A new environment can only be provisioned if your license or capacity allows for the creation of additional environments.

PARAMETERS DESCRIPTION

Deployment Region The Region that the environment should be deployed into.

Instance Type The type of instance to deploy. Options are Sandbox or


Production.

Base Language The base language in the environment.

Domain Name This is the environment specific string that forms part of the
URL. For example, for an environment with the following URL:
https://powerappsbuildtasks.crm.dynamics.com, the domain
name would be ‘powerappsbuildtasks’. NOTE: If you are
entering a domain name that is already in use – the task will
append a numeric value to the URL, starting with 0. For the
example above, the URL could become
https://powerappsbuildtasks0.crm.dynamics.com.

Friendly name The friendly name of the environment.

PowerApps delete environment


The delete environment task deletes an environment.

PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the environment you want to delete.
Defined under Service Connections in Project Settings.

PowerApps backup environment


The backup environment task backs up an environment.

PARAMETERS DESCRIPTION

PowerApps environment URL The service endpoint for the environment you want to
backup. Defined under Service Connections in Project
Settings.

Backup label The label you want to assign to the backup.

PowerApps copy environment


The copy environment task copies an environment to a target environment. Two types of copy are available: full
and minimal. Full copies both data and solution metadata (customizations), whereas minimal only copies solution
metadata but not the actual data.

NOTE
This task is only available for D365 CE environments.

PARAMETERS DESCRIPTION

PowerApps source environment URL The service endpoint for the environment you want to copy
from. Defined under Service Connections in Project
Settings.

PowerApps target environment URL The service endpoint for the environment you want to copy
to. Defined under Service Connections in Project Settings.
Tutorial and FAQ
7/12/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


Use the tutorial and FAQs to learn more about the PowerApps build tools for Azure DevOps.

Hands-on-lab
The hands-on lab is available here
The hand-on lab provides a tutorial with step-by-step instructions on how to build out the following scenario:
1. Setup dev, build, and prod environments.
2. Build a sample app.
3. Export a solution containing the sample app from a development environment.
4. Unpack the solution.
5. Commit solution to source (repo).
6. Import the unmanaged solution to a build environment.
7. Generate a build artifact (managed solution).
8. Deploy the solution to a downstream environment.

NOTE
The hands-on lab is provided to offer hands-on experience for users new to Azure DevOps who are wanting to learn how to
build pipelines in Azure DevOps. The finished pipelines that you will end up building can also be downloaded from the tutorial
and used as-is with just a few adjustments to environment variables, source/target folders, and repositories.

Frequently asked question (FAQ)


Do the PowerApps build tools only work for PowerApps?
The PowerApps Build Tools work for both PowerApps and Dynamics for Customer Engagement (Dynamics 365
CE Apps are model driven PowerApps). Separate build tasks are available for Microsoft Dynamics for Finance and
Operations.
Can I include Flow and Canvas Apps?
Yes, Flows and Canvas apps are solution aware so if these are added to your solution, they can participate in the
lifecycle of your app. However, some steps still require manual configurations. This will be addressed later this year
when we introduce environment variables and connectors.
How much do the PowerApps build tools cost?
The PowerApps Build Tools are available at no cost. However, a valid subscription to Azure DevOps is required to
utilize the Build Tools. More information is available here.
I can see the extension, but why don’t I have an option to install it?
If you do not see the install option (outlined in screenshot below ) then you most likely lack the necessary install
privileges in your Azure DevOps Organization. More info available here.
SolutionPackager tool
3/22/2019 • 9 minutes to read • Edit Online

SolutionPackager is a tool that can reversibly decompose a Common Data Service compressed solution file into
multiple XML files and other files so that these files can be easily managed by a source control system. The
following sections show you how to run the tool and how to use the tool with managed and unmanaged solutions.

Where to find the SolutionPackager tool


The SolutionPackager tool is distributed as part of the Microsoft.CrmSdk.CoreTools NuGet package. See
Download tools from NuGet for information about how to download it.

SolutionPackager command-line arguments


SolutionPackager is a command-line tool that can be invoked with the parameters identified in the following table.

ARGUMENT DESCRIPTION

/action: {Extract|Pack} Required. The action to perform. The action can be either to
extract a solution .zip file to a folder, or to pack a folder into a
.zip file.

/zipfile: <file path> Required. The path and name of a solution .zip file. When
extracting, the file must exist and will be read from. When
packing, the file is replaced.

/folder: <folder path> Required. The path to a folder. When extracting, this folder is
created and populated with component files. When packing,
this folder must already exist and contain previously extracted
component files.

/packagetype: {Unmanaged|Managed|Both} Optional. The type of package to process. The default value is
Unmanaged. This argument may be omitted in most
occasions because the package type can be read from inside
the .zip file or component files. When extracting and Both is
specified, managed and unmanaged solution .zip files must be
present and are processed into a single folder. When packing
and Both is specified, managed and unmanaged solution .zip
files will be produced from one folder. For more information,
see the section on working with managed and unmanaged
solutions later in this topic.

/allowWrite:{Yes|No} Optional. The default value is Yes. This argument is used only
during an extraction. When /allowWrite:No is specified, the
tool performs all operations but is prevented from writing or
deleting any files. The extract operation can be safely assessed
without overwriting or deleting any existing files.
ARGUMENT DESCRIPTION

/allowDelete:{Yes|No|Prompt} Optional. The default value is Prompt. This argument is used


only during an extraction. When /allowDelete:Yes is specified,
any files present in the folder specified by the /folder
parameter that are not expected are automatically deleted.
When /allowDelete:No is specified, no deletes will occur. When
/allowDelete:Prompt is specified, the user is prompted
through the console to allow or deny all delete operations.
Note that if /allowWrite:No is specified, no deletes will occur
even if /allowDelete:Yes is also specified.

/clobber Optional. This argument is used only during an extraction.


When /clobber is specified, files that have the read-only
attribute set are overwritten or deleted. When not specified,
files with the read-only attribute aren’t overwritten or deleted.

/errorlevel: {Off|Error|Warning|Info|Verbose} Optional. The default value is Info. This argument indicates the
level of logging information to output.

/map: <file path> Optional. The path and name of an .xml file containing file
mapping directives. When used during an extraction, files
typically read from inside the folder specified by the /folder
parameter are read from alternate locations as specified in the
mapping file. During a pack operation, files that match the
directives aren’t written.

/nologo Optional. Suppress the banner at runtime.

/log: <file path> Optional. A path and name to a log file. If the file already
exists, new logging information is appended to the file.

@ <file path> Optional. A path and name to a file that contains command-
line arguments for the tool.

/sourceLoc: <string> Optional. This argument generates a template resource file,


and is valid only on extract.

Possible values are auto or an LCID/ISO code for the


language you want to export. When this argument is used,
the string resources from the given locale are extracted as a
neutral .resx file. If auto or just the long or short form of the
switch is specified, the base locale or the solution is used. You
can use the short form of the command: /src.

/localize Optional. Extract or merge all string resources into .resx files.
You can use the short form of the command: /loc.

Use the /map command argument


The following discussion details the use of the /map argument to the SolutionPackager tool.
Files that are built in an automated build system, such as .xap Silverlight files and plug-in assemblies, are typically
not checked into source control. Web resources may already be present in source control in locations that are not
directly compatible with the SolutionPackager tool. By including the /map parameter, the SolutionPackager tool
can be directed to read and package such files from alternate locations and not from inside the Extract folder as it
would typically be done. The /map parameter must specify the name and path to an XML file containing mapping
directives that instruct the SolutionPackager to match files by their name and path, and indicate the alternate
location to find the matched file. The following information applies to all directives equally.
Multiple directives may be listed including those that will match identical files. Directives listed early in the
file take precedence over those listed later.
If a file is matched to any directive, it must be found in at least one alternative location. If no matching
alternatives are found, the SolutionPackager will issue an error.
Folder and file paths may be absolute or relative. Relative paths are always evaluated from the folder
specified by the /folder parameter.
Environment variables may be specified by using a %variable% syntax.
A folder wildcard “**” may be used to mean “in any sub-folder”. It can only be used as the final part of a
path, for example: “c:\folderA\**”.
File name wildcards may be used only in the forms “*.ext” or “*.*”. No other pattern is supported.
The three types of directives mappings are described here, along with an example that shows you how to
use them.
Folder mapping
The following provides detailed information on folder mapping.
Xml Format
<Folder map="folderA" to="folderB" />

Description
File paths that match “folderA” will be switched to “folderB”.
The hierarchy of subfolders under each must exactly match.
Folder wildcards are not supported.
No file names may be specified.
Examples

<Folder map="folderA" to="folderB" />


<Folder map="folderA\folderB" to="..\..\folderC\" />
<Folder map="WebResources\subFolder" to="%base%\WebResources" />

File To file mapping


The following provides detailed information on file-to-file mapping.
Xml Format
<FileToFile map="path\filename.ext" to="path\filename.ext" />

Description
Any file matching the map parameter will be read from the name and path specified in the to parameter.
For the map parameter:
A file name must be specified. The path is optional. If no path is specified, files from any folder may be
matched.
File name wildcards are not supported.
The folder wildcard is supported.
For the to parameter:
A file name and path must be specified.
The file name may differ from the name in the map parameter.
File name wildcards are not supported.
The folder wildcard is supported.
Examples

<FileToFile map="assembly.dll" to="c:\path\folder\assembly.dll" />


<FileToFile map="PluginAssemblies\**\this.dll" to="..\..\Plugins\**\that.dll" />
<FileToFile map="Webresrouces\ardvark.jpg" to="%SRCBASE%\CrmPackage\WebResources\JPG format\aardvark.jpg" />

File to path mapping


The following provides detailed information on file-to-path mapping.
Xml Format
<FileToPath map="path\filename.ext" to="path" />

Description
Any file matching the map parameter is read from the path specified in the to parameter.
For the map parameter:
A file name must be specified. The path is optional. If no path is specified, files from any folder may be
matched.
File name wildcards are supported.
The folder wildcard is supported.
For the to parameter:
A path must be specified.
The folder wildcard is supported.
A file name must not be specified.
Examples

<FileToPath map="assembly.dll" to="c:\path\folder" />


<FileToPath map="PluginAssemblies\**\this.dll" to="..\..\Plugins\bin\**" />
<FileToPath map="*.jpg" to="%SRCBASE%\CrmPackage\WebResources\JPG format\" />
<FileToPath map="*.*" to="..\..\%ARCH%\%TYPE%\drop" />

Example mapping
The following XML code sample shows a complete mapping file that enables the SolutionPackager tool to read
any web resource and the two default generated assemblies from a Developer Toolkit project named
CRMDevTookitSample.
<?xml version="1.0" encoding="utf-8"?>
<Mapping>
<!-- Match specific named files to an alternate folder -->
<FileToFile map="CRMDevTookitSamplePlugins.dll"
to="..\..\Plugins\bin\**\CRMDevTookitSample.plugins.dll" />
<FileToFile map="CRMDevTookitSampleWorkflow.dll"
to="..\..\Workflow\bin\**\CRMDevTookitSample.Workflow.dll" />
<!-- Match any file in and under WebResources to an alternate set of sub-folders -->
<FileToPath map="WebResources\*.*" to="..\..\CrmPackage\WebResources\**" />
<FileToPath map="WebResources\**\*.*" to="..\..\CrmPackage\WebResources\**" />
</Mapping>

Managed and unmanaged solutions


A Common Data Service compressed solution (.zip) file can be exported in one of two types as shown here.
Managed solution
A completed solution ready to be imported into an organization. Once imported, components can’t be added or
removed, although they can optionally allow further customization. This is recommended when development of
the solution is complete.
Unmanaged solution
An open solution with no restrictions on what can be added, removed, or modified. This is recommended during
development of a solution.
The format of a compressed solution file will be different based on its type, either managed or unmanaged. The
SolutionPackager can process compressed solution files of either type. However, the tool can’t convert one type to
another. The only way to convert solution files to a different type, for example from unmanaged to managed, is by
importing the unmanaged solution .zip file into a Common Data Service server and then exporting the solution as
a managed solution.
The SolutionPackager can process unmanaged and managed solution .zip files as a combined set via the
/PackageType:Both parameter. To perform this operation, it is necessary to export your solution twice as each type,
naming the .zip files as follows.

Unmanaged .zip file: AnyName.zip Managed .zip file: AnyName_managed.zip

The tool will assume the presence of the managed zip file in the same folder as the unmanaged file and extract
both files into a single folder preserving the differences where managed and unmanaged components exist.
After a solution has been extracted as both unmanaged and managed, it is possible from that single folder to pack
both, or each type individually, using the /PackageType parameter to specify which type to create. When specifying
both, two .zip files will be produced using the naming convention as above. If the /PackageType parameter is
missing when packing from a dual managed and unmanaged folder, the default is to produce a single unmanaged
.zip file.

Troubleshooting
If you use Visual Studio 2012 to edit resource files created by the solution packager, you may receive a message
when you repack similar to this:
“Failed to determine version id of the resource file <filename>.resx the resource file must be exported from
the solutionpackager.exe tool in order to be used as part of the pack process.”
This happens because Visual Studio replaces the resource file’s metadata tags with data tags.
Workaround
1. Open the resource file in your favorite text editor and locate and update the following tags:

<data name="Source LCID" xml:space="preserve">


<data name="Source file" xml:space="preserve">
<data name="Source package type" xml:space="preserve">
<data name="SolutionPackager Version" mimetype="application/x-microsoft.net.object.binary.base64">

2. Change the node name from <data> to <metadata> .


For example, this string:

<data name="Source LCID" xml:space="preserve">


<value>1033</value>
</data>

Changes to:

<metadata name="Source LCID" xml:space="preserve">


<value>1033</value>
</metadata>

This allows the solution packager to read and import the resource file. This problem has only been
observed when using the Visual Studio Resource editor.
See also
Use Source Control with Solution Files

Solution Component File Reference

Introduction to Solutions
Source control with solution files
5/2/2019 • 6 minutes to read • Edit Online

The SolutionPackager tool can be used with any source control system. After a solution .zip file has been extracted
to a folder, simply add and submit the files to your source control system. These files can then be synchronized on
another computer where they can be packed into a new identical solution .zip file.
An important aspect when using extracted component files in source control is that adding all the files into source
control may cause unnecessary duplication. See the Solution Component File Reference to see which files are
generated for each component type and which files are recommended for use in source control.
As further customizations and changes are necessary for the solution, developers should edit or customize
components through existing means, export again to create a .zip file, and extract the compressed solution file into
the same folder.

IMPORTANT
Except for the sections described in When to edit the customizations file, manual editing of extracted component files and .zip
files is not supported.

When the SolutionPackager tool extracts the component files it will not overwrite existing component files of the
same name if the file contents are identical. In addition, the tool honors the read-only attribute on component files
producing a warning in the console window that particular files were not written. This enables the user to check
out, from source control, the minimal set of files that are changing. The /clobber parameter can be used to
override and cause read-only files to be written or deleted. The /allowWrite parameter can be used to assess what
impact an extract operation has without actually causing any files to be written or deleted. Use of the /allowWrite
parameter with verbose logging is effective.
After the extract operation is completed with the minimal set of files checked out from source control, a developer
may submit the changed files back into source control, as is done with any other type of source file.

Team development
When there are multiple developers working on the same solution component a conflict might arise where
changes from two developers result in changes to a single file. This occurrence is minimized by decomposing each
individually editable component or subcomponent into a distinct file. Consider the following example.
1. Developer A and B are both working on the same solution.
2. On independent computers, they both get the latest sources of the solution from source control, pack, and
import an unmanaged solution .zip file into independent Common Data Service organizations.
3. Developer A customizes the “Active Contacts” system view and the main form for the Contact entity.
4. Developer B customizes the main form for the Account entity and changes the “Contact Lookup View”.
5. Both developers export an unmanaged solution .zip file and extract.
a. Developer A will need to check out one file for the Contact main form, and one file for the “Active
Contacts” view.
b. Developer B will need to check out one file for the Account main form, and one file for the “Contact
Lookup View”.
6. Both developers may submit, in any order, as their respective changes touched separate files.
7. After both submissions are complete, they can repeat step #2 and then continue to make further changes in
their independent organizations. They each have both sets of changes, with no overwrites of their own
work.
The previous example works only when there are changes to separate files. It is inevitable that independent
customizations require changes within a single file. Based on the example shown above, consider that
developer B customized the “Active Contacts” view while developer A was also customizing it. In this new
example, the order of events becomes important. The correct process to reconcile this predicament, written
out in full, is as follows.
8. Developer A and B are both working on the same solution.
9. On independent computers, they both get the latest sources of the solution from source control, pack, and
import an unmanaged solution .zip file into independent organizations.
10. Developer A customizes the “Active Contacts” system view and the main form for the Contact entity.
11. Developer B customizes the main form for the Account entity and changes the “Active Contacts”.
12. Both developers export an unmanaged solution . zip file and extract.
a. Developer A will need to check out one file for the Contact main form, and one file for the “Active
Contacts” view.
b. Developer B will need to check out one file for the Account main form, and one file for the “Active
Contacts” view.
13. Developer A is ready first.
a. Before she submits to source control she must get latest sources to ensure no prior check-ins conflict
with her changes.
b. There are no conflicts so she is able to submit.
14. Developer B is ready next following developer A.
a. Before he submits he must get the latest sources to ensure no prior check-ins conflict with his
changes.
b. There is a conflict because the file for “Active Contacts” has been modified since he last retrieved the
latest sources.
c. Developer B must reconcile the conflict. It is possible the capabilities of the source control system in
use may aide this process; otherwise the following choices are all viable.
a. Developer B, through source control history, if available, can see that the developer A made
the prior change. Through direct communication they can discuss each change. Then
developer B only has to update his organization with the agreed resolution. He then exports,
extracts, and overwrites the conflicting file and submits.
b. Allow source control to overwrite his local file. Developer B packs the solution and imports it
into his organization, then assesses the state of the view and re-customizes it as necessary.
Next, he may export, extract, and overwrite the conflicting file.
c. If the prior change can be deemed unnecessary, developer B allows his copy of the file to
overwrite the version in source control and submits.
Whether working on a shared organization or independent organizations, team development of Common
Data Service solutions requires those actively working on a common solution to be aware of the work of
others. The SolutionPackager tool does not fully remove this need but it does enable easy merging of non-
conflicting changes at the source control level, and it proactively highlights the concise components where
conflicts have arisen.
The next sections are the generic processes to effectively use the SolutionPackager tool in source control
when developing with teams. These work equally with independent organizations or shared development
organizations, though with shared organizations the export and extract will naturally include all changes
present within the solution, not just those made by the developer performing the export. Similarly, when
importing a solution .zip file the natural behavior to overwrite all components will occur.

Create a solution
The following procedure identifies the typical steps used when first creating a solution.
1. In a clean organization, create a solution on Common Data Service server, and then add or create
components as necessary.
2. When you are ready to check in, do the following.
a. Export the unmanaged solution.
b. Using the SolutionPackager tool, extract the solution into component files.
c. From those extracted component files, add the necessary files to source control.
d. Submit these changes to source control.

Modify a solution
The following procedure identifies the typical steps used when modifying an existing solution.
1. Synchronize or get the latest solution component file sources.
2. Using the SolutionPackager tool, pack component files into an unmanaged solution .zip file.
3. Import the unmanaged solution file into an organization.
4. Customize and edit the solution as necessary.
5. When you are ready to check the changes into source control, do the following.
a. Export the unmanaged solution.
b. Using the SolutionPackager tool, extract the exported solution into component files.
c. Synchronize or get the latest sources from source control.
d. Reconcile if any conflicts exist.
e. Submit the changes to source control.
Steps 2 and 3 must be done before further customizations occur in the development organization. Within
step 5, step b must be completed before step c.
See also
Solution Component File Reference (SolutionPackager)

Use the SolutionPackager Tool to Compress and Extract a Solution File


Create packages for the Package Deployer
3/22/2019 • 16 minutes to read • Edit Online

Package Deployer lets administrators deploy packages on Common Data Service instances. A package can consist
of any or all of the following:
One or more Common Data Service solution files.
Flat files or exported configuration data file from the Configuration Migration tool. For more information about
the tool, see Move configuration data across instances and organizations with the Configuration Migration tool.
Custom code that can run before, while, or after the package is deployed to the Common Data Service instance.
HTML content specific to the package that can display at the beginning and end of the deployment process.
This can be useful to provide a description of the solutions and files that are deployed in the package.
Common Data Service provides you with a Visual Studio template for creating these packages that can be used
with the Package Deployer tool to deploy them to a Common Data Service instance.

Prerequisites
Ensure that you have all the solutions and files ready that you want to include in the package.
Microsoft .NET Framework 4.6.2
Visual Studio 2015 or Visual Studio 2017
NuGet Package Manager for Visual Studio 2015
In Visual Studio 2017, NuGet and the NuGet Package Manager are automatically installed when you
select any .NET-related workloads.
Microsoft Dynamics CRM SDK Templates for Visual Studio that contains the package template. You can get it
by downloading the Microsoft Dynamics CRM SDK Templates and double-click the CRMSDKTemplates.vsix file
to install the template in Visual Studio.

Create a package
Perform the following five steps to create a package:
Step 1: Create a project using the template
Step 2: Add your files to the project
Step 3: Update the HTML files
Step 4: Specify the configuration values for the package
Step 5: Define custom code for your package
Step 1: Create a project using the template
1. Start Visual Studio, and create a new project.
2. In the New Project dialog box:
a. From the list of installed templates, expand Visual C#, and select Dynamics 365 SDK Templates.
b. Ensure that .NET Framework 4.6.2 is selected.
c. Select Dynamics 365 Package.
d. Specify the name and location of the project, and click OK.
Step 2: Add your files to the project
1. In the Solutions Explorer pane, add your solutions and files under the PkgFolder folder.
2. For each file that you add under the PkgFolder folder, in the Properties pane, set the Copy to Output
Directory value to Copy Always. This ensures that your file is available in the generated package.
Step 3: Update the HTML files: English and other languages
1. In the Solution Explorer pane, expand PkgFolder > Content > en-us. You’ll find two folders called
EndHTML and WelcomeHTML . These folders contain the HTML and associated files that enable you to display
information at the end and beginning of the package deployment process. Edit the files in the HTML folder
of these folders to add information for your package.
2. You can also add the HTML files in your package in other languages so that the content in the HTML
appears in the language based on the locale settings of the user’s computer. To do so:
a. Create a copy of the en-us folder under PkgFolder > Content.
b. Rename the copied folder to the appropriate language. For example, for the Spanish language, rename it
to es-ES.
c. Modify the content of the HTML files to add Spanish content.
Step 4: Specify the configuration values for the package
1. Define the package configuration by adding information about your package in the ImportConfig.xml file
available in the PkgFolder. Double-click the file to open it for editing. The following list provides
information about each parameter and node in the config file.
installsampledata
True or false . If true , installs sample data to Common Data Service instance. This is the same sample
data that you can install from Settings > Data Management area in Common Data Service.
waitforsampledatatoinstall
True or false. If true, and if installsampledata is also set to true, waits for sample data to install before
deploying the package.

NOTE
Ensure that you set installsampledata to true if you are setting waitforsampledatatoinstall to true.

agentdesktopzipfile
File name of the zip file to unpack. If you specify a .zip file name here, it adds a screen during the package
deployment process that prompts you to select a location where you want to unpack the contents of the file.
This is commonly used for creating packages for Unified Service Desk for Dynamics 365. For information
about Unified Service Desk, see Administration Guide for Unified Service Desk 3.0.
agentdesktopexename
Name of the .exe or .msi file in the zip file or a URL to be invoked at the end of the deployment process.
This is commonly used for creating packages for Unified Service Desk.
crmmigdataimportfile
File name of the default configuration data file (.zip) exported using the Configuration Migration tool.
You can also import a localized version of the configuration data file based on the locale ID (LCID )
specified using new runtime settings while running the package deployer. Use the <cmtdatafile>
node (explained later) to specify the localized versions of the configuration data file in a package and
then use the OverrideConfigurationDataFileLanguage method (explained later) to specify the logic for
importing the configuration data file based on the locale ID specified using the runtime settings. You
cannot import more than one configuration data file using a package at a time.
For Common Data Service (on-premises), if your configuration data file contains user information,
and both the source and target Common Data Service instances are on the same Active Directory
Domain, user information will be imported to the target Common Data Service instance. To import
user information to a Common Data Service (on-premises) instance on a different domain, you must
include the user map file (.xml) generated using the Configuration Migration tool in your project, and
specify it along with the configuration data file using the usermapfilename attribute in the
<cmtdatafile> node explained later. User information cannot be imported to Common Data Service
instances.
<solutions> node
Contains an array of <configsolutionfile> nodes that describe the solutions to import. The order of
the solutions under this node indicates the order in which the solutions will be imported on the
target Common Data Service instance.
<configsolutionfile> node
Use this node under the <solutions> node to specify the individual solutions and the following
information for each solution to be imported:
solutionpackagefilename : Specify the .zip file name of your solution. Required.
overwriteunmanagedcustomizations : Specify whether to overwrite any unmanaged customizations
when importing a solution that already exists in the target Dynamics 365 instance. This is optional,
and if you do not specify this attribute, by default the unmanaged customizations in the existing
solution are maintained on the target Dynamics 365 instance.
publishworkflowsandactivateplugins : Specify whether to publish workflows and activate plug-ins in
the target Dynamics 365 instance after the solution is imported. This is optional, and if you do not
specify not specify this attribute, by default the workflows are published and plug-ins are activated
after the solution is imported on the target Dynamics 365 instance.
You can add multiple solution file names in a package by adding as many <configsolutionfile>
nodes. For example, if you want three solution files to be imported, add them like this:
<solutions>
<configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip"
overwriteunmanagedcustomizations="false"
publishworkflowsandactivateplugins="true"/>
<configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip"
overwriteunmanagedcustomizations="false"
publishworkflowsandactivateplugins="true"/>
<configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" />
</solutions>

<filestoimportnode> node
Contains an array of <configimportfile> and <zipimportdetails> nodes that are used to describe
individual files and zip files respectively to be imported.
<configimportfile> node
Use this node under the <configimportfile> node to describe a file to be imported to Common Data
Service. You can add multiple files in a package by adding as many <configimportfile> nodes.

<filestoimport>
<configimportfile filename="File.csv"
filetype="CSV"
associatedmap="FileMap"
importtoentity="FileEntity"
datadelimiter=""
fielddelimiter="comma"
enableduplicatedetection="true"
isfirstrowheader="true"
isrecordownerateam="false"
owneruser=""
waitforimporttocomplete="true" />
<configimportfile filename="File.zip"
filetype="ZIP"
associatedmap="FileMapName"
importtoentity="FileEntity"
datadelimiter=""
fielddelimiter="comma"
enableduplicatedetection="true"
isfirstrowheader="true"
isrecordownerateam="false"
owneruser=""
waitforimporttocomplete="true"/>

</filestoimport>

This has the following attributes:

ATTRIBUTE DESCRIPTION

filename Name of the file that contains the import data. If the file is
a .zip file, a <zipimportdetails> node must be present
with a <zipimportdetail> node for each file in the .zip
file.

filetype This can be csv, xml, or zip.


ATTRIBUTE DESCRIPTION

associatedmap Name of the Common Data Service import data map to


use with this file. If blank, attempts to use the system
determined import data map name for this file.

importtoentity Can be the name of the exe in the zip file, a URL, or an
.msi file to provide a link to invoke at the end of the
process.

datadelimiter Name of the data delimiter used in the import file. Valid
values are singlequote or doublequotes.

fielddelimiter Name of the field delimiter used in the import file. Valid
values are comma or colon, or singlequote.

enableduplicatedetection Indicates whether to enable duplicate detections rules on


data import. Valid values are true or false.

isfirstrowheader Used to denote that the first row of the import file
contains the field names. Valid values are true or
false .

isrecordownerateam Indicates whether the owner of the record on import


should be a team. Valid values are true or false .

owneruser Indicates the user ID that should own the records. The
default value is the currently logged in user.

waitforimporttocomplete If true , the system waits for the import to complete


before proceeding. If false , it queues the jobs and
moves on.

<zipimportdetails> node
This node contains an array of <zipimportdetail> nodes that describe the files included in a zip file that is
used to import to Dynamics 365.
<zipimportdetail> node
Use this node under the <zipimportdetails> node to provide information about an individual file in a .zip
file that is specified in the <configimportfile> node.

<filestoimport>
...
...
<zipimportdetails>
<zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" />
<zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" />
</zipimportdetails>
</filestoimport>

This has the following attributes:

ATTRIBUTE DESCRIPTION

filename Name of the file that contains the import data.


ATTRIBUTE DESCRIPTION

filetype This can be csv or xml.

importtoentity Can be the name of the exe in the zip file, a url, or an .msi
file to provide a link to invoke at the end of the process.

<filesmapstoimport> node
This node contains an array of <configmapimportfile> nodes to import. The order of the map files in this
node indicates the order in which they are imported. For information about data maps, see Create data
maps for import.
<configimportmapfile> node
Use this node under the <filesmapstoimport> node to provide information about an individual map file to
import in Common Data Service.

<filesmapstoimport>
<configimportmapfile filename="FileMap.xml" />
</filesmapstoimport>

<cmtdatafiles> node
This node contains an array of <cmtdatafile> nodes that containslocalized version of the configuration data
file to be imported.
<cmtdatafile> node
Use this node under the <cmtdatafiles> node to specify the localized configuration data files along with
locale ID (required) and user information map file (optional). For example:

<cmtdatafiles>
<cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" />
<cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" />
</cmtdatafiles>

You can define your custom logic in the OverrideConfigurationDataFileLanguage method (explained later) to
import a localized configuration data file instead of the default one (specified in crmmigdataimportfile)
based on the locale ID (LCID ) value specified using the runtime settings (explained later).
2. Click Save All.
The following represents the contents of a sample ImportConfig.xml file.
<?xml version="1.0" encoding="utf-16"?>
<configdatastorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
installsampledata="true"
waitforsampledatatoinstall="true"
agentdesktopzipfile=""
agentdesktopexename=""
crmmigdataimportfile="data_1033.zip">
<solutions>
<configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip"
overwriteunmanagedcustomizations="false"
publishworkflowsandactivateplugins="true"/>
<configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip"
overwriteunmanagedcustomizations="false"
publishworkflowsandactivateplugins="true"/>
<configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" />
</solutions>
<filestoimport>
<configimportfile filename="SampleOption.csv"
filetype="CSV"
associatedmap="SampleOption"
importtoentity="sample_option"
datadelimiter=""
fielddelimiter="comma"
enableduplicatedetection="true"
isfirstrowheader="true"
isrecordownerateam="false"
owneruser=""
waitforimporttocomplete="false"/>
<configimportfile filename="File.zip"
filetype="ZIP"
associatedmap="FileMapName"
importtoentity="FileEntity"
datadelimiter=""
fielddelimiter="comma"
enableduplicatedetection="true"
isfirstrowheader="true"
isrecordownerateam="false"
owneruser=""
waitforimporttocomplete="true"/>
<zipimportdetails>
<zipimportdetail filename="subfile1.csv"
filetype="csv"
importtoentity="account" />
<zipimportdetail filename="subfile2.csv"
filetype="csv"
importtoentity="contact" />
</zipimportdetails>
</filestoimport>
<filesmapstoimport>
<configimportmapfile filename="SampleOption.xml" />
</filesmapstoimport>
<cmtdatafiles>
<cmtdatafile filename="data_1033.zip"
lcid="1033"
usermapfilename="UserMap.xml" />
<cmtdatafile filename="data_1041.zip"
lcid="1041"
usermapfilename="" />
</cmtdatafiles>
</configdatastorage>

Step 5: Define custom code for your package


1. In the Solution Explorer pane, double-click the PackageTemplate.cs file at the root to edit it.
2. In the PackageTemplate.cs file, you can:
a. Enter custom code to execute when the package is initialized in the override method definition of
InitializeCustomExtension .

This method can be used to let users use the runtime parameters while running a package. As a
developer, you can add support for any runtime parameter to your package by using the
RuntimeSettings property as long as you have code to process it based on the user input.
For example, the following sample code enables a runtime parameter called SkipChecks for the
package that has two possible values: true or false. The sample code checks if the user has specified
any runtime parameters while running Package Deployer (either by using the command line or
PowerShell), and then accordingly processes the information. If no runtime parameter is specified by
the user while running the package, the value of the RuntimeSettings property will be null.

public override void InitializeCustomExtension()


{
// Do nothing.

// Validate the state of the runtime settings object.


if (RuntimeSettings != null)
{
PackageLog.Log(string.Format("Runtime Settings populated. Count = {0}", RuntimeSettings.Count));
foreach (var setting in RuntimeSettings)
{
PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString()));
}

// Check to see if skip checks is present.


if ( RuntimeSettings.ContainsKey("SkipChecks") )
{
bool bSkipChecks = false;
if (bool.TryParse((string)RuntimeSettings["SkipChecks"], out bSkipChecks))
OverrideDataImportSafetyChecks = bSkipChecks;
}
}
else
PackageLog.Log("Runtime Settings not populated");
}

This lets the administrator use the command line or the Import-CrmPackage cmdlet to specify
whether to skip the safety checks while running the Package Deployer tool to import the package.
More information: Deploy packages using Dynamics 365 Package Deployer and Windows
PowerShell
b. Enter custom code to execute before the solutions are imported in the override method definition of
PreSolutionImport to specify whether to maintain or overwrite customizations while updating the
specified solution in a target Common Data Service instance, and whether to automatically activate
plug-ins and workflows.
c. Use the override method definition of RunSolutionUpgradeMigrationStep to perform data
transformation or upgrade between two versions of a solution This method is called only if the
solution you are importing is already present in the target Common Data Service instance.
This function expects the following parameters:
PARAMETER DESCRIPTION

solutionName Name of the solution

oldVersion Version number of the old solution

newVersion Version number of the new solution

oldSolutionId GUID of the old solution.

newSolutionId GUID of the new solution.

d. Enter custom code to execute before the solution import completes in the override definition of the
BeforeImportStage method. The sample data and some flat files for solutions specified in the
ImportConfig.xml file are imported before the solution import completes.

e. Override the currently-selected language for configuration data import using the override method
definition of OverrideConfigurationDataFileLanguage . If the specified locale ID (LCID ) of the specified
language is not found in the list of available languages in the package, the default data file is
imported.
You specify the available languages for the configuration data in the <cmtdatafiles> node in the
ImportConfig.xml file. The default configuration data import file is specified in the
crmmigdataimportfile attribute in the ImportConfig.xml file.

Skipping data checks (OverrideDataImportSafetyChecks = true) can be effective here if you are sure
that the target Common Data Service instance does not contain any data.
f. Enter custom code to execute after the import completes in the override definition of
AfterPrimaryImport >method. The remaining flat files that were not imported earlier, before the
solution import started, are imported now.
g. Change the default name of your package folder from PkgFolder to the package name that you want.
To do so, rename the PkgFolder >folder in the Solution Explorer pane, and then edit the return
value under the GetImportPackageDataFolderName property.

public override string GetImportPackageDataFolderName


{
get
{
// WARNING this value directly correlates to the folder name in the Solution Explorer where the
ImportConfig.xml and sub content is located.
// Changing this name requires that you also change the correlating name in the Solution Explorer
return "PkgFolder";
}
}

h. Change the package name by editing the return value under the GetNameOfImport property.

public override string GetNameOfImport(bool plural)


{
return "Package Short Name";
}

This is the name of your package that will appear on the package selection page in the Dynamics 365
Package Deployer wizard.
i. Change the package description by editing the return value under the
GetImportPackageDescriptionText property.

public override string GetImportPackageDescriptionText


{
get { return "Package Description"; }
}

This is the package description that will appear alongside the package name on the on the package
selection page in the Package Deployer wizard.
j. Change the package long name by editing the return value under the GetLongNameOfImport property.

public override string GetLongNameOfImport


{
get { return "Package Long Name"; }
}

The package long name appears on the next page after you have selected the package to install.
3. Additionally, the following function and variables are available to the package:

NAME TYPE DESCRIPTION

CreateProgressItem(String) Function Used to create a new progress item


in the user interface (UI).

RaiseUpdateEvent(String, Function Used to update the progress created


ProgressPanelItemStatus) by the call to
CreateProgressItem(String).

ProgressPanelItemStatus is an enum
with the following values:

Working = 0
Complete = 1
Failed = 2
Warning = 3
Unknown = 4

RaiseFailEvent(String, Exception) Function Used to fail the current status import


with an exception message.

IsRoleAssoicatedWithTeam(Guid, Function Used to determine if a role is


Guid) associated with a specified team.

IsWorkflowActive(Guid) Function Used to determine if a specified


workflow is active.
NAME TYPE DESCRIPTION

PackageLog Class Pointer This is a pointer to the initialized


logging interface for the package.
This interface is used by a package to
log messages and exceptions to the
package log file.

RootControlDispatcher Property This is a dispatcher interface used to


allow your control to render its own
UI during package deployment. Use
this interface to wrap any UI
elements or commands. It is
important to check this variable for
null values before using it as it may
or may not be set to a value.

CrmSvc Property This is a pointer to CrmServiceClient


class that allows for a package to
address Dynamics 365 from within
the package. Use this to execute SDK
methods and other actions in the
overridden methods.

DataImportBypass Property Use this to specify whether Dynamics


365 Package Deployer skips all data
import operations such as importing
Common Data Service sample data,
flat file data, and data exported from
the Configuration Migration tool.
Specify true or false. Default is
false .

OverrideDataImportSafetyChecks Property Use this to specify whether Dynamics


365 Package Deployer will bypass
some of its safety checks, which helps
in improving the import
performance. Specify true or
false . Default is false .

You should set this to true only if


the target Common Data Service
instance does not contain any data.

4. Save your project, and then build it (Build > Build Solution) to create the package. Your package is the
following files under the <Project>\Bin\Debug folder
<PackageName> folder: The folder name is the same as the one you changed for your package
folder name in step 2.g of this section (Step 5: Define custom code for your package). This folder
contains all solutions, configuration data, flat files, and the contents for your package.
<PackageName>.dll: The assembly contains the custom code for your package. By default, the
name of the assembly is the same as your Visual Studio project name.
The next step is to deploy your package.

Deploy a package
After you create a package, you can deploy it on the Common Data Service instance by using either the Package
Deployer tool or Windows PowerShell.
The package deployer tool is distributed as part of the Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF
NuGet package.To download the package deployer tool, see Download tools from NuGet.
For detailed information, see Deploy packages using Dynamics 365 Package Deployer or Windows PowerShell.

Best practices for creating and deploying packages


While creating packages, developers must ensure that the package assemblies are signed.
While deploying the packages, Common Data Service administrators must:
Insist on a signed package assembly so that you can track an assembly back to its source.
Test the package on a pre-production instance (preferably a mirror image of the production instance) before
running it on a production instance.
Back up the production instance before deploying the package.
Use the PowerApps checker web API
6/26/2019 • 7 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


The PowerApps checker web API provides a mechanism to run static analysis checks against customizations and
extensions to the Common Data Service platform. It is available for makers and developers to perform rich static
analysis checks on their solutions against a set of best practice rules to quickly identify problematic patterns. The
service provides the logic for the solution checker feature in the PowerApps maker portal and is included as part
of the automation for applications submitted to AppSource. Interacting with the service directly in this manner
allows for analysis of solutions that are included as part of on-premise (all supported versions) and online
environments.

IMPORTANT
The web API for PowerApps checker is a preview feature.
Preview features aren’t meant for production use and may have restricted functionality. These features are available
before an official release so that customers can get early access and provide feedback.

Alternative approaches
Before reading through the details of how to interact at the lowest level with the web APIs, consider leveraging
our PowerShell module, Microsoft.PowerApps.Checker.PowerShell, instead. It is a fully supported tool that is
available in the PowerShell Gallery. The current restriction is that it does require Windows PowerShell. If unable to
meet this requirement, then interacting with the APIs directly will likely be the best approach.

Getting started
It is important to note that a solution analysis can result in a long running process. It can typically take sixty
seconds to upwards of five minutes depending on a variety of factors, such as number, size, and complexity of
customizations and code. The analysis flow is multi-step and asynchronous beginning with initiating an analysis
job with the status API being used to query for job completion. An example flow for an analysis is as follows:
1. Obtain an OAuth token
2. Call upload (for each file in parallel)
3. Call analyze (initiates the analysis job)
4. Call status until finished (looping with a pause in between calls until the end is signaled or thresholds are met)
5. Download the result(s) from the provided SAS URI
A few variations are:
Include a lookup of the ruleset or rules as a pre-step. However, it would be slightly faster to pass in a
configured or hard coded ruleset ID. It is recommended that you use a ruleset that meets your needs.
You can opt to not use the upload mechanism (see the upload for limitations).
You will need to determine the following:
Which geography?
Which version?
Which rulesets and rules?
What is your tenant ID?
Refer to the following topics for documentation on the individual APIs:
Retrieve the list of rulesets
Retrieve the list of rules
Upload a file
Invoke analysis
Check for analysis status

Determine a geography
When interacting with the PowerApps checker service, files are temporarily stored in Azure along with the reports
that are generated. By using a geography specific API, you can control where the data is stored. It is suggested to
use the same geography for each API call in the analysis lifecycle. Each geography may have a different version at
any given point in time due to our multi-stage safe deployment approach and doing this ensures full version
compatibility. It also may reduce execution time as the data will not have to travel as far of a distance in some
cases. The following are the available geographies:

AZURE DATACENTER NAME GEOGRAPHY BASE URI

Public Preview United States unitedstatesfirstrelease.api.a


dvisor.powerapps.com

Public Production United States unitedstates.api.advisor.powe


rapps.com

Public Production Europe europe.api.advisor.powerapp


s.com

Public Production Asia asia.api.advisor.powerapps.co


m

Public Production Australia australia.api.advisor.powerap


ps.com

Public Production Japan japan.api.advisor.powerapps.


com

Public Production India india.api.advisor.powerapps.c


om

Public Production Canada canada.api.advisor.powerapp


s.com

Public Production South America southamerica.api.advisor.pow


erapps.com

Public Production United Kingdom unitedkingdom.api.advisor.p


owerapps.com

NOTE
You may choose to use the preview geography to incorporate the latest features and changes earlier. However, note that the
preview uses United States Azure regions only.
Versioning
While not required, it is recommended to include the api-version query string parameter with the desired API
version. The current API version is 1.0. For example, below is a ruleset HTTP request specifying to use the 1.0 API
version:
https://unitedstatesfirstrelease.api.advisor.powerapps.com/api/ruleset?api-version=1.0

If not provided, the latest API version will be used by default. Using an explicit version number is recommended as
the version will be incremented if breaking changes are introduced. If the version number is specified in a request,
backward compatibility support in later (numerically greater) versions will be maintained.

Rulesets and rules


PowerApps checker requires a list of rules when run. These rules can be provided in the form of individual rules or
a grouping of rules, referred to as a ruleset. A ruleset is a convenient way to specify a group of rules instead of
having to specify each rule individually. For example, the solution checker feature uses a ruleset named Solution
Checker. As new rules are added or removed, the service will include these changes automatically without
requiring any change by the consuming application. If you require that the list of rules not change automatically as
described above, then the rules can be specified individually. Rulesets can have one or more rules with no limit. A
rule can be in no or multiple rulesets. You can get a list of all rulesets by calling the API as follows:
[Geographical URL]/api/ruleset . This endpoint is open and does not require authentication.

Solution checker ruleset


The solution checker ruleset contains a set of impactful rules that have limited chances for false positives. If
running analysis against an existing solution, it is recommended that you start with this ruleset. This is the ruleset
used by the solution checker feature.
AppSource certification ruleset
When publishing applications on AppSource, you must get your application certified. Applications published on
AppSource are required to meet a high quality standard. The AppSource certification ruleset contains the rules
that are part of the solution checker ruleset, plus additional rules to ensure only high quality applications are
published on the store. Some of AppSource certification rules are more prone to false positives and may require
additional attention to resolve.

Find your tenant ID


The ID of your tenant is needed to interact with the APIs that require a token. Refer to this article for details on
how to obtain the tenant ID. You can also use PowerShell commands to retrieve the tenant ID. The following
example leverages the cmdlets in the AzureAD module.

# Login to AAD as your user


Connect-AzureAD

# Establish your tenant ID


$tenantId = (Get-AzureADTenantDetail).ObjectId

The tenant ID is the value of the ObjectId property that is returned from Get-AzureADTenantDetail . You may also
see it after logging in using the Connect-AzureAD cmdlet in the cmdlet output. In this case it will be named
TenantId .

Authentication and authorization


Querying for rules and rulesets do not require an OAuth token, but all of the other APIs do require the token. The
APIs do support authorization discovery by calling any of the APIs that require a token. The response will be an
unauthorized HTTP status code of 401 with a WWW -Authenticate header, the authorization URI, and the resource
ID. You should also provide your tenant ID in the x-ms-tenant-id header. Refer to PowerApps Checker
authentication and authorization for more information. Below is an example of the response header returned from
an API request:

WWW-Authenticate →Bearer authorization_uri="https://login.microsoftonline.com/0082fff7-33c5-44c9-920c-


c2009943fd1e", resource_id="https://api.advisor.powerapps.com/"

Once you have this information, you can choose to use the Azure Active Directory Authentication Library (ADAL )
or some other mechanism to acquire the token. Below is an example of how this can be done using C# and the
ADAL library, version 4.5.1:

// Call the status URI as it is the most appropriate to use with a GET.
// The GUID here is just random, but needs to be there.
Uri queryUri = new Uri($"{targetServiceUrl}/api/status/4799049A-E623-4B2A-818A-3A674E106DE5");
AuthenticationParameters authParams = null;

using (var client = new HttpClient())


{
var request = new HttpRequestMessage(HttpMethod.Get, queryUri);
request.Headers.Add("x-ms-tenant-id", tenantId.ToString());

// NOTE - It is highly recommended to use async/await


using (var response = client.SendAsync(request).GetAwaiter().GetResult())
{
if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
// NOTE - It is highly recommended to use async/await
authParams =
AuthenticationParameters.CreateFromUnauthorizedResponseAsync(response).GetAwaiter().GetResult();
}
else
{
throw new Exception($"Unable to connect to the service for authorization information.
{response.ReasonPhrase}");
}
}
}

Once you have acquired the token, it is advised that you provide the same token to subsequent calls in the request
lifecycle. However, additional requests will likely warrant a new token be acquired for security reasons.

Transport security
For best-in-class encryption, the checker service only supports communications using Transport Layer Security
(TLS ) 1.2 and above. For guidance on .NET best practices around TLS, refer to Transport Layer Security (TLS ) best
practices with the .NET Framework.

Report format
The result of the solution analysis is a zip file containing one or more reports in a standardized JSON format. The
report format is based on static analysis results referred to as Static Analysis Results Interchange Format (SARIF ).
There are tools available to view and interact with SARIF documents. Refer to this web site for details. The service
leverages version two of the OASIS standard.
See also
Retrieve the list of rulesets
Retrieve the list of rules
Upload a file
Invoke analysis
Check for analysis status
Invoke analysis
6/26/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


Initiating an analysis job is done by submitting a POST request to the analyze route. Analysis can be a long
running process that usually lasts longer than a minute. The API first does some basic validation, initiates the
request on the backend by submitting a job, and then responds with a status code of 202 and a Location header
or with the appropriate error details. The Location header value is a URL that can be used to check on the status
of the request and to obtain the URL (s) of the result(s). There are various options through the POST action to
taylor the job based on your criteria, such as the list of rules or rulesets, files to exclude from the analysis, and
more. You can initiate the analysis using the following [Geographical URL]/api/analyze?api-version=1.0 .

NOTE
It is recommended to wait between 15 to 60 seconds between status checks. Analysis usually takes between 1 to 5 minutes
to run.
This API does require an OAuth token.

Headers
NAME TYPE EXPECTED VALUE REQUIRED?

Authorization string The OAuth 1 bearer token yes


with Azure Active Directory
(AAD) Application ID claim.

x-ms-tenant-id GUID The ID of the tenant for the yes


application.

x-ms-correlation-id GUID The Identifier for the analysis yes


run. You should provide the
same ID for the entire
execution (upload, analyze,
status).

Accept object application/json, yes


application/x-ms-sarif-
v2

Accept-Language string The language code or codes no


(e.g,. en-US). The default is
en-US. If multiple languages
are provided, the first will be
the primary. However, all
translations (if the language
is supported) will be
included.

Body
Commonly used options:
PROPERTY TYPE EXPECTED VALUE REQUIRED?

sasUriList array of strings A list of URIs that provides Yes


the service access to
download a single solution,
a zip file containing multiple
solution files, or a package.

ruleSets array of custom 0 or more No

ruleSets.id guid The ID of the ruleset, which No, but this is usually what
can be found by querying you would want to use. You
the ruleset API. must use either this or
ruleCodes.

ruleCodes.code string The ID of the desired rule, No, you must use either this
which can be found by or ruleSets.
querying the ruleset and
rule APIs.

fileExclusions array of strings A list of file names or file No


name patterns to exclude.
Support exists for using "*"
as a wildcard in the
beginning and/or end of a
file name ( e.g.,*jquery.dll
and *jquery*).

Expected responses
HTTP STATUS CODE SCENARIO RESULT

202 Request for analysis was accepted and No result body


the status check URI was returned in
the Location header

400 A non-zip file was sent, incorrect No result body


parameters, or a file was included with a
virus

409 A request with a duplicate No result body


x-ms-correlation-id header value
was sent

Expected response headers


NAME TYPE EXPECTED VALUE REQUIRED?

Location Uri URL to use in querying for yes


the current status and to
obtain the results

Example: initiate an analysis


This is an example of initiating an analysis job with the AppSource Certification ruleset, a single file, and excluding
files that contain the text jquery and json in the name.
Request

POST [Geographical URI]/api/analyze?api-version=1.0


Accept: application/json
Content-Type: application/json; charset=utf-8
x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
x-ms-tenant-id: F2E60E49-CB87-4C24-8D4F-908813B22506

{
"ruleSets": [{
"id": "0ad12346-e108-40b8-a956-9a8f95ea18c9"
}],
"sasUriList": ["https://testenvfakelocation.blob.core.windows.net/mySolution.zip"],
"fileExclusions": ["*jquery*", "*json*"]
}

Response

HTTP/1.1 202 Accepted


Content-Type: application/json; charset=utf-8
Location: [Geographical URI]/api/status/9E378E56-6F35-41E9-BF8B-C0CC88E2B832&api-version=1.0

See also
Use the PowerApps checker web API
Retrieve the list of rulesets
Retrieve the list of rules
Upload a file
Check for analysis status
Check for analysis status
6/26/2019 • 3 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


A URL is returned as part of the Location header in response to a request to the analyze API. It is to be used to
query via HTTP GET for the analysis job's status. When the analysis job is finished the response body will include
the URL or list of URLs in which the results output can be downloaded. Keep calling this URI until an HTTP status
code of 200 is returned. While the job is still running, an HTTP status code of 202 will be returned with the
Location header containing this same URI that was returned from analyze . Once a 200 response is returned,
the resultFileUris property will include the single or list of downloadable locations of the output, which is
contained in a zip file. A Static Analysis Results Interchange Format (SARIF ) V2 formatted file is included within
this zip download that is a JSON formatted file containing the results of the analysis. The response body will
contain an IssueSummary object that contains a summary of the count of issues found.

NOTE
It is recommended to wait between 15 to 60 seconds between status checks. Analysis usually takes between 1 to 5 minutes
to run.
This API does require an OAuth token that must be a token for the same client application that initiated the analysis job.

Headers
NAME TYPE EXPECTED VALUE REQUIRED?

Authorization string The OAuth 1 bearer token yes


with AAD Application ID
claim.

x-ms-tenant-id GUID The ID of the tenant for the yes


application.

x-ms-correlation-id GUID The identifier for the analysis yes


run. You should provide the
same Id for the entire
execution (upload, analyze,
status)

Expected responses
HTTP STATUS CODE SCENARIO RESULT

200 One or more results were found See the example below. One result will
be returned.

202 Still processing See the example below. One result will
be returned.
HTTP STATUS CODE SCENARIO RESULT

403 Forbidden The requestor is not the same as the


originator of the request for analysis.

404 Not found Unable to find the analysis request with


the reference provided in the URL.

Expected response headers


NAME TYPE EXPECTED VALUE REQUIRED?

Location uri URI to use in querying for yes


the current status and to
obtain the results

Expected response body


The following table outlines the structure of the response for each request (HTTP 200 or 202 response only).

PROPERTY TYPE EXPECTED VALUE REQUIRED?

privacyPolicy string The URI of the privacy policy. Yes

progress int A value ranging from 0-100 Yes


percentage complete, where
10 means that processing is
approximately 10%
complete.

runCorrelationId GUID The request identifier that is Yes


included in each request.
This can be used to correlate
to the request, if needed.

status string InProgress is returned Yes


when the job is still being
processed. Failed is
returned when there was a
catastrophic issue
processing the job on the
server. There should be
more details in the error
property. Finished is
returned when the job has
completed successfully
without issues.
FinishedWithErrors is
returned when the job has
completed successfully,
however, one or more rules
failed to complete without
error. This is purely a signal
for you to know that the
report may not be complete.
Microsoft is aware of these
issues in the backend and
will work to get things
diagnosed and addressed.
PROPERTY TYPE EXPECTED VALUE REQUIRED?

resultFileUris array of strings A list of URIs that allow for No. This is only included
direct download of the when processing has
output. There should be one completed.
per file that was included in
the original analyze API call.

issueSummary IssueSummary Properties listed below No. This is only included


when processing has
completed.

issueSummary.criticalIssueC int Count of issues identified Yes


ount having a critical severity in
the result

issueSummary.highIssueCou int Count of issues identified Yes


nt having a high severity in the
result

issueSummary.mediumIssue int Count of issues identified Yes


Count having a medium severity in
the result

issueSummary.lowIssueCou int Count of issues identified Yes


nt having a low severity in the
result

issueSummary.informational int Count of issues identified Yes


IssueCount having an informational
severity in the result

Example: status check when done


This example issues a status check call with the result being a completion.
Request

GET [Geographical URI]/api/status/9E378E56-6F35-41E9-BF8B-C0CC88E2B832&api-version=1.0


Accept: application/json
Content-Type: application/json; charset=utf-8
x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
x-ms-tenant-id: F2E60E49-CB87-4C24-8D4F-908813B22506

Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
"privacyPolicy":"https://go.microsoft.com/fwlink/?LinkID=310140",
"progress":100,
"resultFileUris":["https://fakeblob.blob.core.windows.net/report-files/mySolution.zip?sv=2017-11-
09&sr=b&sig=xyz&se=2019-06-11T20%3A27%3A59Z&sp=rd"],"runCorrelationId":"9E378E56-6F35-41E9-BF8B-
C0CC88E2B832","status":"Finished","issueSummary":
{
"informationalIssueCount":0,
"lowIssueCount":0,
"mediumIssueCount":302,
"highIssueCount":30,
"criticalIssueCount":0
}
}

See also
Use the PowerApps checker web API
Retrieve the list of rulesets
Retrieve the list of rules
Upload a file
Invoke analysis
Retrieve the list of rules
6/26/2019 • 4 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


Rules are grouped together using a ruleset. A rule can be in no ruleset, or multiple rulesets. Use a GET request to
obtain a list of all rules available, rules in a ruleset, or rulesets by calling the API [Geographical URI]/api/rule .
There are a few variations to calling this API, however, the most common usage is to retrieve the list of rules for a
specific ruleset.

NOTE
This API does not require an OAuth token, but can accept one if provided.

Headers
NAME TYPE EXPECTED VALUE REQUIRED?

Accept-Language string The language code (e.g., en- no


US). The default is en-US.

Parameters
NAME TYPE EXPECTED VALUE REQUIRED?

ruleset string The name or ID of the no


ruleset or a list of ruleset
IDs, or names separated by
a comma or semicolon (e.g.,
"Solution Checker").

includeMessageFormats bool When set to true , the list no


of possible message
variations are included in
the results of the
language(s) requests, if
available. This is useful for
translations into multiple
languages. If not needed,
then do not provide this
parameter or provide
false as the value as this
parameter will increase the
size of the response and can
increase processing time.

Expected responses
HTTP STATUS CODE SCENARIO RESULT

200 One or more results were found See the example below. One or more
results may be returned.

204 No results were found No results in the response body.

Expected response body


The following table outlines the structure of the response for each request (HTTP 200 response only).

PROPERTY TYPE EXPECTED VALUE REQUIRED?

code string The identifier of the rule, Yes


sometimes referred to as
the Rule ID.

summary string A summary of the the rule. Yes

description string More detailed description of Yes


the rule.

guidanceUrl URI The URL in which to find Yes


published guidance. There
may be some cases where
there is not a dedicated
supporting guidance article.

include boolean Signals to the service that No


the rule is to be included in
the analysis. This will be
true for this API.

messageTemplates array This property value is No


included only when
includeMessageFormats is
true .

messageTemplates.ruleId string Returns the same ID value Yes


as the code property.

messageTemplates.message string An identifier used in the Yes


TemplateId Static Analysis Results
Interchange Format (SARIF)
report to signal an issue
message variation for the
rule.

messageTemplates.message string The text of the message Yes


Template variation for the issue
scenario that the rule
reports. This is a format
string that may contain
tokens in which arguments
provided in the SARIF report
can be used to construct a
detailed message.
Example: retrieve rules for a ruleset in another language
This example returns data for all of the rules in the Solution Checker ruleset in the French language. If the desired
language is English, then just remove the Accept-Language header.
Request

GET [Geographical URI]/api/rule?ruleset=083A2EF5-7E0E-4754-9D88-9455142DC08B&api-version=1.0


x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
Accept: application/json
Content-Type: application/json; charset=utf-8
Accept-Language: fr

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
{
"description": "Ne pas implémenter d’activités de workflow Microsoft Dynamics CRM 4.0",
"guidanceUrl": "http://go.microsoft.com/fwlink/?LinkID=398563&error=il-avoid-crm4-
wf&client=PAChecker",
"include": true,
"code": "il-avoid-crm4-wf",
"summary": "Ne pas implémenter d’activités de workflow Microsoft Dynamics CRM 4.0",
"howToFix": {
"summary": ""
}
},
{
"description": "Utiliser InvalidPluginExecutionException dans des plug-ins et activités de workflow",
"guidanceUrl": "http://go.microsoft.com/fwlink/?LinkID=398563&error=il-use-standard-
exception&client=PAChecker",
"include": true,
"code": "il-use-standard-exception",
"summary": "Utiliser InvalidPluginExecutionException dans des plug-ins et activités de workflow",
"howToFix": {
"summary": ""
}
},
...
]

Example: retrieve all


This example returns data for all of the rules available.
Request

GET [Geographical URI]/api/rule?api-version=1.0


Accept: application/json
Content-Type: application/json; charset=utf-8

Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
{
"description": "Retrieve specific columns for an entity via query APIs",
"guidanceUrl": "http://go.microsoft.com/fwlink/?LinkID=398563&error=il-specify-
column&client=PAChecker",
"include": true,
"code": "il-specify-column",
"summary": "Retrieve specific columns for an entity via query APIs",
"howToFix": {
"summary": ""
}
},
{
"description": "Do not duplicate plug-in step registration",
"guidanceUrl": "http://go.microsoft.com/fwlink/?LinkID=398563&error=meta-remove-dup-
reg&client=PAChecker",
"include": true,
"code": "meta-remove-dup-reg",
"summary": "Do not duplicate plug-in step registration",
"howToFix": {
"summary": ""
}
},
...
]

Example: retrieve for a ruleset with message formats


This example returns data for all of the rules in the Solution Checker ruleset in the French language. If the desired
language is English, then just remove the Accept-Language header.
Request

GET [Geographical URI]/api/rule?ruleset=083A2EF5-7E0E-4754-9D88-9455142DC08B&includeMessageFormats=true&api-


version=1.0
Accept: application/json
Content-Type: application/json; charset=utf-8

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
{
"description": "Do not implement Microsoft Dynamics CRM 4.0 workflow activities",
"guidanceUrl": "http://go.microsoft.com/fwlink/?LinkID=398563&error=il-avoid-crm4-
wf&client=PAChecker",
"include": true,
"code": "il-avoid-crm4-wf",
"summary": "Do not implement Microsoft Dynamics CRM 4.0 workflow activities",
"howToFix": {
"summary": ""
},
"messageTemplates": [
{
"ruleId": "il-avoid-crm4-wf",
"messageTemplateId": "message1",
"messageTemplate": "Update the {0} class to derive from
System.Workflow.Activities.CodeActivity, refactor Execute method implementation, and remove
System.Workflow.Activities.CodeActivity, refactor Execute method implementation, and remove
Microsoft.Crm.Workflow.CrmWorkflowActivityAttribute from type"
},
{
"ruleId": "il-avoid-crm4-wf",
"messageTemplateId": "message2",
"messageTemplate": "Change the {0} property's type from {1} to {2} Argument &lt;T&gt; type"
},
{
"ruleId": "il-avoid-crm4-wf",
"messageTemplateId": "message3",
"messageTemplate": "Replace the Microsoft.Crm.Workflow.Crm{0}Attribute with
Microsoft.Xrm.Sdk.Workflow.{0}Attribute"
},
{
"ruleId": "il-avoid-crm4-wf",
"messageTemplateId": "message4",
"messageTemplate": "Remove the {0} System.Workflow.ComponentModel.DependencyProperty type
field"
}
]
},
{
"description": "Use InvalidPluginExecutionException in plug-ins and workflow activities",
"guidanceUrl": "http://go.microsoft.com/fwlink/?LinkID=398563&error=il-use-standard-
exception&client=PAChecker",
"include": true,
"code": "il-use-standard-exception",
"summary": "Use InvalidPluginExecutionException in plug-ins and workflow activities",
"howToFix": {
"summary": ""
},
"messageTemplates": [
{
"ruleId": "il-use-standard-exception",
"messageTemplateId": "message1",
"messageTemplate": "An unguarded throw of type {0} was detected. Refactor this code to either
throw an exception of type InvalidPluginExecutionException or guard against thrown exceptions of other
types."
},
{
"ruleId": "il-use-standard-exception",
"messageTemplateId": "message2",
"messageTemplate": "An unguarded rethrow of type {0} was detected. Refactor this code to
either throw an exception of type InvalidPluginExecutionException or guard against thrown exceptions of other
types."
}
]
},
...
]

See also
Use the PowerApps checker web API
Retrieve the list of rulesets
Upload a file
Invoke analysis
Check for analysis status
Retrieve the list of rulesets
6/26/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


Rules are grouped together using a ruleset. Rulesets can have one or more rules with no limit. A rule can be in no
ruleset, or multiple rulesets. Use a GET request to obtain a list of all rulesets available by calling the API,
[Geographical URI]/api/ruleset.

NOTE
This API does not require an OAuth token, but can accept one if provided.

Expected responses
HTTP STATUS CODE SCENARIO RESULT

200 One or more results were found See example below. One or more
results may be returned.

204 No results were found No results response body is returned.

Expected response body


The following table outlines the structure of the response for each request (HTTP 200 response only).

PROPERTY TYPE EXPECTED VALUE REQUIRED?

id Guid Identifier of the ruleset Yes

name string Friendly name of the ruleset Yes

Example: retrieve all rulesets


This example returns data for all of the rulesets available.
Request

GET [Geographical URI]/api/ruleset?api-version=1.0


Accept: application/json
x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
Content-Type: application/json; charset=utf-8

Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
{
"id": "083a2ef5-7e0e-4754-9d88-9455142dc08b",
"name": "AppSource Certification"
},
{
"id": "0ad12346-e108-40b8-a956-9a8f95ea18c9",
"name": "Solution Checker"
}
]

See also
Use the PowerApps checker web API
Retrieve the list of rules
Upload a file
Invoke analysis
Check for analysis status
Upload a file for analysis
6/26/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


The initiation of an analysis job requires a path to an Azure blob that is accessible by URL. The ability to upload a
file to Azure blob storage in the specified geography using the upload service is provided. It is not required that
the upload API be used in order to run analysis. You can upload using a POST request to the following:
[Geographical URI]/api/upload?api-version=1.0 . Uploading a file up to 30 MB in size is supported. For anything
larger you will need to provide your own externally accessible Azure storage and SAS URI.

NOTE
This API does require an OAuth token.

Headers
NAME TYPE EXPECTED VALUE REQUIRED?

Authorization string The OAuth 1 bearer token yes


with Azure Active Directory
(AAD) Application ID claim.

x-ms-tenant-id GUID The ID of the tenant for the yes


application.

x-ms-correlation-id GUID The Identifier for the yes


analysis run. You should
provide the same ID for the
entire execution (upload,
analyze, status).

Content-Type object multipart/form-data yes

Content-Disposition object Include the name and yes


filename parameters, for
example:
form-data;
name="solution1.zip";
filename="solution1.zip"

Expected responses
HTTP STATUS CODE SCENARIO RESULT

200 Upload was a success No result body

400 A non zip file was sent, incorrect No result body


parameters, or a file was included with
a virus
HTTP STATUS CODE SCENARIO RESULT

413 File is too large No result body

Example: upload a file


This example demonstrates how a file can be uploaded that is to be analyzed.
Request

POST [Geographical URI]/api/upload


Accept: application/json
x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
x-ms-tenant-id: F2E60E49-CB87-4C24-8D4F-908813B22506
Content-Type: multipart/form-data
Content-Disposition: form-data; name=mySolution.zip; filename=mySolution.zip

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

["https://mystorage.blob.core.windows.net/solution-files/0a4cd700-d1d0-4ef8-8318-e4844cc1636c/mySolution.zip?
sv=2017-11-09&sr=b&sig=xyz&se=2019-06-11T19%3A05%3A20Z&sp=rd"]

See also
Use the PowerApps checker web API
Retrieve the list of rulesets
Retrieve the list of rules
Invoke analysis
Check for analysis status
Publish your app on AppSource
7/26/2019 • 2 minutes to read • Edit Online

Publish your app on Microsoft AppSource so that app subscribers can find it, try it, and buy it. The apps you build
and publish with PowerApps are discovered and used in Dynamics 365 on the web. More information: Discover
apps via AppSource.

Prepare for submitting your app on AppSource


Use the following steps to prepare for submitting your app to be listed on Microsoft AppSource:

Step 1: Fill the app submission form on AppSource


Step 2: Register for Microsoft Partner Network account
Step 3: Create a managed solution for your app
Step 4: Create an AppSource package for your app
Step 5: Store your package on Azure Storage

Submit your app on Partner Center


Once your app is ready for submission, you use the Partner Center to submit your app to be listed on Microsoft
AppSource. Access to the Partner Center and related documentation is available only to Microsoft Partner
Network members.
More information: Next steps: Submit your app on Partner Center

Checklists
App design best practices: Use this checklist to evaluate your app design to provide the best and consistent
user experience.
App certification: Provides information about the checks done during the app certification process after you
submit your app for publishing on AppSource.
See also
Video: Microsoft AppSource: find the right app for your business
Step 1: Fill the app submission form on AppSource
3/22/2019 • 2 minutes to read • Edit Online

Get started by filling out an app submission form on AppSource to provide some initial details about your app.
1. Access the app submission form directly by clicking here. Alternatively, visit AppSource, select List on
AppSource in the top menu of the page. On the page that appears, select Submit Your App at the bottom.
2. Provide information about your contact details, company, and app. All the fields marked with asterisk (*) are
mandatory.
3. After filling the form, select Submit.
The AppSource team wil review your information, and reach out to you with details about the next steps via email.
If your app submission request is accepted, the Dynamics 365 onboarding team will grant you access to the Cloud
Partner Portal, which you will eventually use to submit your actual app for publishing on AppSource. To get access
to the Cloud Partner Portal, you must be registered with Microsoft Partner Network (MPN ). If you don't have an
MPN account, see Step 2: Register for Microsoft Partner Network (MPN ) account.
You don't have to wait to hear back from the AppSource team. Proceed with steps 2-5 to continue preparing your
app for submission while your information is being reviewed by the AppSource team.
Step 2: Register for Microsoft Partner Network (MPN ) account
See also
Publish your apps on AppSource
Step 2: Register for Microsoft Partner Network
account
3/22/2019 • 2 minutes to read • Edit Online

If you are not already a member of the Microsoft Partner Network (MPN ), you must become a member by
enrolling at https://partners.microsoft.com/PartnerProgram/simplifiedenrollment.aspx.
MPN members are provided with an MPN ID that is required for publishing apps on AppSource. MPN
membership is free.
Step 3: Create a managed solution for your app
See also
Publish your apps on AppSource
Step 3: Create a managed solution for your app
3/22/2019 • 2 minutes to read • Edit Online

Create a managed solution to include all the components for your app. You might find these topics helpful as you
plan and create a managed solution to package your app components:
Introduction to solutions
Plan for solution development
Create, install, and update a managed solution

Display name and description of your solution


While creating a solution to package your app components, make sure you provide appropriate values in the
Display Name and Description fields for your new solution that you want to be displayed to your customers.

The Display Name and Description values for a solution are displayed to the customers in the Dynamics 365
Administration Center portal.
Supporting data for your solution
If your solution requires supporting or demo data:
1. Create supporting/demo data in your test environment.
2. Use the Configuration Migration tool to create a schema to include your supporting/demo data.
3. Save the schema file so that you can reuse it later to update the data in case your demo data changes.
4. Use the schema to export the data. Ensure that you provide a meaningful name to your export file. The data is
exported and as a .zip file.
For detailed information about using the Configuration Migration tool to create a schema and export your data,
see Create a schema to export configuration data

At the end of this step


You will have a solution file (example: SampleSolution.zip) and optionally a demo data file (example:
SampleData.zip) for your app.
Step 4: Create an AppSource package for your app
Step 4: Create an AppSource package for your app
8/15/2019 • 4 minutes to read • Edit Online

You must create an AppSource package (.zip file) to include your solution and demo data files along with other
required files. An AppSource package consists of the following files:

FILE DESCRIPTION

Package file A package file used by Package Deployer tool to deploy your
solutions and demo configuration data into multiple
languages.

[Content_Types].xml File that provides MIME type information of the file type
extensions included in the AppSource package. Typically, these
are .config, .dll, .exe, .xml, and .zip file types, but you can add
almost any file type that is supported by Windows.

Icon file An image file for the appsource package icon; size should be
32x32 pixels. Valid image formats are PNG and JPG.

HTML file File containing your License terms.

input.xml Files that describes the assets in your AppSource package.

Create a Package file


A package lets you bundle and deploy multiple files related to your app at once.
1. Create a Dynamics 365 package to include the solution and configuration data files that you created in Step
2: Create a managed solution for your app. A package can also contain custom code that can run before,
while, or after the package is deployed to the Common Data Service instance. For more information about
creating a package file, see Create packages for the Dynamics 365 Package Deployer.
After you have created a package, your package will consist of the following things:
<PackageName> folder: This folder contains all solutions, configuration data, flat files, and the
contents for your package. For example: PkgFolder.
<PackageName>.dll: The assembly contains the custom code for your package. For example:
SamplePackage.dll.
2. Next, create a [Content_Types].xml file that provides MIME type information of the file type extensions
that are included in your package. This is separate from the one that will be included again in the
AppSource package. Here is the sample contents of a Content_Types].xml file with file types listed:
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="xml" ContentType="application/octet-stream" />
<Default Extension="xaml" ContentType="application/octet-stream" />
<Default Extension="dll" ContentType="application/octet-stream" />
<Default Extension="zip" ContentType="application/octet-stream" />
<Default Extension="jpg" ContentType="application/octet-stream" />
<Default Extension="gif" ContentType="application/octet-stream" />
<Default Extension="png" ContentType="application/octet-stream" />
<Default Extension="htm" ContentType="application/octet-stream" />
<Default Extension="html" ContentType="application/octet-stream" />
<Default Extension="db" ContentType="application/octet-stream" />
<Default Extension="css" ContentType="application/octet-stream" />
</Types>

3. Compress (zip) the following files into a file called package.zip:


package folder (PkgFolder)
package dll (SamplePackage.dll)
[Content_Types].xml
To compress these files, browse to the folder where these files are present, select them all, right-click
and select Send to > Compressed (zipped) folder.

4. Rename the .zip file to package.zip.

Create [Content_Types].xml
You can reuse the [Content_Types].xml that you created in the previous section under step 2.

Create an icon for your AppSource package


Create an icon file of size 32x32 to display along with the preferred solution name and description in the
Dynamics 365 Administration Center portal. Valid file formats are PNG and JPG.

Create an HTML file for license terms


Create an HTML file containing your license terms. You can have an HTML file per language to display the license
terms in the user selected language if your app supports multiple languages.

Create input.xml file


Create an input.xml file that provides information about your package and the contents of the package. Here is the
contents of a sample input.xml file; each element is explained later in the table.

<?xml version="1.0" encoding="utf-8"?>


<PvsPackageData>
<ProviderName>Microsoft</ProviderName>
<PackageFile>package.zip</PackageFile>
<SolutionAnchorName>SampleSolution.zip</SolutionAnchorName>
<StartDate>12/01/2017</StartDate>
<EndDate>01/01/2021</EndDate>
<SupportedCountries>US,CA</SupportedCountries>
<LearnMoreLink>http://www.microsoft.com</LearnMoreLink>
<Locales>
<PackageLocale Code="1033" IsDefault="true">
<Logo>logo32x32.png</Logo>
<Terms>
<PackageTerm File="TermsOfUse.html" />
</Terms>
</PackageLocale>
</Locales>
</PvsPackageData>

Here is a description of the elements in the input.xml file.

ELEMENT DESCRIPTION

ProviderName Name of the solution provider. If created by a Microsoft


internal team, specify Microsoft.

PackageFile Name of package (.zip file) for the Package Deployer tool. This
zip file should contain the package assembly, the package
folder with your app assets, and the Content_Types.xml file.
For example, the package.zip file created under the Create a
Package file section.

SolutionAnchorName Name of the solution zip file in the package that is used for
the display name and description of solution assets.

StartDate Date on which the app becomes available on AppSource. The


format is MM/DD/YYYY.

EndDate Date on which the app stops being available on AppSource.


The format is MM/DD/YYYY.

SupportedCountries This is a comma-separated list of countries or regions where


the app should be available. At the time of writing this article,
the supported countries list is the following:
AE,AL,AM,AO,AR,AT,AU,AZ,BA,BB,BD,BE,BG,BH,BM,BN,BO,BR,B
Y,CA,CH,CI,CL,CM,CO,CR,CV,CW,CY,CZ,DE,DK,DO,DZ,EC,EE,E
G,ES,FI,FR,GB,GE,GH,GR,GT,HK,HN,HR,HU,ID,IE,IL,IN,IQ,IS,IT,JM
,JO,JP,KE,KG,KN,KR,KW,KY,KZ,LB,LK,LT,LU,LV,LY,MA,MC,MD,M
E,MK,MN,MO,MT,MU,MX,MY,NG,NI,NL,NO,NZ,OM,PA,PE,PH,
PK,PL,PR,PS,PT,PY,QA,RO,RS,RU,RW,SA,SE,SG,SI,SK,SN,SV,TH,T
M,TN,TR,TT,TW,UA,US,UY,UZ,VE,VI,VN,ZA,ZW
ELEMENT DESCRIPTION

LearnMoreLink URL to the detailed information page for this package.

Locales An instance of this node for each language you want to


support in the Preferred solution UI. This node contains the
following children elements:
- PackageLocale.Code: LCID of the language for this node.
Example: US English is 1033
- PackageLocale.IsDefault: Indicates the default language.
This is used as the fallback language if the language chosen by
the customer is not available.
- Logo: Logo for your app package. Size of the image must be
32x32. Valid image formats are PNG and JPG.
- Terms: Name of the HTML file that contains your license
terms for each language.

Add the items to an AppSource package


The final step is to add all the components that you created earlier into a single compressed (zip) file, which will be
your app source package.
1. Navigate to the folder that contains the package file, [Content_Types].xml, icon, license terms file (HTML ),
select them all, right-click and then select Send to > Compressed (zipped) folder.

IMPORTANT
You must follow the content structure precisely for your package as described here otherwise, your package will fail
during certification. Some common issues that lead to certification failure are incorrect file names or a nested file
structure.

2. Rename the file appropriately as per your app. We recommend that you include your company name and
app name. For example: Microsoft_SamplePackage.zip.
Step 5: Store your AppSource Package on Azure Storage
Step 5: Store your AppSource Package on Azure
Storage and generate a URL with SAS key
7/26/2019 • 2 minutes to read • Edit Online

Microsoft Azure Storage is a Microsoft-managed cloud service that provides storage that is highly available,
secure, durable, scalable, and redundant. More information: Introduction to Microsoft Azure Storage.
To maintain security of your files, all app developers must store their AppSource package file in a Microsoft Azure
Blob storage account, and use a Shared Access Signature (SAS ) key to share the package file. Your package file is
retrieved from your Azure Storage location for certification, and then for AppSource trials.

Before you upload your package


Download and install the Microsoft Azure Storage Explorer from http://storageexplorer.com.
Azure Storage Explorer lets you easily manage the contents of your storage account.

Upload your package and generate a URL with SAS key


To upload your package to Azure Blob storage:
1. Create a free trial or pay as you go Azure account at https://azure.microsoft.com.
2. Sign in to Azure Management portal at https://portal.azure.com.
3. Create a new Storage account by clicking > Storage > Storage account - blob, file, table, queue.

4. On the Create storage account page, specify Name, Resource group, and Location for your storage
account. Leave the rest of the fields with the default options. Click Create.
5. After your storage account is created, navigate to the newly created resource group, and create a new Blob
container. Under Blob Service, select Containers, and then + Container.
6. Specify a name for your container, and select the Public access level as Blob. Click OK.

7. Start Azure Storage Explorer on your computer, and connect to your Azure Storage account by signing in
using the same account with which you created your Azure Storage account.
8. In Azure Storage Explorer, select the newly created container, and then select Upload > Upload Files to
upload the app source package that you created in Step 4: Create an AppSource package for your app.

9. Browse to the AppSource package file on your computer, and select to upload it.
10. Right-click on the uploaded AppSource package file, and select Get Shared Access Signature.
11. On the Shared Access Signature page, modify the Expiry time value to make the Shared Access
Signature (SAS ) active for a month from the Start time. Click Create.

12. The next page displays information about the generated SAS information. Copy the URL value and save it
for later. You will need to specify this URL while creating an offer in the Cloud Partner Portal.
Next steps: Submit your app on Partner Center
Next steps: Submit your app on Partner Center
7/26/2019 • 2 minutes to read • Edit Online

Your app is ready for submission after completing steps 1-5.


If you have completed access to Partner Center, proceed to create an offer on Partner Center to submit your app.
All apps that are submitted to be listed on AppSource go through a certification process. For information about
the checks done in the certification process, see Appendix: App certification checklist.

See also
Overview of the Commercial Marketplace portal in Partner Center
Publish your app on AppSource
Microsoft AppSource
Appendix: App design best practices checklist
3/21/2019 • 2 minutes to read • Edit Online

Use the following checklist to evaluate your app design.

S.NO ARTIFACT SUCCESS CRITERIA

1 Font uniformity Font size is uniform across the


solution
Font color is uniform across the
solution
Fonts are readable in all the
intended device

2 Color Accessibility Colors used in this solution are


accessible by all user groups.

3 Uniformity of color and design scheme The color and UI design are uniform
and presentable

4 Ease of use for users The solution is intuitive and easy to use
with minimal directions

5 Minimum number of screens to achieve All use-cases could be achieved in


a use-case minimum number of screens and steps

6 Performance Caching is used where needed


Only columns that are needed
are pulled from database
Minimum number of calls to
server is made to achieve any
use-case.

7 Presentation of information Information is presented is most


accessible format
UI layout is suitable for
providing the information in the
best way
UI layout provides seamless
experience in all the devices that
solution could be run/

8 Responsiveness The solution is tested in all the intended


devices for the solution
9 Accessible content Content provided in the solution
could be rendered in all the
intended devices.
Example: Do not have videos
that could not render in certain
browsers.

Does not have unnecessary


redirects
Does not have interstitials that
interrupts the user’s flow
Design is suitable for touch
screen. If your intended device is
mobile or tablet, then your
solution should be designed for
a touch screen

10 Accuracy of information The information provided in the UI


should help the user achieve the use
case with minimal interruption in the
intended flow of user actions to achieve
that scenario

For information on best practices for creating Canvas apps, see Canvas App Coding Standard and Guidelines.
Appendix: App certification checklist
6/28/2019 • 3 minutes to read • Edit Online

The following checklist provides the list of validations performed by Microsoft during the certification process
after you submit your app.

APPS VALIDATION TYPE CERTIFICATION CHECKLIST

Model-driven apps, canvas apps, and Sanity Check Check for app registration type:
flows that connect to Common Data Free, Trial or Contact me. If
Service registered in Contact me then
publisher need to enable test
NOTE: Dynamics 365 for Customer drive.
Engagement apps are model-driven Verify the submitted package
apps. contains all the artifacts required
to publish on AppSource.
Download the end-to-end (E2E)
functional document from Cloud
Partner Portal and validate if
document is updated with
functional scenarios and
user/admin journey.
Code Validation Code validation for Canvas apps
will be done through
Accessibility Checker tool in
PowerApps to check for the
following:
Static formula errors and
warnings: If any issues
found then certification
team will share the
feedback to resolve and
resubmit to AppSource.
Runtime errors: May
occur once the app is
opened in Run mode to
view. Any issues found
will be reported through
email.
Accessibility errors and
warnings: All Accessibility
errors should be resolved
as per Solution Checker
guidelines.
Code Validation for Common
Data Service solution will be
done through OnDemand Code
Analysis (ODCA) tool.
Issues reported from ODCA will
be manually validated for
correctness and false positive
issues will be reduced to low
severity.
Generated report is shared with
the publisher through email.

Deployment Validation Solution will be installed to a


PowerApps studio using
Package Deployer. Installed
canvas apps will be manually
located in the solution as well as
on Apps section after installation
and will make sure the app is
opened in edit and run mode.
Canvas App will be manually
deleted from PowerApps studio
to validate successful
uninstallation
Check the canvas app
successfully connects through
the connectors provided by the
publishers. For example,
Common Data Service or any
other connections.
Check all Common Data Service
components (entities, web
resources, plug-ins and other
components) are available in the
solution.
Manually uninstall the solution
and check if all the components
associated to the managed
solution is removed.
Functionality Validation Validate the functionality of the
app based on the functional
document shared by the
publisher. All the features that
are implemented in the app
should pass.
Publisher should submit E2E
functional document through
Cloud Partner Portal or can
share video links through emails.
If app requires any license
configuration, certification team
will share the instance details for
publisher to update the required
license.
Security Validation Check whether canvas app
connects to any external data
source or connections that
require access, and proper
connection details to be shared
in E2E document.
Check canvas app connects to
any external connections out of
PowerApps connectors.
Check any custom code
provided inside Package
Deployer. Validate the code
before approving the app to
AppSource.
Manually validate the code to
see if the custom code is
retrieving any customer data
from target environment.

Canvas apps and flows that connect to Sanity Check Check canvas app contains a
data sources other than Common Data valid .msapp file.
Service Check the package folder has all
required components like
manifest, Jason and other image
components.

Code Validation Same as explained earlier for


model-driven apps, canvas apps,
and flows that connect to
Common Data Service

Deployment Validation Canvas app will be manually


installed to a PowerApps studio
using import Apps feature.
Installed canvas apps will be
manually located in the Apps
section after installation and will
make sure the app is opened in
edit and run mode. Canvas app
will be manually deleted from
PowerApps studio to validate
successful uninstallation.
Check that the canvas app
successfully connects the
connectors provided by the
publishers.

Functionality Validation Same as explained earlier for


model-driven apps, canvas apps,
and flows that connect to
Common Data Service

Security Validation Same as explained earlier for


model-driven apps, canvas apps,
and flows that connect to
Common Data Service
For information on best practices for creating:
Canvas apps, see Canvas App Coding Standard and Guidelines
Model-driven apps, see Understand model-driven app components
Introduction to ISV Studio for the Power Platform
7/15/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


ISV Studio is designed to become the go-to Power Platform destination for Independent Software Vendors (ISV )
to monitor and manage their applications. ISV Studio provides a consolidated cross tenant view of all the
applications an ISV is distributing to customers.

IMPORTANT
ISV Studio is a preview feature.
Preview features aren’t meant for production use and may have restricted functionality. These features are available
before an official release so that customers can get early access and provide feedback.

ISV Studio supports applications built on the Common Data Service that are published to and deployed through
AppSource. No telemetry will be provided on side loaded solutions not deployed through AppSource.
The applications currently available on the Common Data Service includes PowerApps as well as Dynamics 365
for Sales, Marketing, Service, and Talent.
As an end user installs an application from AppSource, a consent dialog will be displayed requesting the user to
acknowledge that contact, usage, and transactional information may be shared with the application provider. This
information is used by the provider to support billing and other transactional activities and to enable telemetry in
ISV Studio for the ISV to learn from and act on.
A customer can request that data not be shared with the provider, in which case Microsoft will remove all data
from that particular tenant within ISV Studio.
To access the public preview of ISV Studio, navigate your browser to https://aka.ms/ISVStudio.

Pre-requisites
1. The ISV must be associated with a Microsoft registered Partner organization [ISV ] that has one or more
supported apps published in AppSource. Supported apps include Dynamics 365 for Customer Engagement
apps and PowerApps.
2. The ISV must have an Azure Active Directory (AAD ) account and the account must be configured as an app
contributor or owner in Cloud Partner Portal (CPP ) for the particular ISV.
If you want additional users to get access to ISV Studio, they can be added as app contributors in CPP. Instructions
can be found at Managing users on cloud partner portal .
Continue reading the "App" and "Tenant" page topics listed below to learn about the capabilities of ISV Studio.
Please send an email to ISVFeedback@microsoft.com with any feedback or questions. Your feedback is important
for us to shape the experiences moving forward.

In this Section
Home page
App page
Tenant page
See also
Introduction to solutions
Publish your app on AppSource
The Home page
7/13/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


After a user logs into the ISV Studio, they are presented with the landing page known as the Home page. A
welcome message is displayed which defines the objective of this page.
If a user is associated with multiple publishers, all publishers are displayed and the first publisher is selected by
default. All the metrics on this page are specific to the selected publisher. The user can toggle to a different
publisher name to see the corresponding metrics for that publisher.

The Home page summary section contains the following graphs and metrics.

Successful app package installs by tenant


The first graph visualizes the published apps and the tenants that the app’s packages are installed into, and they
are displayed in descending order based on the number of package installs.
When hovering over a tenant tile in the graph, the following information is shown:
1. App Name
2. Tenant Name and Tenant ID
3. Number of package installs of the app in the tenant
Package install attempts by app (last 28 days)
This bar chart visualizes published apps and the number of successful vs. failed installations across all production
environments over the last 28 days.
When hovering over an app in the graph, the following information is shown:
1. App Name
2. Status of package installation (Success vs Failures)
3. Count of package install attempts
Additional insights
Below the summary section the user can access additional insights and can choose to further drill down into their
install history through the lens of Certified Apps or Tenants.
Top Certified Apps and Top Tenants are visible on the page by default. The user can also select See all to show
all the apps.
The App names and icons are from AppSource.

See also
Introduction to ISV Studio for the Power Platform
App page
Tenant page
The App page
7/15/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


After the user selects an app, the user is navigated to the app’s detail page which provides a view to analyze the
install history across tenants for that particular app. The app description is from AppSource.

The app detail page contains the following graphs and metrics.

Successful package installs by environment type


The pie chart shown below illustrates the ratio of production vs. sandbox package installs of the selected app
across the install base.
When hovering over the graph, the following information is shown:
1. Organization type – production or sandbox
2. Number of package installs for the organization type
Package install attempts by tenant (last 28 days)
The bar chart shown below illustrates the number of successful vs. failed package installations of the selected app
by tenant over the last 28 days.
When hovering over any item of the graph, the following information is shown:
1. Tenant name and tenant ID
2. Status of package installation (success vs failures) in the tenant
3. Count of package install attempts in the tenant

Successful package installs by location of tenants


The map shown below illustrates the geographical distribution of the app by tenant location.
When hovering over any region of the graph, the following information is shown:
1. Location
2. Package install count in the selected location
Successful package and version installs by tenant
The column chart shown below displays the package unique names where versions of the selected app are
displayed in a drop-down menu. All packages are selected by default, and all installed versions of all package (by
tenant) are displayed on the graph. The user can select one or more packages and versions for further slicing and
dicing. When the user selects a package, the versions drop-down is updated to have the corresponding versions of
the selected package.
When hovering over any item of the graph, the following information is shown:
1. Tenant name and tenant ID
2. Package version
3. Package install count of the version in the selected tenant
See also
Introduction to ISV Studio for the Power Platform
Home page
Tenant page
The Tenant page
7/13/2019 • 2 minutes to read • Edit Online

[This topic is pre-release documentation and is subject to change.]


To view the install history of a tenant, the ISV can switch to Top tenants view on the home page and select a
tenant.

The Tenant page contains the following graphs and metrics:


Successfully installed apps
The pie chart shown below visualizes the ISV app distribution across all environments in the selected tenant.
When hovering over the items of the graph, the following information is shown:
1. App name
2. Package install count of the app in the selected tenant

Successful production vs. sandbox package installs by environment


The bar chart shown below visualizes the productions vs. sandbox installations of the ISV apps in the selected
tenant. Due to privacy reasons, the environment name cannot be shown at this time.
When hovering over any item of the graph, the following information is shown:
1. Environment ID
2. Environment type (production or sandbox)
3. Package install count in the environment

Successful package Installs by environment location


The map shown below illustrates the geographical distribution of the ISV package installs by environment
location.
When hovering over any location of the graph, the following information is shown:
1. Location
2. Package install count in the selected location

Successful app package and version installs by environment


The column chart shown below visualizes the app names, package unique names, and versions of the selected
tenant in drop-down menus. All apps are selected by default and an ISV can further drill down by selecting one or
multiple apps, packages, and versions. When the user selects an app, the Package drop-down is updated to
display the corresponding packages of the selected app. When the user selects a package, the Versions drop-
down is updated to display the corresponding versions of the selected package.
When hovering over any item of the graph, the following information is shown:
1. Environment ID
2. Package version
3. Package install count of the version in the environment

See also
Introduction to ISV Studio for the Power Platform
Home page
App page
Create Client applications
3/22/2019 • 2 minutes to read • Edit Online

You can create client applications without writing code using canvas and model-driven apps. More information:
Overview of creating apps in PowerApps
If the PowerApps options do not meet your requirements, you can create a client application using code.

Connecting to Common Data Service


To connect to a Common Data Service environment you need the URL to the environment and credential
information for a user account with access to that environment. The strategy you will use depends on whether you
have this information or need to get it from the user of your application.
Discovery service
People may have access to multiple Common Data Service environments. Unless your application will only
connect to a specific environment, you can allow the user to choose which environment they want to connect to by
using their credentials to discover which environments their credentials authorize them to use.
To use the discovery service you must authenticate the user for the discovery service and retrieve the
environments that are available for them. Usually you must implement some way for them to choose which
environment they want to connect to. The next step is to use the information about that environment to
authenticate them a second time for access to that specific environment.
More information: Discovery Services
Authentication
When you know which environment to connect the user to, you the must authenticate them with that environment.
More information: Authentication with Common Data Service web services
Authentication with Common Data Service web
services
3/22/2019 • 2 minutes to read • Edit Online

When you create client applications that use Common Data Service web services you need to authenticate to gain
access to data. How you authenticate depends on the software framework you use and which web service you
want to connect with.

.NET Framework Applications


If your client application uses the .NET Framework, you have two options:
OAuth
Office 365
OAuth
OAuth is the preferred means to authenticate because it provides access to both the OData RESTful web services
(Web API and OData Global Discovery Service) as well as to the SOAP web services (Organization Service and
Discovery Service).
OAuth is also required to support:
Azure Active Directory configurations for conditional access, such as Two Factor Authentication (2FA)
Use of client secrets to enable server-to-server authentication scenarios.
Cross-Origin Resource Sharing (CORS ) to connect a Single Page Application (SPA)
More information: Use OAuth with Common Data Service
Office 365
Office 365 authentication requires using the .NET Framework SDK assemblies with the SOAP web services only.
Using Office 365 authentication does not require that your register your applications as OAuth does. You must
simply provide a User Principal Name (UPN ) and password for a valid user.
More information: Authentication with .NET Framework applications

All other software frameworks


If you are using anything other than .NET Framework, you must authenticate using OAuth and you must use the
OData RESTful web services (Web API and OData Global Discovery Service).
More information: Use OAuth with Common Data Service
Authentication with .NET Framework applications
3/22/2019 • 2 minutes to read • Edit Online

If you are using the .NET Framework you can use classes within the Xrm.Tooling namespace to authenticate and
connect to the Organization service and the Web Api.
With Xrm.Tooling classes you can use the SDK assemblies using the IOrganizationService interface methods. This
is the same style of programming used by plug-ins and workflow activities, making it one style that you can use
everywhere for .NET Framework applications.
With the Xrm.Tooling classes, use the Microsoft.Xrm.Tooling.Connector.CrmServiceClient class.

NOTE
You may find older code or samples using the low-level OrganizationServiceProxy or OrganizationWebProxyClient classes.
These remain supported and are not deprecated, but we recommend you use CrmServiceClient for new .NET Framework
Client Applications.

The Xrm.Tooling classes provide many benefits including:


You can define connection information using a connection string.
Supports both OAuth and Office 365 claims-based authentication.
Thread safety for actions performed in a multithreaded environment.
A common Windows Presentation Foundation (WPF ) login control for a consistent sign-in experience from
your Windows client applications.
Supports for secure storage of the sign-in credentials and reuse of the stored credentials to automatically sign
in after initial sign in.
Built-in diagnostic tracing and performance reporting of the actions performed, which you can configure based
on your organization’s requirements.
Support for X.509 certificate authentication.
The Xrm.Tooling classes are optimized to use the IOrganizationService interface methods.
If you want to use the Web API, you can use the
Microsoft.Xrm.Tooling.Connector.CrmServiceClient.ExecuteCrmWebRequest method to compose requests using
the Web API with all the other benefits provided with the Xrm.Tooling classes as long as you use OAuth.
More information: Build Windows client applications using the XRM tools

.NET Framework versions


Use .NET Framework version 4.6.2 or higher when you create client applications. Only applications using
Transport Level Security (TLS ) 1.2 or better security can connect. TLS 1.2 is not the default protocol used by .NET
Framework 4.5.2, but it is in .NET Framework 4.6.2.
NOTE
Known Issue with Visual Studio 2015
When you are running your project/solution in VS 2015 in debug mode, you may not be able to connect. This happens
regardless of whether you are using a Target Framework of 4.6.2 or higher. This can occur because the Visual Studio hosting
process is compiled against .NET 4.5 which means by default it does not support TLS 1.2. You can disable the Visual Studio
hosting process as a work around.
Right-click on the name of your project in Visual Studio and then click Properties. On the Debug tab you can uncheck the
Enable the Visual Studio hosting process option.
This only impacts the debug experience in VS 2015. This does not impact the binaries or executable that are built. The same
issue does not occur in Visual Studio 2017.

.NET Framework applications without SDK assemblies


If you prefer to not have a dependency on any SDK assemblies, you can also use the patterns described in Use
OAuth with Common Data Service without taking a dependency on any SDK assemblies. Without the SDK
assemblies, you can only use the OData Restful web services (Web API and OData Global Discovery Service). The
Web API Data operations Samples (C#) demonstrate this approach.
See also
Authentication with Common Data Service web services
Use OAuth with Common Data Service
Use OAuth with Common Data Service
9/19/2019 • 12 minutes to read • Edit Online

OAuth 2.0 is the industry-standard protocol for authorization. After people provide credentials to authenticate,
OAuth determines whether they are authorized to access the resources.
Client applications must support the use of OAuth to access data using the Web API. OAuth enables two-factor
authentication (2FA) or certificate-based authentication for server-to-server application scenarios.
OAuth requires an identity provider for authentication. For Common Data Service the identity provider is Azure
Active Directory (AAD ). To authenticate with AAD using a Microsoft work or school account, use the Azure Active
Directory Authentication Libraries (ADAL ).

NOTE
This topic will introduce common concepts related to connecting to Common Data Service using OAuth with the ADAL
libraries. This content will focus on how a developer can connect to Common Data Service but not on the inner workings of
OAuth or the ADAL libraries. For complete information related to authentication see the Azure Active Directory
documentation. What is authentication? is a good place to start.
Samples we provide are pre-configured with appropriate registration values so that you can run them without generating
your own app registration. When you publish your own apps, you must use your own registration values.

App Registration
When you connect using OAuth you must first register an application in your Azure AD tenant. How you should
register your app depends on the type of app you want to make.
In all cases, start with basic steps to register an app described in the AAD topic: Quickstart: Register an app with
the Azure Active Directory v1.0 endpoint. For Common Data Service specific instructions see Walkthrough:
Register an app with Azure Active Directory > Create an application registration.
The decisions you will need to make in this step mostly depend on the Application Type choice.
Types of app registration
When you register an app with Azure AD one of the decisions you must make is the Application type. There are
two types of applications you can register:

APPLICATION TYPE DESCRIPTION

Web app /API Web client


A type of client application that executes all code on a web
server.

User-agent-based client
A type of client application that downloads code from a web
server and executes within a user-agent (for instance, a web
browser), such as a Single Page Application (SPA).

Native A type of client application that is installed natively on a


device.
When you select Web app /API you must provide a Sign-On URL which is the URL where Azure AD will send
the authentication response, including a token if authentication was successful. While you develop an app, this is
usually set to http://localhost/appname:[port] so you can develop and debug your app locally. When you publish
your app, you need to change this value to the published URL of the app.
When you select Native, you must provide a Redirect URI. This is a unique identifier to which Azure AD will
redirect the user-agent in an OAuth 2.0 request. This is typically a value formatted like so: //app:<guid> .
Giving access to Common Data Service
If your app will be a client which allows the authenticated user to perform operations, you must configure the
application to have the Access Dynamics 365 as organization users delegated permission.
For specific steps to do this, see Walkthrough: Register an app with Azure Active Directory > Apply Permissions.
If your app will use Server-to-Server (S2S ) authentication, this step is not required. That configuration requires a
specific system user and the operations will be performed by that user account rather than any user that must be
authenticated.
Enable Implicit Flow
If you are configuring an app for a Single Page Application (SPA) you must edit the Manifest to set the
oauth2AllowImplicitFlow value to true . More information: Walkthrough: Registering and configuring a SPA
application with adal.js
Use Client Secrets & Certificates
For server to server scenarios there will not be an interactive user account to authenticate. In these cases, you
need to provide some means to confirm that the application is trusted. This is done using client secrets or
certificates.
For apps that are registered with the Web app /API application type, you can configure secrets. These are set
using the Keys area under API Access in the Settings for the app registration.
For either application type, you can upload a certificate.
More information: Connect as an app

Use ADAL Libraries to connect


Use one of the Microsoft-supported Azure Active Directory Authentication Libraries (ADAL ) client libraries. Azure
Active Directory Authentication Libraries > Microsoft-supported Client Libraries.
These libraries are available for various platforms as shown in the following table:

PLATFORM LIBRARY

.NET Client, Windows Store, UWP, Xamarin ADAL .NET v3

.NET Client, Windows Store, Windows Phone 8.1 ADAL .NET v2

JavaScript ADAL.js

iOS, macOS ADAL

Android ADAL

Node.js ADAL
PLATFORM LIBRARY

Java ADAL4J

Python ADAL

NOTE
Currently, all our samples use the .NET Client libraries except for Use OAuth with Cross-Origin Resource Sharing to connect
a Single Page Application which uses the JavaScript ADAL.js library.

ADAL .NET Client library versions


The Common Data Service supports application authentication with the Web API endpoint using the OAuth 2.0
protocol. The Azure Active Directory Authentication Library (ADAL ) is the recommended API interface to that
protocol for your custom .NET applications. ADAL v2.x has long been supported by our SDK APIs and in fact
many SDK code samples use that version of the library. When ADAL v3 was published, a breaking change was
introduced such that user credentials could no longer be passed in ADAL API calls to improve application security.
For your custom .NET applications, use ADAL v2 or greater for application authentication with the Web API
endpoint. When using the XrmTooling APIs found in the Microsoft.CrmSdk.XrmTooling.CoreAssembly NuGet
package, the correct version of the ADAL library will be imported automatically into your Visual Studio project.
Note that the transition from ADAL v2 to ADAL v3 in the XrmTooling APIs occurred in the v9.1.0.13 NuGet
package. Consult the package's release notes for detailed information.
For a code sample using the v3 ADAL library see : ADAL v3 WhoAmI sample.

Use the AccessToken with your requests


The point of using the ADAL libraries is to get a token that you can include with your requests. This only requires
a few lines of code, and just a few more lines to configure an HttpClient to execute a request.
Simple example
The following is the minimum amount of code needed to execute a single Web Api request, but it is not the
recommended approach. Note that this is an ADAL v2 sample due to the use of client credentials:
class SampleProgram
{
private static string serviceUrl = "https://yourorg.crm.dynamics.com";
private static string clientId = "51f81489-12ee-4a9e-aaae-a2591f45987d";
private static string userName = "you@yourorg.onmicrosoft.com";
private static string password = "yourpassword";

static void Main(string[] args)


{

AuthenticationContext authContext =
new AuthenticationContext("https://login.microsoftonline.com/common", false);
UserCredential credential = new UserCredential(userName, password);
AuthenticationResult result = authContext.AcquireToken(serviceUrl, clientId, credential);
//The access token
string accessToken = result.AccessToken;

using (HttpClient client = new HttpClient()) {


client.BaseAddress = new Uri(serviceUrl);
client.Timeout = new TimeSpan(0, 2, 0); //2 minutes
client.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0");
client.DefaultRequestHeaders.Add("OData-Version", "4.0");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpRequestMessage request =
new HttpRequestMessage(HttpMethod.Get, "/api/data/v9.0/WhoAmI");
//Set the access token
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
HttpResponseMessage response = client.SendAsync(request).Result;
if (response.IsSuccessStatusCode)
{
//Get the response content and parse it.
JObject body = JObject.Parse(response.Content.ReadAsStringAsync().Result);
Guid userId = (Guid)body["UserId"];
Console.WriteLine("Your system user ID is: {0}", userId);
}

}
}

This simple approach does not represent a good pattern to follow because the AccessToken will expire in about an
hour. ADAL libraries will cache the token for you and will refresh it each time the AcquireToken method is called.
Example demonstrating a DelegatingHandler
The recommended approach is to implement a class derived from DelegatingHandler which will be passed to the
constructor of the HttpClient. This handler will allow you to override the HttpClient.SendAsync method so that
ADAL will call the AcquireToken method with each request sent by the http client.
The following is an example of a custom class derived from DelegatingHandler
/// <summary>
///Custom HTTP message handler that uses OAuth authentication thru ADAL.
/// </summary>
class OAuthMessageHandler : DelegatingHandler
{
private UserCredential _credential;
private AuthenticationContext _authContext =
new AuthenticationContext("https://login.microsoftonline.com/common", false);
private string _clientId;
private string _serviceUrl;

public OAuthMessageHandler(string serviceUrl, string clientId, string userName, string password,


HttpMessageHandler innerHandler)
: base(innerHandler)
{
_credential = new UserCredential(userName, password);
_clientId = clientId;
_serviceUrl = serviceUrl;
}

protected override Task<HttpResponseMessage> SendAsync(


HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
try
{
request.Headers.Authorization =
new AuthenticationHeaderValue("Bearer", _authContext.AcquireToken(_serviceUrl, _clientId,
_credential).AccessToken);
}
catch (Exception ex)
{
throw ex;
}
return base.SendAsync(request, cancellationToken);
}
}

Using this OAuthMessageHandler class, the simple program shown above would look like this, with some additional
error handling included:
class SampleProgram
{
private static string serviceUrl = "https://yourorg.crm.dynamics.com";
private static string clientId = "51f81489-12ee-4a9e-aaae-a2591f45987d";
private static string userName = "you@yourorg.onmicrosoft.com";
private static string password = "yourpassword";

static void Main(string[] args)


{
HttpMessageHandler messageHandler;

try
{
messageHandler = new OAuthMessageHandler(serviceUrl, clientId, userName, password,
new HttpClientHandler());
//Create an HTTP client to send a request message to the CRM Web service.
using (HttpClient client = new HttpClient(messageHandler))
{
//Specify the Web API address of the service and the period of time each request
// has to execute.
client.BaseAddress = new Uri(serviceUrl);
client.Timeout = new TimeSpan(0, 2, 0); //2 minutes
client.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0");
client.DefaultRequestHeaders.Add("OData-Version", "4.0");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));

//Send the WhoAmI request to the Web API using a GET request.
var response = client.GetAsync("api/data/v9.0/WhoAmI",
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode)
{
//Get the response content and parse it.
JObject body = JObject.Parse(response.Content.ReadAsStringAsync().Result);
Guid userId = (Guid)body["UserId"];
Console.WriteLine("Your system user ID is: {0}", userId);
}
else
{
throw new Exception(response.ReasonPhrase);
}
}
}
catch (Exception ex)
{
DisplayException(ex);
}
}

/// <summary> Displays exception information to the console. </summary>


/// <param name="ex">The exception to output</param>
private static void DisplayException(Exception ex)
{
Console.WriteLine("The application terminated with an error.");
Console.WriteLine(ex.Message);
while (ex.InnerException != null)
{
Console.WriteLine("\t* {0}", ex.InnerException.Message);
ex = ex.InnerException;
}
}
}

Even though this example uses HttpClient.GetAsync rather than the overridden SendAsync, it will apply for any of
the HttpClient methods that send a request.
Discover the authority at run time
The authentication authority URL, and the resource URL, can be determined dynamically at run time using the
following ADAL code. This is the recommended method to use as compared to the well-known authority URL
("https://login.microsoftonline.com/common") shown previously in a code snippet.

AuthenticationParameters ap = AuthenticationParameters.CreateFromResourceUrlAsync(
new Uri("https://mydomain.crm.dynamics.com/api/data/")).Result;

String authorityUrl = ap.Authority;


String resourceUrl = ap.Resource;

For the Web API, another way to obtain the authority URL is to send any message request to the web service
specifying no access token. This is known as a bearer challenge. The response can be parsed to obtain the
authority URL.

httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "");

Connect as an app
Some apps you will create are not intended to be run interactively by a user. For example, you may want to make a
web client application that can perform operations on Common Data Service data, or a console application that
performs a scheduled task of some kind.
While you could achieve these scenarios using credentials for an ordinary user, that user account would need to
use a paid license. This isn't the recommended approach.
In these cases you can create a special application user which is bound to an Azure Active Directory registered
application and use either a key secret configured for the app or upload a X.509 certificate. Another benefit of this
approach is that it doesn't consume a paid license.
Requirements to connect as an app
To connect as an app you will need:
A registered app
A Common Data Service user bound to the registered app
Connect using either the application secret or a certificate thumbprint
Register your app
When registering an app you follow many of the same steps described in Walkthrough: Register an app with
Azure Active Directory, with the following exceptions:
You do not need to grant the Access Dynamics 365 as organization users permission.
This application will be bound to a specific user account.
You must configure a secret for the app registration OR upload a public key certificate.
While registering the app, select the Keys section on the Settings page.
To add a certificate:
1. Select Upload Public Key.
2. Select the file you'd like to upload. It must be one of the following file types: .cer, .pem, .crt.
To add a password:
1. Add a description for your key.
2. Select a duration.
3. Select Save.
The right-most column will contain the key value, after you save the configuration changes. Be sure to copy the
key for use in your client application code, as it is not accessible once you leave this page.
Common Data Service user account bound to the registered app
The first thing you must do is create a custom security role that will define what access and privileges this account
will have within the Common Data Service organization. More information: Create or configure a custom security
role
After you have created the custom security role, you must create the user account which will use it.
Manually create a Common Data Service application user
The procedure to create this user is different from creating a licensed user. Use the following steps:
1. Navigate to Settings > Security > Users
2. In the view drop-down, select Application Users.
3. Click New. Then verify that you are using the Application user form.
If you do not see the Application ID, Application ID URI and Azure AD Object ID fields in the form,
you must select the Application User form from the list:

4. Add the appropriate values to the fields:

FIELD VALUE

User Name A name for the user

Application ID The Application ID value for the application registered


with Azure AD.

Full Name The name of your application.

Primary Email The email address for the user.

The Application ID URI and Azure AD Object ID fields are locked and you cannot set values for these
fields.
When you create this user the values for these fields will be retrieved from Azure AD based on the
Application ID value when you save the user.
5. Associate the application user with the custom security role you created.
Connect using the application secret
If you are connecting using an secret configured for the application, you will use the ClientCredential class passing
in the clientId and clientSecret rather than a UserCredential with userName and password parameters.
string serviceUrl = "https://yourorg.crm.dynamics.com";
string clientId = "<your app id>";
string secret = "<your app secret>";

AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/common",


false);
ClientCredential credential = new ClientCredential(clientId, secret);

AuthenticationResult result = authContext.AcquireToken(serviceUrl, credential);

string accessToken = result.AccessToken;

Connect using a certificate thumbprint


If you are connecting using a certificate and using the Microsoft.Xrm.Tooling.Connector.CrmServiceClient you can
use code like the following:

string CertThumbPrintId = "DC6C689022C905EA5F812B51F1574ED10F256FF6";


string AppID = "545ce4df-95a6-4115-ac2f-e8e5546e79af";
string InstanceUri = "https://yourorg.crm.dynamics.com";

string ConnectionStr = $@"AuthType=Certificate;


SkipDiscovery=true;url={InstanceUri};
thumbprint={CertThumbPrintId};
ClientId={AppID};
RequireNewInstance=true";
using (CrmServiceClient svc = new CrmServiceClient(ConnectionStr))
{
if (svc.IsReady)
{
//your code goes here
}

See also
Authentication with Common Data Service web services
Authentication with .NET Framework applications
Walkthrough: Register an app with Azure Active
Directory
7/30/2019 • 4 minutes to read • Edit Online

This walkthrough describes how to register an application with Azure Active Directory, which enables a user with
PowerApps user account to connect to their Common Data Service environment from external client applications
using OAuth authentication.

IMPORTANT
PowerApps also provides you with Server-to-Server (S2S) authentication option to connect to Common Data Service
environment from external applications and services using the special application user account. S2S authentication is the
common way that apps registered on Microsoft AppSource use to access the data of their subscribers. More information:
Build web applications using Server-to-Server (S2S) authentication.

App registration in Azure Active Directory is typically done by ISVs who want to develop external client
applications to read and write data in Common Data Service. Registering an app in Azure Active Directory
provides you with Application ID and Redirect URI values that ISVs can use in their client application's
authentication code. When end users use the ISV's application for the first time to connect to their Common Data
Service environment by providing their Common Data Service credentials, a consent form is presented to the end
user. After consenting to use their Common Data Service account with the ISV's application, end users can
connect to Common Data Service environment from external application. The consent form is not displayed again
to other users after the first user who has already consented to use the ISV's app. Apps registered in Azure Active
Directory are multi-tenant, which implies that other Common Data Service users from other tenant can connect to
their environment using the ISV's app.
App registration can also be done by an application developer or individual user who is building a client
application to connect to and read/write data in Common Data Service. Use the Application ID and Redirect
URI values from your registered app in your client application's authentication code to be able to connect to
Common Data Service environment from your client application, and perform the required operations. Note that
if the app is registered in the same tenant as your Common Data Service environment, you won't be presented
with a consent form when connecting from your client application to your Common Data Service environment.

Prerequisites
The user who is registering the application must have a user account with System Administrator security
role and the global administrator role for the Office 365 subscription.
An Azure subscription for application registration. A trial account will also work.

Create an application registration


1. Sign in to the Azure portal using an account with administrator permission. You must use an account in the
same Office 365 subscription (tenant) as you intend to register the app with. You can also access the Azure
portal through the Office 365 Admin center by expanding the Admin centers item in the left navigation
pane, and selecting Azure Active Directory.
NOTE
If you don’t have an Azure tenant (account) or you do have one but your Office365 subscription with Common Data
Service is not available in your Azure subscription, following the instructions in the topic Set up Azure Active
Directory access for your Developer Site to associate the two accounts.

If you don’t have an account, you can sign up for one by using a credit card. However, the account is free for
application registration and your credit card won’t be charged if you only follow the procedures called out in this
topic to register one or more apps. More information: Active Directory Pricing Details

2. In the Azure portal, select Azure Active Directory in the left pane and select App registrations and click
on New registration.

3. In the Register an application page, enter your application's registration information:


In the Name section, enter a meaningful application name that will be displayed to the users.
Select Accounts in any organizational directory option from Supported account types section.
Set the Redirect URI.
Click on Register to create the application.
4. On the app Overview page, hover over Application (client) ID value, and select the Copy to clipboard
icon to copy the value as you’ll need to specify this in your application’s authentication code or app.config
file where appropriate.

5. Select Manifest tab, in the manifest editor, set the allowPublicClient* property to true and click on Save.
6. Select API permissions tab, click on Add a permission.

7. Select Dynamics CRM under the Microsoft APIs tab.


8. Click on Delegated permissions and check the options and click on Add permissions.
This completes the registration of your application in Azure Active Directory.

Additional configuration options


If your application will be a Single Page Application (SPA) that depends on CORS you must configure the app
registration to support the implicit flow. More information: Walkthrough: Registering and configuring a SPA
application with adal.js
If your application will support server-to-server connections, see Use Multi-Tenant Server-to-server
authentication
See also
Application registration in Azure Active Directory
Authenticate Users with Common Data Service Web Services
Build web applications using Server-to-Server (S2S)
authentication
9/10/2019 • 2 minutes to read • Edit Online

Use server-to-server (S2S ) authentication to securely and seamlessly communicate with Common Data Service
with your web applications and services. S2S authentication is the common way that apps registered on Microsoft
AppSource use to access the Common Data Service data of their subscribers.
S2S authentication means you don’t need to use a paid PowerApps user license when you connect to Common
Data Service environments. There is no license fee for the special application user account you will use with S2S
authentication. However, there are limits to the number of requests the application user account can call. With
S2S authentication, a special 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 a service principal identified by an Azure AD Object ID value which is stored in the
application user record. The application user is associated with a custom security role which controls the kinds of
data and operations the application is allowed to perform.
All operations performed by your application or service using S2S will be performed as the application user you
provide rather than as the user who is accessing your application. If you want your application to perform data
operations on behalf of a specific user, such as the one who is interacting with your application, you can apply
impersonation when the custom security role applied to your application service principal has the privileges
required. More information: Impersonate another user
A web application or service which uses S2S authentication is responsible for controlling access to the data that it
has access to. This is typically done using an OpenID Connect provider. More information:
http://openid.net/connect/.

Server-to-Server authentication scenarios


There are two scenarios where you can apply S2S authentication.

SCENARIO DESCRIPTION

Multi-Tenant This is the most common scenario and the one which is used
for apps distributed using Microsoft AppSource.

Each Common Data Service tenant is associated with an


Azure AD tenant. Your web application or service is registered
with your Azure AD tenant.

In this scenario any Common Data Service tenant can


potentially use your multi-tenant application after they grant
consent for the application to access data in their tenant.
SCENARIO DESCRIPTION

Single-Tenant This scenario typically applies to Common Data Service


environments that want to develop apps for their own tenant
and don’t intend to distribute them to other [Common Data
Service environments.

An enterprise can create a web application or service to


connect to all the Common Data Service environments for
their tenant.

In this scenario, your web application or service will only be


able to connect to Common Data Service environments using
the same Azure AD tenant.

Both scenarios have common elements but there are some differences. Since multi-tenant is the most common
scenario, the Use Multi-Tenant Server-to-server authentication content describes how you can use S2S in this
scenario and include notes where the options for single-tenant configuration is different.
Use Single-Tenant Server-to-server authentication provides an overview of this scenario and refer to the
procedures described in the multi-tenant S2S authentication content.
See also
Use Multi-Tenant server-to-server authentication
Use Single-Tenant server-to-server authentication
Use Multi-Tenant Server-to-server authentication
6/28/2019 • 9 minutes to read • Edit Online

This is the most common scenario and the one which is used for apps distributed using Microsoft AppSource, but
you can also use multi-tenant without listing your application with Microsoft AppSource.
Each Common Data Service organization is associated with an Azure Active Directory tenant. Your web
application or service is registered with its own Azure AD tenant.
In this scenario any Common Data Service tenant can potentially use your multi-tenant application after they
grant consent for the application to access data.

Requirements
To create and test a multi-tenant application that uses server-to-server (S2S ) authentication you will need:
An Azure AD tenant you will use to publish your application or service.
2 Common Data Service subscriptions
One must be associated with Azure AD tenant you will use to publish your application or service.
The other might be a trial subscription to use for testing how a subscriber will access your
application.

Overview: Develop and test your application


The application you will create must be registered with the Azure AD tenant you will use when you publish the
application.
At a high level, the process consists of:
1. Create a multi-tenant web application registered with your Azure AD tenant.
2. Create an application user associated with the registered application in your Common Data Service tenant
3. Create a custom security role and assign it to the application user in your Common Data Service tenant
4. Test your application using your Common Data Service tenant
5. Test your application using a separate Common Data Service tenant

Create a multi-tenant web application registered with your Azure AD


tenant
You will create a multi-tenant web application or service which uses Azure AD as the authentication provider.
Exactly how you do this will not be the focus of this topic. There are a number of ways you can approach this and
make choices that fit your requirements or preferences. See the following links for more information and samples:
Build a multi-tenant SaaS web application using Azure AD & OpenID Connect
Build a multi-tenant SaaS web application that calls a web API using Azure AD
Azure AD requires the following values to register your application:
VALUE DESCRIPTION

Application ID URI The identifier for an application. This value is sent to Azure AD
during authentication to indicate which application the caller
wants a token for. Additionally, this value is included in the
token so that the application knows it was the intended
target.

Reply URL and Redirect URI In the case of a web API or web application, the Reply URL is
the location to which Azure AD will send the authentication
response, including a token if authentication was successful.

Client ID The ID for an application, which is generated by Azure AD


when the application is registered. When requesting an
authorization code or token, the client ID and key are sent to
Azure AD during authentication.

Key The key that is sent along with a client ID when


authenticating to Azure AD to call a web API .

When the application is registered it will be assigned an Azure Active Directory Object Id, a unique identifier
for the registered application.
If you create a new ASP.NET MVC application with Visual Studio you will have options to specify that the
application will support the multi-tenant functionality. The template for an MVC application provides the option to
specify what kind of authentication occurs. You will have the option to choose the authentication method by
configuring the properties of your project when you create it. The following diagram shows the options available:

When you configure a project with these options it will be configured to use OWIN middleware and scaffolding
for a basic application that supports this scenario. With some basic modifications it can be adapted to work with
Common Data Service.
In the process of creating and registering your application for development you will most likely use
http://localhost as the Sign -on URL and Reply URL values so you can test and debug your application locally
before publishing. You will need to change these values before you publish your app.
When you register your app you must generate a key, also known as a ClientSecret . These keys can be
configured for a 1 or 2-year duration. As the host of the application you must treat this value like a password and
it is your responsibility to manage renewal of the keys before they expire. You may want to use Key Vault. More
information: https://azure.microsoft.com/services/key-vault/
Grant your application rights to access Common Data Service data
This is the reason why your Common Data Service instance must be associated with your Azure AD tenant. If
your Azure AD tenant is not associated with a Common Data Service tenant, you will not be able to perform the
following steps.
1. Go to https://portal.azure.com and select Azure Active Directory.
2. Click App registrations and look for the application you created using Visual Studio.
3. You need to give your application privileges to access Common Data Service data. In the API Access area
click Required permissions. You should see that it already has permissions for Windows Azure Active
Directory.
4. Click Add, then Select an API. In the list, select Dynamics 365 and then click the Select button.
5. In Select permissions, select Access Dynamics 365 as organization users. Then click the Select button.
6. Click Done to add these permissions. When you are done you should see the permissions applied.

Create an application user associated with the registered application in


Common Data Service
When your application accesses the Common Data Service data of one of the subscribers of your application, it
will require an application user in the subscriber’s Common Data Service organization. Like any Common Data
Service user, this application user must be associated with at least one security role which defines the data the user
is able to access.
The SystemUser Entity has three new attributes to store this data.

SCHEMA NAME DISPLAY NAME TYPE DESCRIPTION

ApplicationId Application ID UniqueidentifierType The identifier for the


application. This is used to
access data in another
application.
SCHEMA NAME DISPLAY NAME TYPE DESCRIPTION

ApplicationIdUri Application ID URI StringType The URI used as a unique


logical identifier for the
external app. This can be
used to validate the
application

AzureActiveDirectoryObjectI Azure AD Object ID UniqueidentifierType This is the application


d directory object Id.

This systemuser``AzureActiveDirectoryObjectId property value must be a reference to the Azure Active Directory
Object Id of your registered application. This reference will be set in Common Data Service when the application
user is created based on the ApplicationId value.

NOTE
When you are initially developing your application with your own Common Data Service tenant and the Azure AD tenant
associated with it, you can simply create the application user because the registered application is already part of your Azure
AD tenant.
However, in order to create the application user in a different organization for testing, or whenever a subscriber will use your
application, they must first grant consent for your application, so the steps in the process are different. See Test your
application using a separate Dynamics 365 tenant for more information.

Create a security role for the application user


In the next step you will create a Common Data Service application user. The privileges and access rights for this
user will be defined by a custom security role you set. Before you create the application user, you must create a
custom security role so you can associate the user to it. More information: Create or edit a security role

NOTE
The application user cannot be associated with one of the default Common Data Service security roles. You must create a
custom security role to associate with the application user.

Manually create a Common Data Service application user


The procedure to create this user is different from creating a licensed user. Use the following steps:
1. Navigate to Settings > Security > Users
2. In the view drop-down, select Application Users.
3. Click New. Then verify that you are using the Application user form.
If you do not see the Application ID, Application ID URI and Azure AD Object ID fields in the form,
you must select the Application User form from the list:

4. Add the appropriate values to the fields:


FIELD VALUE

Application ID The Application ID value for the application registered


with Azure AD.

Full Name The name of your application.

Primary Email The email address you want your subscribers to use to
contact you.

The User Name, Application ID URI and Azure AD Object ID fields are locked and you cannot set
values for these fields.
When you create this user the values for these fields will be retrieved from Azure AD based on the
Application ID value when you save the user.
5. Associate the application user with the custom security role you created in Create a security role for the
application user. More information: Create users in Dynamics 365 (online) and assign security roles

Test your application using your Common Data Service tenant


Because the application has been registered with your Azure AD tenant and the application user in your
development organization is already configured, you can continue to develop your application against your own
Common Data Service tenant. But this is not a valid test of the multi-tenant capability. You need to test your
application on a separate Common Data Service tenant.

Test your application using a separate Common Data Service tenant


Before you test your application with a separate Common Data Service tenant, an administrator for the Azure AD
tenant must grant consent for the application. The administrator grants consent by navigating to the application
using a browser. The first time they access the application, they will see a dialog like this:

When they grant consent, your registered application will be added to the Azure AD Enterprise applications list
and it is available to the users of the Azure AD tenant.
Only after an administrator has granted consent, you must then create the application user in the subscriber’s
Common Data Service tenant. You can manually create the application user using the steps described in Manually
create a Dynamics 365 application user.
For initial tests you may want to manually perform these steps. When you are ready to make your application or
service available to subscribers you will want to have a more efficient procedure. This is covered in the next
section.

Prepare a method to deploy the application user


After subscribers grant consent to your application or service you will need an easy, reliable way for them to add
the application user and any other required components to their Common Data Service organization.
You must include a custom security role which defines what privileges your application requires and then make
sure that the application user is associated to that custom security role. Because a custom security role can be
included in a solution, you should prepare a managed solution which contains the definition of the custom security
role and any other solution components your application requires.
For information about creating custom security roles, see
Create or edit a security role
Copy a security role
Add solution components
For information about creating a Common Data Service solution, see the following topics:
Use solutions for your customizations
Package and distribute extensions using solutions
However, the application user cannot be included with a solution so you will need to provide a way to
create this application user and associate it with the custom security role.
There are several ways that you can achieve this, including writing your own program using the web
services and having the subscriber run the program.
The Dynamics 365 Package Deployer is an application which can be used to prepare a package to automate
transferring solutions and data to a different Common Data Service organization. More information: Create
packages for the Dynamics 365 Package Deployer
See also
Use Single-Tenant Server-to-server authentication
Build web applications using Server-to-Server (S2S ) authentication
Connect to Dynamics 365
Use Single-Tenant server-to-server authentication
6/28/2019 • 4 minutes to read • Edit Online

The single-tenant server-to-server scenario typically applies for enterprise organizations who have multiple
Common Data Service environments using Active Directory Federation Services (AD FS ) for authentication.
However, it can also be applied by environments when the application won't be distributed to other environments.
An enterprise can create a web application or service to connect to any Common Data Service environments
associated with a single Azure Active Directory (AD ) tenant.

Differences from multi-tenant scenario


Creating a web application or service for a single-tenant server-to-server authentication is similar to that used for
a multi-tenant organization but there are some important differences.
Because all the organizations are in the same tenant, there is no need for a tenant admin to grant consent
for each organization. The application is simply registered once for the tenant.
You have the opportunity to use certificates rather than keys if you prefer.
In the See also section at the end of this article, there are links to information on upgrading a single-tenant
application to multi-tenancy.

Requirements
To create and test a single-tenant application that uses server-to-server (S2S ) authentication you will need:
An Azure AD tenant to use when registering the provided sample application.
A Common Data Service subscription that is associated with the Azure AD tenant.
Administrator privileges in the Azure AD tenant and D365 organization.

Azure application registration


To create an application registration in Azure AD, follow these steps.
1. Navigate to https://admin.microsoft.com and sign in, or from your D365 organization web page select the
application launcher in the top left corner.
2. Choose Admin > Admin centers > Azure Active Directory
3. From the left panel, choose Azure Active Directory > App registrations (Preview)
4. Choose + New registration
5. In the Register an application form provide a name for your app, select Accounts in this organizational
directory only, and choose Register. A redirect URI is not needed for this walkthrough and the provided
sample code.
6. On the Overview page, select API permissions

7. Choose + Add a permission


8. In the Microsoft APIs tab, choose Dynamics CRM
9. In the Request API permission form, select Delegated permissions, check user_impersonation, and select
Add permissions
10. On the API permissions page below Grant consent, select Grant admin consent for "org-name" and
when prompted choose Yes

11. Select Overview in the navigation panel, record the Display name, Application ID, and Directory ID
values of the app registration. You will provide these later in the code sample.
12. In the navigation panel, select Certificates & secrets
13. Below Client secrets, choose + New client secret to create a secret
14. In the form, enter a description and select Add. Record the secret string. You will not be able to view the secret
again once you leave the current screen.

Application User creation


To create an unlicensed "application user" in your Dynamics 365 organization, follow these steps. This application
user will be given access to your organization's data on behalf of the end user who is using your application.
1. Navigate to the Azure Active Directory admin center
2. In the left navigation panel, choose Users
3. Select + New user
4. In the User form, enter a name and username for the new user and select Create. Make sure the username
contains the organization domain URL of your D365 tenant (i.e., someuser@myorg.onmicrosoft.com). You can
exit Azure AD now.
5. Navigate to your D365 organization
6. Navigate to Settings > Security > Users
7. Choose Application Users in the view filter
8. Select + New
9. In the New User form, enter the required information. These values must be identical to those values for the
new user you created in the Azure tenant.

10. If all goes well, after selecting SAVE, the Application ID URI and Azure AD Object Id fields will auto-
populate with their correct values
11. Before exiting the user form, choose MANAGE ROLES and assign a security role to this application user so
that the application user can access the desired organization data.

IMPORTANT
When developing a real-world application using S2S, you should use a custom security role which can be stored in a solution
and distributed along with your application.

Application coding and execution


Follow these steps to download, build, and execute the sample application. The sample calls the WebAPI to return
a list of the top 3 accounts (by name) in the organization.
1. Download the Visual Studio 2017 SingleTenantS2S sample.
2. Update the App.config file with your app registration and server key values.
3. Build and run the application.
Expected results
An OData response listing the names of the top 3 accounts in your D365 organization.
Example console output
Shown below is example console output obtained from a D365 organization that only had two accounts named
"Test Account 1", and "Test Account 2".

{
"@odata.context":"https://crmue2.api.crm.dynamics.com/api/data/v9.1/$metadata#accounts(name)",
"@Microsoft.Dynamics.CRM.totalrecordcount":-1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded":false,

"value":[
{"@odata.etag":"W/\"4648334\"","name":"Test Account 1","accountid":"28630624-cac9-e811-a964-000d3a3ac063"},
{"@odata.etag":"W/\"4648337\"","name":"Test Account 2","accountid":"543fd72a-cac9-e811-a964-000d3a3ac063"}]
}

See also
Use Multi-Tenant Server-to-server authentication
Build web applications using Server-to-Server (S2S ) authentication
How to: Sign in any Azure Active Directory user using the multi-tenant application pattern
Use OAuth with Cross-Origin Resource Sharing to
connect a Single Page Application
3/22/2019 • 4 minutes to read • Edit Online

You can create a Single Page Apps (SPAs) which uses JavaScript to work with Common Data Service data. To
provide this, Cross-Origin Resource Sharing (CORS ) is enabled so that your SPAs can bypass browser restrictions
that normally prevent requests that cross domain boundaries.

NOTE
CORS support is only provided when using the Web API. You cannot use the organization service or the deprecated
organization data service.

SPAs and Same-Origin policy


SPAs depend on extensive use of client-side JavaScript to create a single dynamic page which doesn't need to load
new pages. Instead they use XMLHTTPRequests to retrieve data and other resources from the server. SPAs work
well when the data and resources exist in the same domain as the application. But to protect access to data and
resources on other domains, all modern browsers enforce a Same-Origin policy to prevent sites from using data
and resources from sites on a different domain. CORS provides a way to gain access to resources on another
domain. Creating a SPA to access Common Data Service data without CORS is not a viable option.

Use CORS with Common Data Service


The Cross-Origin Resource Sharing specification provides a detailed description of how to implement and use
CORS. It explains all about the various headers and preflight requests that you need to apply to make CORS work.
The good news is that you don't need to become an expert in CORS to use it with Common Data Service. The
server-side part has been done for you and all you need is to know how to consume it. You don't need to
understand all the inner workings of CORS to use it with Common Data Service. Instead you can use the Azure
Active Directory Authentication Library for JavaScript (adal.js) and it will take care of much of the CORS
complexity for you. Since Common Data Service are authenticated using Azure Active Directory, ADAL.js is the
supported way to authenticate SPA users.

How adal.js works


The core library is adal.js . You can access the minimized version of this library at
https://secure.aadcdn.microsoftonline-p.com/lib/1.0.0/js/adal.min.js. The Github project and documentation is at
https://github.com/AzureAD/azure-activedirectory-library-for-js.
The adal.js library contains the low -level capabilities to authenticate using OAuth2. Adal.js is designed so that it
can be used with other frameworks, for example there is an adal-angular.js library that is designed to be used
with the Angular framework.The way you work with this library is to set certain configuration properties and then
it will wait until events occur that trigger the interaction flow. This could be simply calling the login function or if
your application has routing behaviors, the authentication can be initiated by how the controller for that route is
configured.
When authentication is required, the user is taken to the sign-in page where they can enter their credentials. After
they successfully authenticate, they are re-directed back to the calling page with the token information attached as
a fragment (using # ) to the URL. This allows the SPA to acquire the token and cache it in local or session storage
in the browser. This means that the entire page is re-loaded after authentication, but this time the information
about the authorized user is available and the application can proceed to make calls the Common Data Service
Web API or other resources.
When calling the Common Data Service Web API, you must include the token value in an Authorization header
with your XMLHTPPRequest. However, because tokens have an expiration you want to be sure that it doesn't
expire while people are using your SPA. Remember, entering new credentials requires that the entire content of
your SPA page is transferred to the sign-in page. This would cause a very bad user experience if it were to happen
while people are in the middle of doing something. In order to ensure this doesn't happen, you wrap your Web
API calls within an acquireToken function so that the validity of the token can be checked and refreshed if
necessary without taking the user to a sign-in page.

Preparing to use ADAL.js with a SPA


In order to configure your SPA to work with adal.js you will need to :
1. Register your application with the Azure Active Directory tenant
2. Export your registered application manifest and edit it to allow OAuth2 Implicit Flow, and then import the
JSON file back to your application registration.
3. Set configuration variables in your SPA with information from that registration.
You will need to include the following:
The URL to your Common Data Service organization
The name of the Active Directory tenant your organization uses to authenticate
The client ID you get when you register your application
The URL to where the SPA will be deployed or debugged during development
The set of steps required are described in Walkthrough: Registering and configuring a SPA application with adal.js.
See also
Use OAuth to connect to Common Data Service web Services
Walkthrough: Registering and configuring a SPA
application with adal.js
8/27/2019 • 8 minutes to read • Edit Online

This walkthrough describes the process of registering and configuring the simplest Single Page Application (SPA)
to access data in Common Data Service using adal.js and Cross-origin Resource Sharing (CORS ). More
information: Use OAuth with Cross-Origin Resource Sharing to connect a Single Page Application to Common
Data Service .

Prerequisites
PowerApps Common Data Service
You must have a Common Data Service system user account with administrator role for the Office 365.
An Azure subscription to register your application. A trial account will also work.
Visual Studio 2017

Goal of this walkthrough


When you complete this walkthrough you will be able to run a simple SPA application in Visual Studio that will
provide the ability for a user to authenticate and retrieve data from Common Data Service. This application
consists of a sample HTML page.
When you debug the application initially there will only be a Login button.
Click Login and you will be re-directed to a sign-in page to enter your credentials.
After you enter your credentials you will be directed back to the HTML page where you will find the Login button
is hidden and a Logout button and a Get Accounts button are visible. You will also see a greeting using
information from your user account.
Click the Get Accounts button to retrieve 10 account records from your Common Data Service organization. The
Get Accounts button is disabled as shown in the following screenshot:
NOTE
The initial load of data from Common Data Service may be slow as the operations to support authentication take place, but
subsequent operations are much faster.

Finally, you can click on Logout button to logout.

NOTE
This SPA application is not intended to represent a pattern for developing robust SPA applications. It is simplified to focus on
the process of registering and configuring the application.

Create a web application project


1. Using Visual Studio 2017, create a new ASP.NET Web Application project and use the Empty template.
You can name the project whatever you like.
You should be able to use earlier versions of Visual Studio as well, but these steps will describe using Visual
Studio 2017.
2. Add a new HTML page named SimpleSPA.html to the project and paste in the following code:

<!DOCTYPE html>
<html>
<head>
<title>Simple SPA</title>
<meta charset="utf-8" />
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/1.0.17/js/adal.min.js"></script>
<script type="text/javascript">
"use strict";

//Set these variables to match your environment


var organizationURI = "https://[organization name].crm.dynamics.com"; //The URL of your Common Data
Service organization
var tenant = "[xxx.onmicrosoft.com]"; //The name of the Azure AD organization you use
var clientId = "[client id]"; //The ClientId you got when you registered the application
var pageUrl = "http://localhost:[PORT #]/SimpleSPA.html"; //The URL of this page in your development
environment when debugging.

var user, authContext, message, errorMessage, loginButton, logoutButton, getAccountsButton,


var user, authContext, message, errorMessage, loginButton, logoutButton, getAccountsButton,
accountsTable, accountsTableBody;

//Configuration data for AuthenticationContext


var endpoints = {
orgUri: organizationURI
};

window.config = {
tenant: tenant,
clientId: clientId,
postLogoutRedirectUri: pageUrl,
endpoints: endpoints,
cacheLocation: 'localStorage',
};

document.onreadystatechange = function () {
if (document.readyState == "complete") {

//Set DOM elements referenced by scripts


message = document.getElementById("message");
errorMessage = document.getElementById("errorMessage");
loginButton = document.getElementById("login");
logoutButton = document.getElementById("logout");
getAccountsButton = document.getElementById("getAccounts");
accountsTable = document.getElementById("accountsTable");
accountsTableBody = document.getElementById("accountsTableBody");

//Event handlers on DOM elements


loginButton.addEventListener("click", login);
logoutButton.addEventListener("click", logout);
getAccountsButton.addEventListener("click", getAccounts);

//call authentication function


authenticate();

if (user) {
loginButton.style.display = "none";
logoutButton.style.display = "block";
getAccountsButton.style.display = "block";

var helloMessage = document.createElement("p");


helloMessage.textContent = "Hello " + user.profile.name;
message.appendChild(helloMessage)

}
else {
loginButton.style.display = "block";
logoutButton.style.display = "none";
getAccountsButton.style.display = "none";
}

}
}

// Function that manages authentication


function authenticate() {
//OAuth context
authContext = new AuthenticationContext(config);

// Check For & Handle Redirect From AAD After Login


var isCallback = authContext.isCallback(window.location.hash);
if (isCallback) {
authContext.handleWindowCallback();
}
var loginError = authContext.getLoginError();

if (isCallback && !loginError) {


window.location = authContext._getItem(authContext.CONSTANTS.STORAGE.LOGIN_REQUEST);
}
else {
errorMessage.textContent = loginError;
}
user = authContext.getCachedUser();

//function that logs in the user


function login() {
authContext.login();
}
//function that logs out the user
function logout() {
authContext.logOut();
accountsTable.style.display = "none";
accountsTableBody.innerHTML = "";
}

//function that initiates retrieval of accounts


function getAccounts() {

getAccountsButton.disabled = true;
var retrievingAccountsMessage = document.createElement("p");
retrievingAccountsMessage.textContent = "Retrieving 10 accounts from " + organizationURI +
"/api/data/v9.1/accounts";
message.appendChild(retrievingAccountsMessage)

// Function to perform operation is passed as a parameter to the acquireToken method


authContext.acquireToken(organizationURI, retrieveAccounts)

//Function that actually retrieves the accounts


function retrieveAccounts(error, token) {
// Handle ADAL Errors.
if (error || !token) {
errorMessage.textContent = 'ADAL error occurred: ' + error;
return;
}

var req = new XMLHttpRequest()


req.open("GET", encodeURI(organizationURI + "/api/data/v9.1/accounts?
$select=name,address1_city&$top=10"), true);
//Set Bearer token
req.setRequestHeader("Authorization", "Bearer " + token);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
req.onreadystatechange = null;
if (this.status == 200) {
var accounts = JSON.parse(this.response).value;
renderAccounts(accounts);
}
else {
var error = JSON.parse(this.response).error;
console.log(error.message);
errorMessage.textContent = error.message;
}
}
};
req.send();
}
//Function that writes account data to the accountsTable
function renderAccounts(accounts) {
accounts.forEach(function (account) {
var name = account.name;
var city = account.address1_city;
var nameCell = document.createElement("td");
nameCell.textContent = name;
var cityCell = document.createElement("td");
cityCell.textContent = city;
var row = document.createElement("tr");
row.appendChild(nameCell);
row.appendChild(cityCell);
accountsTableBody.appendChild(row);
});
accountsTable.style.display = "block";
}

</script>
<style>
body {
font-family: 'Segoe UI';
}

table {
border-collapse: collapse;
}

td, th {
border: 1px solid black;
}

#errorMessage {
color: red;
}

#message {
color: green;
}
</style>
</head>
<body>
<button id="login">Login</button>
<button id="logout" style="display:none;">Logout</button>
<button id="getAccounts" style="display:none;">Get Accounts</button>
<div id="errorMessage"></div>
<div id="message"></div>
<table id="accountsTable" style="display:none;">
<thead><tr><th>Name</th><th>City</th></tr></thead>
<tbody id="accountsTableBody"></tbody>
</table>
</body>
</html>

3. Right click on the SimpleSPA.html file and select Set As Start Page to set this page as the start page for
the project.
4. In the properties of the project, select Web and under Servers note the Project URL. It should be
something like http://localhost:62111/ . Note the port number that is generated. You will need this in the
next step.
5. Within the SimpleSPA.html page, locate the following configuration variables and set them accordingly. You
will be able to set the clientId after you complete the next part of the walkthrough.
//Set these variables to match your environment
var organizationURI = "https://[organization name].crm.dynamics.com"; //The URL to connect to PowerApps
Common Data Service
var tenant = "[xxx.onmicrosoft.com]"; //The name of the Azure AD organization you use
var clientId = "[client id]"; //The ClientId you got when you registered the application
var pageUrl = "http://localhost:[PORT #]/SimpleSPA.html"; //The URL of this page in your development
environment when debugging.

Register the application


1. Sign in to the Azure portal using an account with administrator permission. You must use an account in the
same Office 365 subscription (tenant) as you intend to register the app with. You can also access the Azure
portal through the Microsoft 365 admin center by expanding the ADMIN item in the left navigation pane
and selecting Azure AD.

NOTE
If you don’t have an Azure tenant (account) or you do have one but your Office 365 subscription with Common
Data Service is not available in your Azure subscription, following the instructions in the topic Set up Azure Active
Directory access for your Developer Site to associate the two accounts.

If you don’t have an account, you can sign up for one by using a credit card. However, the account is free for
application registration and your credit card won’t be charged if you only follow the procedures called out in this
topic to register one or more apps. More information: Active Directory Pricing Details.

2. Click on Azure Active Directory in the left column of the page. You may need to scroll the left column to
see the Azure Active Directory icon and label.
3. Now select Enterprise Applications in the panel that opens up.

4. Select New application(near the top of the page), and then under Add your own app select Application
you're developing.
5. Now click on Ok, take me to App Registrations to register my new application.
6. Now click on New application registration(near the top of the page).

7. Enter the following information :


Name
The name of the application.
Supported account types
Select Accounts in any organizational directory.
Redirect URL
This is the URL which the user should be redirected to after they sign in. Select Web from the drop
down list. For debugging purposes in Visual Studio it should be
http://localhost:####/SimpleSPA.html where #### represents the port number you got from step 4
of the Create a web application project procedure. Then click on Register at the end of the page.

8. In the tab of the newly registered app, copy the Application (client) ID. Set the clientId variable in the
SimpleSPA.html page to this value. Refer to step 5 of the Create a web application project procedure.
9. Now click on API permissions and then select Add a permission.
10. Select Dynamics CRM under Microsoft APIs tab.

11. Click on Delegated permissions tab, select all permissions and click on Add permissions at the end of
the page.

12. Then select Done. You will see a row for Dynamics CRM added.
13. Now close the API permissions tab. In the registered app tab, select Manifest.
14. Locate the line: "oauth2AllowImplicitFlow": false, and change false to true and then click on Save to
save the file.
15. For successful execution of your application, you will also need to grant administrator consent to it. To do
this, login as a tenant admin in your Azure management portal and select Azure Active Directory. Then
click on Enterprise Applications and from the list of applications that appear, select the application that
you just created.

16. Now select API permissions as shown above, and click on Grant admin consent for <your AAD Org name>
.
17. Once you click on this button, it will open a login window and ask you whether you wish to grant the
requested permissions to your application. Click on Accept to proceed.

18. Once this is done, proceed to debugging the application.

NOTE
You need to enable the ID tokens option in the Authentication tab for the app you have registered.

Debugging the application


1. Set the browser to use Microsoft Edge or Google Chrome.
NOTE
Internet Explorer will not work for debugging in this situation.

2. Press F5 to start debugging. You should expect the behavior described in Goal of this walkthrough.
If you don’t get the results you expect, double-check the values you set while registering the application and
configuring the SimpleSPA.html code.

See also
Create client applications
Tutorial: Register an app with Azure Active Directory
Build web applications using Server to Server(S2S ) authentication
Use OAuth with Cross-Origin Resource Sharing to connect a Single Page Application to Common Data Service
Build Windows client applications using the XRM
tools
3/27/2019 • 2 minutes to read • Edit Online

XRM tooling is a set of APIs built on top of the Common Data Service assembly APIs (Organization service and
Discovery service) that provide support for building Windows client applications for Common Data Service. It
provides the following capabilities:
Supports all the authentication modes to sign in to Common Data Service instance.
Provides PowerShell support for authentication and connection to Common Data Service instance.
Provides thread safety for actions performed in Common Data Service in a multithreaded environment. More
information Multithreading in Components, Thread-Safe Components
Provides a common Windows Presentation Foundation login control for Common Data Service for consistent
sign-in experience to Common Data Service from your Windows client applications.
Supports secure storage of the sign-in credentials and reuse of the stored credentials to automatically sign in to
Common Data Service after initial sign in.
Provides built-in diagnostic tracing and performance reporting of the actions performed in Common Data
Service, which you can configure based on your organization’s requirements.

NOTE
Information under this topic and its sub-topics is also applicable to the Dynamics 365 for Customer Engagement apps
(online) users because the Customer Engagement apps are built on the Common Data Service platform. If you are Dynamics
365 for Customer Engagement apps (on-premises) user, see the documentation applicable for the on-premises functionality
in the Customer Engagement documentation at: Build Windows client applications using the XRM tools (Customer
Engagement)

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 Common
Data Service SDK assembly APIs. It is an instrumented API that provides a thread safe environment for
making calls to Common Data Service 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 Common Data Service. The login control provides support for all the authentication modes
that are supported by Common Data Service. 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 Common
Data Service. 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 Common Data Service: Image and XML. You can access an image from a Common Data
Service 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 Common Data Service use the common WPF login control for
authenticating users while signing in to Common Data Service from the client application:
Unified Service Desk. More information: Extend Unified Service Desk
See also
Sample: Quick start for XRM Tooling API
Blog: PowerShell module for performing data operations and manipulating user and system settings in Common
Data Service
Discovery Services
3/22/2019 • 2 minutes to read • Edit Online

You can create a client for a specific Common Data Service environment and not provide the user any options
about which environment they can connect with. Only valid users for that specific environment can use your client.
If you want people using your client to be able to connect to any Common Data Service environment they have
access to you could prompt them to enter the URL for their environment, but this is not recommended. Each user
may have access to multiple Common Data Service environments. Users may not know or remember the URL for
their environment. Expecting people to enter this URL is bound to frustrate users.
Instead, your client should provide a list of each of the available environments based on the user’s credentials. If
there is more than one environment available, your application should prompt the user to choose which
environment they want to connect with.
With Common Data Service, server and organization allocation may change as part of datacenter management
and load balancing. Therefore, a discovery service provides a way to discover which server is serving an instance
at a given time.
A Discovery service is accessed through either the Web API or the Organization Service.
For the Web API: Discover the URL for your organization using the Web API
For the Organization Service: Use the Discovery Service with the Microsoft.Xrm.Sdk.Discovery NameSpace
See Also
Use the Common Data Service Web API
Use the Common Data Service Organization Service
Best practices and guidance for the Common Data
Service
3/22/2019 • 2 minutes to read • Edit Online

The Common Data Service is an extensible framework that will allow developers to build highly customized and
tailored experiences. While customizing, extending, or integrating with the Common Data Service, a developer
should be aware of the established guidance and best practices.
Within this section you will learn about the issues we have identified, their impact, and understand the guidance to
resolve them. We will explain the background about why things should be done in a certain way and avoid
potential problems in the future. This can benefit the usability, supportability, and performance of your
environment. The guidance documentation supports the existing information within the Developer and
Administration guides.

Targeted customization types


The documentation targets the following customization types:
Custom workflow activities and plug-ins
Working with Common Data Service data
Integrations extending Common Data Service

Sections
Each guidance article includes most or all of the following sections:
Title - description of the guidance
Category - one or more areas impacted by not following the guidance
Impact potential - the level of risk (high, medium, or low ) of affecting the environment by not following the
guidance
Symptoms - possible indications that the guidance has not been followed
Guidance - recommendations that may also include examples
Problematic patterns - description or examples of not following the guidance
Additional information - supporting details for a more extensive view
See also - references to learn more about something mentioned in the article

Categories
Each guidance article is classified with one or more of the following categories:
Usage – improper usage of a particular API, pattern, or configuration
Design – design flaws in a customization
Performance – customization or pattern that may produce a negative effect on performance in areas such as
memory management, CPU utilization, network traffic, or user experience
Security – potential vulnerabilities in a customization that could be exploited in a runtime environment
Upgrade Readiness - customization or pattern that may increase risk of having an unsuccessful version upgrade
Online Migration - customization or pattern that may increase risk of having an unsuccessful online migration
Maintainability – customization that unnecessarily increases the amount of developer effort required to make
changes, the frequency of required changes, or the chance of introducing regressions
Supportability – customization or pattern that falls outside the boundaries of published supportability
statements, including usage of removed APIs or implementation of forbidden techniques
Web API Data operations Samples (C#)
6/28/2019 • 6 minutes to read • Edit Online

This topic provides information about the Web API samples implemented with C#. While each sample focuses on
a different aspect of the Common Data Service Web API, they share similar characteristics and structure.

NOTE
This implementation approach uses low-level object creation and explicit HTTP message calls. This approach allows for
control and demonstration of the low level object properties which control the behavior of the Web API. This is intended to
help you understand the inner workings but doesn't necessarily represent an approach which will provide the best
developer productivity experience.
In contrast, higher-level libraries, such as the OData Library, abstract away much of this low-level client logic. The OData T4
Template can optionally be used in conjunction with the OData Library to auto-generate client entity classes.

Prerequisites
The following is required to build and run the Common Data Service Web API C# samples :
A version of Microsoft Visual Studio 2015 or later. A free version, Visual Studio Community, is available for
download here.
Access to Common Data Service with privileges to perform CRUD operations.
In order to run samples against Common Data Service, you must register your application with Azure
Active Directory to obtain a client ID and redirect URL. For more information, see Walkthrough: Register a
Common Data Service app with Azure Active Directory.

NOTE
These samples require version 2.x of assembly Microsoft.IdentityModel.Client.ActiveDirectory for OAuth based
authentication.

Web API samples listing (C#)


The following table lists the samples implemented in C#. Each sample is described in a more general manner in a
corresponding sample group topic that focuses on the HTTP request and response messages, as detailed in the
topic Web API Samples.

SAMPLE SAMPLE GROUP DESCRIPTION

Web API Basic Operations Sample (C#) Web API Basic Operations Sample Demonstrates how to create, retrieve,
update, delete, associate and
disassociate Common Data Service
entity records.
SAMPLE SAMPLE GROUP DESCRIPTION

Web API Query Data Sample (C#) Web API Query Data Sample Demonstrates how to use OData v4
query syntax and functions as well as
Common Data Service query functions.
Includes examples of working with pre-
defined queries and using FetchXML to
perform queries.

Web API Conditional Operations Web API Conditional Operations Demonstrates how to perform
Sample (C#) Sample conditional operations you specify with
ETag criteria.

Web API Functions and Actions Sample Web API Functions and Actions Sample Demonstrates how to use bound and
(C#) unbound functions and actions,
including custom actions.

How to download and run the samples


The source code for each sample is available on GitHub. You can download the repository as a zip file which
contains the solution files for the samples. For more information, see the How to run this sample section in
each sample topic.
Utilized libraries and frameworks
This C# implementation depends upon the following:
The standard .NET Framework HTTP messaging classes that are contained in the System.Net.Http
namespace, particularly HttpClient, HttpRequestMessage, and HttpResponseMessage, are used for HTTP
messaging.
The Newtonsoft Json.NET library which supports the JSON data format.
Json.NET Library
Because C# and most other managed languages do not natively support the JSON data format, the best current
approach is to use a library for this functionality. For more information, see An Introduction to JavaScript Object
Notation (JSON ) in JavaScript and .NET. Json.NET is a popular choice for .NET projects. It provides a robust,
performant, open-source (MIT licensed) framework for serializing, converting, parsing, querying, and formatting
JSON data. For more information, see the Json.NET documentation.
In the C# samples, this library is primarily used to serialize data between .NET objects and HTTP message bodies.
Although the library provides several methods to accomplish this task, the approach used by the samples is to
create individual JObject instances to represent Common Data Service entity instances (records). For example,
the following code creates the variable contact1 that represents a Common Data Service contact EntityType
instance, then supplies values for a select set of properties for this type.

JObject contact1 = new JObject();


contact1.Add("firstname", "Peter");
contact1.Add("lastname", "Cambel");
contact1.Add("annualincome", 80000);
contact1["jobtitle"] = "Junior Developer";

The use of the bracket notation in the last statement is equivalent to the Add method. This instantiation could also
be accomplished through the use of the Parse static method:
JObject contact1 = JObject.Parse(@"{firstname: 'Peter', lastname: 'Cambel', "
+ @"annualincome: 80000, jobtitle: 'Junior Developer'}");

Because JObject represents a general JSON type, its use precludes much runtime type checking. For example,
while the following statement is syntactically valid, it will potentially lead to runtime errors because the contact
EntityType does not contain an age property.
contact1.Add("age", 37); //Possible error--no age property exists in contact!

Once the entity variable has been initialized, it can then be sent in a message body, with assistance from several
System.Net.Http classes, for example:

HttpRequestMessage createrequest1 = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress + "contacts");


createrequest1.Content = new StringContent(contact1.ToString());
createrequest1.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
HttpResponseMessage createResponse1 = client.SendAsync(createrequest1,
HttpCompletionOption.ResponseHeadersRead).Result;

You can also create JObject instances by deserializing entity instances during retrieval operations, for example:

//contact2Uri contains a reference to an existing CRM contact instance.


string queryOptions = "?$select=fullname,annualincome,jobtitle,description";
HttpResponseMessage retrieveResponse1 = client.GetAsync(contact1Uri + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (retrieveResponse1.IsSuccessStatusCode) //200
{
retrievedcontact1 = JObject.Parse(retrieveResponse1.Content.ReadAsStringAsync().Result);
Console.WriteLine("Contact '{0}' retrieved: \n\tAnnual income: {1}" + "\n\tJob title: {2}
\n\tDescription: {3}.",

// Can use either indexer or GetValue method (or a mix of two)


retrievedcontact1.GetValue("fullname"),
retrievedcontact1["annualincome"],
retrievedcontact1["jobtitle"],
retrievedcontact1["description"]); //description is initialized empty.
}
else
{
Console.WriteLine("Failed to retrieve contact for reason: {0}",retrieveResponse1.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve contact for reason: {0}", retrieveResponse1.Content));
}

Response success and error handling


In general, the samples take a straightforward approach to processing HTTP responses. If the request succeeds,
information about the operation is typically output to the console. If the response also carries a JSON payload or
useful headers, this information is only processed upon success. And lastly, if a Common Data Service entity was
created, the entityUris collection is updated with the URI of that resource. The DeleteRequiredRecords method
uses this collection to optionally delete data created by the sample from your Common Data Service server.
If the request failed, the program outputs a contextual message about the operation that failed, and then it throws
a custom exception of type Exception . The exception-handler outputs more information about the exception and
then control passes to a finally block that includes cleanup logic, again including a call to
DeleteRequiredRecords . The following code demonstrates this error-handling approach on a POST request to
create a record.

if (response.StatusCode == HttpStatusCode.NoContent) //204


{
Console.WriteLine("POST succeeded, entity created!");
//optionally process response message headers or body here, for example:
entityUri = response.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(entityUri);
}
else
{
Console.WriteLine("Operation failed: {0}", response.ReasonPhrase);
throw new Exception(string.Format(" Operation Failed", response.Content));
}

HttpStatusCode.NoContent is equivalent to an HTTP status code 204, “No content”. Here, this status code
indicates that the POST request succeeded. For more information, see Compose HTTP requests and handle
errors.
Characteristics and methods
Most of the samples have the same general architectural pattern, with the following characteristics:
All of the pertinent C# sample code is contained in the primary source file named SampleProgram.cs , which
contains a single class with the same name as the sample project.
The samples are liberally commented: summaries are provided at the class and method levels, and most
key individual statements have associated same- or single-line comments. Supplemental files, such as the
application configuration file App.config , also often contain important comments.
See also
Use the Common Data Service Web API
Web API Samples
Web API Samples (Client-side JavaScript)
Web API Basic Operations Sample (C#)
Web API Query Data Sample (C#)
Web API Conditional Operations Sample (C#)
Web API Functions and Actions Sample (C#)
Web API Basic Operations Sample (C#)
4/23/2019 • 10 minutes to read • Edit Online

This sample demonstrates how to perform basic CRUD (Create, Retrieve, Update, and Delete) and association and
dissociation operations on Common Data Service entity instances, using the Common Data Service Web API.

NOTE
This sample implements the Common Data Service operations and console output detailed in Web API Basic Operations
Sample and uses the common C# constructs described in Web API Samples (C#).

Prerequisites
Prerequisites for all Common Data Service Web API C# samples are detailed in the Prerequisites section of the
parent topic Web API Samples (C#).

How to run this sample


Go to Web API Basic Operations Sample (C#), clone or download the samples repository, and extract its contents
into a local folder. This folder contains the following files:

FILE PURPOSE/DESCRIPTION

SampleProgram.cs Contains the primary source code for this sample.

App.config The application configuration file, which contains placeholder


Common Data Service server connection information. This file
is shared with all the Web API samples in the repo. If you
configure connection information for one sample, you can run
the other samples with the same configuration.

SampleHelper.cs Contains the helper code to assist perform common tasks,


such as application configuration, authentication and HTTP
response error handling.
This file is shared with all the Web API samples in the repo. It
contains helper methods to manage exceptions and the
OAuth Token. See the Simple Web API sample for more
information about the methods in this file.

SampleMethod.cs Contains all the methods that support the source code in the
sample. Functions used in SampleProgram.cs can be defined
in this file.

BasicOperations.sln The standard Visual Studio 2017 solution, project, NuGet


BasicOperations.csproj package configuration, and assembly information files for this
Packages.config sample.
AssemblyInfo.cs

Next, use the following procedure to run this sample.


1. Locate and double-click on the solution file, BasicOperations.sln, to load the solution into Visual Studio. Build
the BasicOperations solution. This should automatically download and install all the required NuGet packages
that are either missing or need to be updated.
2. Edit the application configuration file, App.config, to specify connection information for your Common Data
Service server.
3. Run the BasicOperations project from within Visual Studio. All sample solutions are configured to run in
debug mode by default.

Code listing
Click here to download the full sample.
SampleProgram.cs

using Newtonsoft.Json.Linq;
using System;
using System.Configuration;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

namespace PowerApps.Samples
{
public partial class SampleProgram
{
static void Main(string[] args)
{
try
{
//Get configuration data from App.config connectionStrings
string connectionString = ConfigurationManager.ConnectionStrings["Connect"].ConnectionString;

using (HttpClient client = SampleHelpers.GetHttpClient(


connectionString,
SampleHelpers.clientId,
SampleHelpers.redirectUrl,"v9.0"))
{
Console.WriteLine("--Section 1 started--");
string queryOptions;
contact1.Add("firstname", "Rafel");
contact1.Add("lastname", "Shillo");

HttpRequestMessage createrequest1 = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress + "contacts");


createrequest1.Content = new StringContent(contact1.ToString());
createrequest1.Content.Headers.ContentType =
MediaTypeHeaderValue.Parse("application/json");

HttpResponseMessage createResponse1 = client.SendAsync(createrequest1,


HttpCompletionOption.ResponseHeadersRead).Result;
if (createResponse1.IsSuccessStatusCode)
{
Console.WriteLine("Contact '{0} {1}' created.", contact1.GetValue("firstname"),
contact1.GetValue("lastname"));
contact1Uri = createResponse1.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(contact1Uri);
Console.WriteLine("Contact URI: {0}", contact1Uri);

}
else
{
throw new Exception(string.Format("Failed to Post Records", createResponse1.ReasonPhrase));
}

JObject contact1Add = new JObject();


contact1Add.Add("annualincome", 80000);
contact1Add.Add("jobtitle", "Jumior Developer");
contact1Add.Add("jobtitle", "Jumior Developer");

HttpRequestMessage updaterequest1 = new HttpRequestMessage(new HttpMethod("PATCH"), contact1Uri);


updaterequest1.Content = new StringContent(contact1Add.ToString(), Encoding.UTF8,
"application/json");

HttpResponseMessage updateresponse1 = client.SendAsync(updaterequest1,


HttpCompletionOption.ResponseContentRead).Result;
if (updateresponse1.IsSuccessStatusCode)
{
Console.WriteLine("Contact '{0} {1}' updated with jobtitle" + "and annual income",
contact1.GetValue("firstname"), contact1.GetValue("lastname"));
}
else
{
Console.WriteLine("Failed to update contact for reason: {0}",pdateresponse1.ReasonPhrase);
}

// Retrieve the contact with its explicitly initialized properties.


//fullname is a read-only calculated value.

queryOptions = "?$select=fullname,annualincome,jobtitle,description";

HttpResponseMessage retrieveResponse1 = client.GetAsync(contact1Uri + queryOptions,


HttpCompletionOption.ResponseHeadersRead).Result;

if (retrieveResponse1.IsSuccessStatusCode) //200
{
retrievedcontact1 = JObject.Parse(retrieveResponse1.Content.ReadAsStringAsync().Result);
Console.WriteLine("Contact '{0}' retrieved: \n\tAnnual income: {1}" +
"\n\tJob title: {2} \n\tDescription: {3}.",
// Can use either indexer or GetValue method (or a mix of two)
retrievedcontact1.GetValue("fullname"),
retrievedcontact1["annualincome"],
retrievedcontact1["jobtitle"],
retrievedcontact1["description"]); //description is initialized empty.
}
else
{
Console.WriteLine("Failed to retrieve contact for reason: {0}", retrieveResponse1.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve contact for reason: {0}",
retrieveResponse1.Content));
}

//Modify specific properties and then update entity instance.


JObject contact1Update = new JObject();
contact1Update.Add("jobtitle", "Senior Developer");
contact1Update.Add("annualincome", 95000);
contact1Update.Add("description", "Assignment to-be-determined");

HttpRequestMessage updateRequest2 = new HttpRequestMessage( new HttpMethod("PATCH"), contact1Uri);


updateRequest2.Content = new StringContent(contact1Update.ToString(),
Encoding.UTF8, "application/json");

HttpResponseMessage updateResponse2 = client.SendAsync(updateRequest2,


HttpCompletionOption.ResponseContentRead).Result;
if (updateResponse2.IsSuccessStatusCode)
{
Console.WriteLine("Contact '{0}' updated:", retrievedcontact1["fullname"]);
Console.WriteLine("\tJob title: {0}", contact1Update["jobtitle"]);
Console.WriteLine("\tAnnual income: {0}", contact1Update["annualincome"]);
Console.WriteLine("\tDescription: {0}", contact1Update["description"]);
}
else
{
Console.WriteLine("Failed to update contact for reason: {0}",updateResponse2.ReasonPhrase);
throw new Exception(string.Format("Failed to update contact for reason: {0}", updateResponse2.Content));
}
//// Change just one property
string phone1 = "555-0105";
// Create unique identifier by appending property name
string contactPhoneUri =string.Format("{0}/{1}", contact1Uri, "telephone1");
JObject phoneValue = new JObject();
phoneValue.Add("value", phone1); //Updates must use keyword "value".

HttpRequestMessage updateRequest3 =new HttpRequestMessage(HttpMethod.Put, contactPhoneUri);


updateRequest3.Content = new StringContent(phoneValue.ToString(),
Encoding.UTF8, "application/json");

HttpResponseMessage updateResponse3 = client.SendAsync(updateRequest3,


HttpCompletionOption.ResponseContentRead).Result;
if (updateResponse3.IsSuccessStatusCode)
{
Console.WriteLine("Contact '{0}' phone number updated.",retrievedcontact1["fullname"]);
}
else
{
Console.WriteLine("Failed to update the contact phone number for reason:
{0}.",updateResponse3.ReasonPhrase);
throw new Exception(string.Format("Failed to update the contact phone number for reason: {0}.",
updateResponse3.Content));
}

//Now retrieve just the single property.


JObject retrievedProperty1;
HttpResponseMessage retrieveResponse2 = client.GetAsync(contactPhoneUri,
HttpCompletionOption.ResponseContentRead).Result;
if (retrieveResponse2.IsSuccessStatusCode)
{
retrievedProperty1 = JObject.Parse(retrieveResponse2.Content.ReadAsStringAsync().Result);
Console.WriteLine("Contact's telephone# is: {0}.",retrievedProperty1["value"]);
}
else
{
Console.WriteLine("Failed to retrieve the contact phone number for reason:
{0}.",retrieveResponse2.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve the contact phone number for reason: {0}.",
retrieveResponse2.Content));
}

/// <summary>
/// Demonstrates creation of entity instance and simultaneous association to another,
/// existing entity.
/// </summary>
///

Console.WriteLine("\n--Section 2 started--");
string queryOptions1; //select, expand and filter clauses
//Create a new account and associate with existing contact in one
operation.
account1.Add("name", "Contoso Ltd");
account1.Add("telephone1", "555-5555");
account1.Add("primarycontactid@odata.bind", contact1Uri);

HttpRequestMessage createRequest2 = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress + "accounts");


createRequest2.Content = new StringContent(account1.ToString(), Encoding.UTF8,
"application/json");

HttpResponseMessage createResponse2 = client.SendAsync(createRequest2,


HttpCompletionOption.ResponseContentRead).Result;
if (createResponse2.IsSuccessStatusCode)
{
Console.WriteLine("Account '{0}' created.", account1.GetValue("name"));
account1Uri = createResponse2.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(account1Uri);
}
else
else
{
Console.WriteLine("Failed to create account for reason: {0}.",createResponse2.ReasonPhrase);
throw new Exception(string.Format("Failed to create account for reason: {0}.",
createResponse2.Content));
}

//Retrieve account name and primary contact info


queryOptions1 = "?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome)";

HttpResponseMessage retrieveResponse3 = client.GetAsync(account1Uri + queryOptions1,


HttpCompletionOption.ResponseHeadersRead).Result;
if (retrieveResponse3.IsSuccessStatusCode)
{
retrievedAccount1 = JObject.Parse(retrieveResponse3.Content.ReadAsStringAsync().Result);
Console.WriteLine("Account '{0}' has primary contact '{1}':",retrievedAccount1["name"],
retrievedAccount1.GetValue("primarycontactid")["fullname"]);
Console.WriteLine("\tJob title: {0} \n\tAnnual income: {1}",
retrievedAccount1.GetValue("primarycontactid")["jobtitle"],
retrievedAccount1["primarycontactid"]["annualincome"]);
}
else
{
Console.WriteLine("Failed to retrieve account for reason: {0}.",retrieveResponse3.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve account for reason: {0}.",
retrieveResponse3.Content));
}
/// Demonstrates creation of entity instance and related entities in a single operation.
Console.WriteLine("\n--Section 3 started--");
string queryOptions2; //select, expand and filter clauses
//Create the following entries in one operation: an account, its
// associated primary contact, and open tasks for that contact. These
// entity types have the following relationships:
// Accounts
// |---[Primary] Contact (N-to-1)
// |---Tasks (1-to-N)

//Build the Account object inside-out, starting with most nested type(s)
JArray tasks = new JArray();
JObject task1 = new JObject();
task1.Add("subject", "Sign invoice");
task1.Add("description", "Invoice #12321");
task1.Add("scheduledend", DateTimeOffset.Parse("4/19/2016"));
tasks.Add(task1);

JObject task2 = new JObject();


task2.Add("subject", "Setup new display");
task2.Add("description", "Theme is - Spring is in the air");
task2.Add("scheduledstart", DateTimeOffset.Parse("4/20/2016"));
tasks.Add(task2);

JObject task3 = new JObject();


task3.Add("subject", "Conduct training");
task3.Add("description", "Train team on making our new blended coffee");
task3.Add("scheduledstart", DateTimeOffset.Parse("6/1/2016"));
tasks.Add(task3);

contact2.Add("firstname", "Susie");
contact2.Add("lastname", "Curtis");
contact2.Add("jobtitle", "Coffee Master");
contact2.Add("annualincome", 48000);
//Add related tasks using corresponding navigation property
contact2.Add("Contact_Tasks", tasks);

account2.Add("name", "Fourth Coffee");


//Add related contacts using corresponding navigation property
account2.Add("primarycontactid", contact2);

HttpRequestMessage createRequest3 =new HttpRequestMessage(HttpMethod.Post, client.BaseAddress + "accounts");


createRequest3.Content = new StringContent(account2.ToString(), Encoding.UTF8,
createRequest3.Content = new StringContent(account2.ToString(), Encoding.UTF8,
"application/json");

HttpResponseMessage createResponse3 = client.SendAsync(createRequest3,


HttpCompletionOption.ResponseContentRead).Result;
if (createResponse3.IsSuccessStatusCode)
{
Console.WriteLine("Account '{0}' created.", account2.GetValue("name"));
account2Uri = createResponse3.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(account2Uri);
}
else
{
Console.WriteLine("Failed to create account for reason: {0}.",createResponse3.ReasonPhrase);
throw new Exception(string.Format("Failed to create account for reason: {0}.", createResponse3.Content));
}

//Retrieve account, primary contact info, and assigned tasks for contact.
//Dynamics 365 only supports querying-by-expansion one level deep, so first query
// account-primary contact.
queryOptions2 = "?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome)";

HttpResponseMessage retrieveResponse4 = client.GetAsync(account2Uri + queryOptions2,


HttpCompletionOption.ResponseHeadersRead).Result;
if (retrieveResponse4.IsSuccessStatusCode)
{
retrievedAccount2 = JObject.Parse(retrieveResponse4.Content.ReadAsStringAsync().Result);
Console.WriteLine("Account '{0}' has primary contact '{1}':",retrievedAccount2.GetValue("name"),
retrievedAccount2.GetValue("primarycontactid")["fullname"]);
Console.WriteLine("\tJob title: {0} \n\tAnnual income: {1}",
retrievedAccount2["primarycontactid"]["jobtitle"],
retrievedAccount2["primarycontactid"]["annualincome"]);
}
else
{
Console.WriteLine("Failed to retrieve the account/contact info for " + "reason: {0}.",
retrieveResponse4.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve the account/contact info for " +"reason: {0}.",
retrieveResponse4.Content));
}

//Next retrieve same contact and its assigned tasks.


//Don't have a saved URI for contact 'Susie Curtis', so create one
// from base address and entity ID.
string queryOptions3;
string contact2Uri = string.Format("{0}contacts({1})",client.BaseAddress,
retrievedAccount2["primarycontactid"]["contactid"]);
entityUris.Add(contact2Uri);
queryOptions3 = "?
$select=fullname,&$expand=Contact_Tasks($select=subject,description,scheduledstart,scheduledend)";

HttpResponseMessage retrieveResponse5 = client.GetAsync(contact2Uri + queryOptions3,


HttpCompletionOption.ResponseHeadersRead).Result;
if (retrieveResponse5.IsSuccessStatusCode)
{
retrievedcontact2 = JObject.Parse(retrieveResponse5.Content.ReadAsStringAsync().Result);
Console.WriteLine("Contact '{0}' has the following assigned tasks:",retrievedcontact2["fullname"]);
foreach (JToken tk in retrievedcontact2["Contact_Tasks"])
{
Console.WriteLine( "Subject: {0}, \n\tDescription: {1}\n\tStart: {2}\n\tEnd: {3}\n",
tk["subject"],
tk["description"],
tk["scheduledstart"].Value<DateTime>().ToString("d"),
tk["scheduledend"].Value<DateTime>().ToString("d")
);
}
}
else
{
Console.WriteLine("Failed to retrieve the contact info for reason:
Console.WriteLine("Failed to retrieve the contact info for reason:
{0}.",retrieveResponse5.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve the contact info for reason: {0}.",
retrieveResponse5.Content));
}

/// Demonstrates associating and disassociating of existing entity instances.


string queryOptions4; //select, expand and filter clauses
Console.WriteLine("\n--Section 4 started--");
//Add 'Peter Cambel' to the contact list of 'Fourth Coffee',
// a 1-to-N relationship.
JObject rel1 = new JObject(); //relationship object for msg content
rel1.Add("@odata.id", contact1Uri);
Uri navUri1 = new Uri(String.Format("{0}/{1}/$ref", account2Uri, "contact_customer_accounts"));

HttpRequestMessage assocRequest1 = new HttpRequestMessage(HttpMethod.Post, navUri1);


assocRequest1.Content = new StringContent(rel1.ToString(),
Encoding.UTF8, "application/json");

HttpResponseMessage assocResponse1 = client.SendAsync(assocRequest1,


HttpCompletionOption.ResponseContentRead).Result;
if (assocResponse1.IsSuccessStatusCode)
{
Console.WriteLine("Contact '{0}' associated to account '{1}'.",
retrievedcontact1["fullname"], account2["name"]);
}
else
{
Console.WriteLine("Failed to associate account/contact entities " +
"for reason: {0}.", assocResponse1.ReasonPhrase);
throw new Exception(string.Format("Failed to associate account/contact entities " +
"for reason: {0}.", assocResponse1.Content));
}

//Retrieve and output all contacts for account 'Fourth Coffee'.


JObject retrievedContactList1;
queryOptions4 = "?$select=fullname,jobtitle";

HttpResponseMessage retrieveResponse6 = client.GetAsync(account2Uri + "/contact_customer_accounts" +


queryOptions4, HttpCompletionOption.ResponseHeadersRead).Result;
if (retrieveResponse6.IsSuccessStatusCode)
{
retrievedContactList1 = JObject.Parse(retrieveResponse6.Content.ReadAsStringAsync().Result);
Console.WriteLine("Contact list for account '{0}':",
retrievedAccount2["name"]);
foreach (JToken ct in retrievedContactList1["value"])
{
Console.WriteLine("\tName: {0}, Job title: {1}",
ct["fullname"], ct["jobtitle"]);
}
}
else
{
Console.WriteLine("Failed to retrieve the account/contact info" +
" for reason: {0}.", retrieveResponse6.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve the account/contact info" +
" for reason: {0}.", retrieveResponse6.Content));
}

//Dissociate the contact from the account. For a collection-valued


// navigation property, must append URI of referenced entity.
string dis1Uri = navUri1 + "?$id=" + contact1Uri;
//Equivalently, could have dissociated from the other end of the
// relationship, using the single-valued navigation ref, located in
// the contact 'Peter Cambel'. This dissociation URI has a simpler form:
// [Org URI]/api/data/v8.2/contacts([contactid#])/parentcustomerid_account/$ref

HttpResponseMessage disassocResponse1 = client.DeleteAsync(dis1Uri).Result;


if (disassocResponse1.IsSuccessStatusCode)
{
{
Console.WriteLine("Contact '{0}' dissociated from account '{1}'.",retrievedcontact1["fullname"],
account2["name"]);
}
else
{
Console.WriteLine("Failed to disassociate entities for reason: {0}.",disassocResponse1.ReasonPhrase);
throw new Exception(string.Format("Failed to disassociate entities for reason: {0}.",
disassocResponse1.Content));
}

//Associate an opportunity to a competitor, an N-to-N relationship.


//First, create the required entity instances.
string comp1Uri, oppor1Uri;
JObject comp1 = new JObject();
comp1.Add("name", "Adventure Works");
comp1.Add("strengths","Strong promoter of private tours for multi-day outdoor adventures");

JObject oppor1 = new JObject();


oppor1["name"] = "River rafting adventure";
oppor1["description"] = "Sales team on a river-rafting offsite and team building";

HttpRequestMessage createRequest4 =new HttpRequestMessage(HttpMethod.Post, client.BaseAddress +


"competitors");
createRequest4.Content = new StringContent(comp1.ToString(), Encoding.UTF8,
"application/json");

HttpResponseMessage createResponse4 = client.SendAsync(createRequest4,


HttpCompletionOption.ResponseContentRead).Result;
if (createResponse4.IsSuccessStatusCode)
{
Console.WriteLine("Competitor '{0}' created.", comp1["name"]);
comp1Uri = createResponse4.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(comp1Uri);
}
else
{
Console.WriteLine("Failed to create competitor for reason: {0}",createResponse4.ReasonPhrase);
throw new Exception(string.Format("Failed to create competitor for reason: {0}",
createResponse4.Content));
}

HttpRequestMessage createRequest5 =new HttpRequestMessage(HttpMethod.Post, client.BaseAddress +


"opportunities");
createRequest5.Content = new StringContent(oppor1.ToString(), Encoding.UTF8,
"application/json");

HttpResponseMessage createResponse5 = client.SendAsync(createRequest5,


HttpCompletionOption.ResponseContentRead).Result;
if (createResponse5.IsSuccessStatusCode)
{
Console.WriteLine("Opportunity '{0}' created.", oppor1["name"]);
oppor1Uri = createResponse5.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(oppor1Uri);
}
else
{
Console.WriteLine("Failed to create opportunity for reason: {0}",createResponse5.ReasonPhrase);
throw new Exception(string.Format("Failed to create opportunity for reason: {0}",
createResponse5.Content));
}

//Associate opportunity to competitor via opportunitycompetitors_association.


// navigation property.
JObject rel2 = new JObject();
rel2.Add("@odata.id", comp1Uri);
Uri navUri2 = new Uri(String.Format("{0}/{1}/$ref", oppor1Uri, "opportunitycompetitors_association"));

HttpRequestMessage assocRequest2 = new HttpRequestMessage(HttpMethod.Post, navUri2);


assocRequest2.Content = new StringContent(rel2.ToString(), Encoding.UTF8,
assocRequest2.Content = new StringContent(rel2.ToString(), Encoding.UTF8,
"application/json");

HttpResponseMessage assocResponse2 = client.SendAsync(assocRequest2,


HttpCompletionOption.ResponseContentRead).Result;
if (assocResponse2.IsSuccessStatusCode)
{
Console.WriteLine("Opportunity '{0}' associated with competitor '{1}'.",oppor1["name"], comp1["name"]);
}
else
{
Console.WriteLine("Failed to associate competitor/opportunity" +
"entities for reason: {0}.", assocResponse2.ReasonPhrase);
throw new Exception(string.Format("Failed to associate competitor/opportunity" +
"entities for reason: {0}.", assocResponse2.Content));
}

//Retrieve all opportunities for competitor 'Adventure Works'.


JObject retrievedOpporList1;
string queryOptions5;
//Select only 'name' to limit returned competitor properties.
queryOptions5 = "?$select=name,&$expand=opportunitycompetitors_association($select=name,description)";

HttpResponseMessage retrieveResponse7 = client.GetAsync(comp1Uri + queryOptions5,


HttpCompletionOption.ResponseHeadersRead).Result;
if (retrieveResponse7.IsSuccessStatusCode)
{
retrievedOpporList1 = JObject.Parse(retrieveResponse7.Content.ReadAsStringAsync().Result);
Console.WriteLine("Competitor '{0}' has the following opportunities:",retrievedOpporList1["name"]);
foreach (JToken op in retrievedOpporList1["opportunitycompetitors_association"])
{
Console.WriteLine("\tName: {0}, \n\tDescription: {1}",op["name"], op["description"]);
}
}
else
{
Console.WriteLine("Failed to retrieve the competitor/opportunity"
+ " info for reason: {0}.",
retrieveResponse7.ReasonPhrase);
throw new Exception(string.Format("Failed to retrieve the competitor/opportunity"
+ " info for reason: {0}.", retrieveResponse7.Content));
}

//Dissociate opportunity from competitor.


string dis2Uri = navUri2 + "?$id=" + comp1Uri;

HttpResponseMessage disassocResponse2 = client.DeleteAsync(dis2Uri).Result;


if (disassocResponse2.IsSuccessStatusCode)
{
Console.WriteLine("Opportunity '{0}' disassociated from competitor '{1}'.",
oppor1["name"], comp1["name"]);
}
else
{
Console.WriteLine("Failed to disassociate entities for reason: {0}.",disassocResponse1.ReasonPhrase);
throw new Exception(string.Format("Failed to disassociate entities for reason: {0}.",
disassocResponse1.Content));
}
}
}
catch (Exception ex)
{
SampleHelpers.DisplayException(ex);
throw;
}
finally
{
Console.WriteLine("Press <Enter> to exit the program.");
Console.ReadLine();
}
}
}
}

See also
Use the Common Data Service Web API
Create an entity using the Web API
Update and delete entities using the Web API
Retrieve an entity using the Web API
Update and delete entities using the Web API
Web API Samples
Web API Basic Operations Sample Web API Query Data Sample (C#)
Web API Conditional Operations Sample (C#)
Web API Functions and Actions Sample (C#)
Web API Query Data Sample (C#)
6/28/2019 • 12 minutes to read • Edit Online

This sample demonstrates how to perform basic query requests using the Common Data Service Web API with
C#.

NOTE
This sample implements the Common Data Service operations and console output detailed in Web API Query Data Sample
and uses the common C# constructs described in Web API Samples (C#).

Prerequisites
Prerequisites for all Common Data Service Web API C# samples are detailed in the Prerequisites section of the
parent topic Web API Samples (C#).

How to run this sample


Go to Web API Query Data Sample (C#), clone or download the samples repository, and extract its contents into a
local folder. This folder should contain the following files:

FILE PURPOSE/DESCRIPTION

SampleProgram.cs Contains the primary source code for this sample.

App.config The application configuration file, which contains placeholder


Common Data Service server connection information. This file
is shared with all the Web API samples in the repo. If you
configure connection information for one sample, you can run
the other samples with the same configuration.

SampleHelper.cs Contains the helper code to assist in performing common


tasks, such as application configuration, authentication and
HTTP response error handling.
This file is shared with all the Web API samples in the repo. It
contains helper methods to manage exceptions and the
OAuth Token. See the Simple Web API sample for more
information about the methods in this file.

SampleMethod.cs Contains all the methods that support the source code in the
sample. Functions used in SampleProgram.cs can be defined
in this file.

QueryData.sln The standard Visual Studio 2017 solution, project, NuGet


QueryData.csproj package configuration, and assembly information files for this
Packages.config sample.
AssemblyInfo.cs

Next, use the following procedure to run this sample.


1. Locate and double-click on the solution file, QueryData.sln, to load the solution into Visual Studio. Build the
QueryData solution. This should automatically download and install all the required NuGet packages that are
either missing or need to be updated.
2. Edit the application configuration file, App.config, to specify connection information for your Common Data
Service server.
3. Run the QueryData project from within Visual Studio. All sample solutions are configured to run in debug
mode by default.

Code listing
Go to Samples to download the full sample.
SampleProgram.cs

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace PowerApps.Samples
{
public partial class SampleProgram
{
static void Main(string[] args)
{
try
{
//Get configuration data from App.config connectionStrings
string connectionString = ConfigurationManager.ConnectionStrings["Connect"].ConnectionString;

using (HttpClient client = SampleHelpers.GetHttpClient(


connectionString,
SampleHelpers.clientId,
SampleHelpers.redirectUrl,"v9.0"))
{
string queryOptions; //select, expand and filter clauses
//Entity properties to select in a request and display.
string[] contactProperties = { "fullname", "jobtitle", "annualincome" };
string[] accountProperties = { "name" };
string[] taskProperties = { "subject", "description" };
CreateRequireRecords(client);

#region Selecting specific properties


// Basic query: Query using $select against a contact entity to get the properties you want.
// For performance best practice, always use $select, otherwise all properties are returned.

Console.WriteLine("-- Basic Query --");


queryOptions = "?$select=" + String.Join(",", contactProperties);

//Request formatted values be returned (in addition to standard unformatted values).


HttpResponseMessage response = client.GetAsync(contact1Uri + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
contact1 = JObject.Parse(response.Content.ReadAsStringAsync().Result);
Console.WriteLine("Contact basic info:\n\tFullname: {0}\n\tJobtitle: {1}\n\tAnnualincome: {2}
(unformatted)",
contact1["fullname"], contact1["jobtitle"], contact1["annualincome"]);
Console.WriteLine("\tAnnualincome: {0} (formatted)\n",
contact1["annualincome@OData.Community.Display.V1.FormattedValue"]);
}
}
else
{
throw new Exception(string.Format("Failed to retrtieve specific properties", response.Content));

}
#endregion Selecting specific properties

#region Using query functions


// Filter criteria:
// Applying filters to get targeted data.
// 1) Using standard query functions (e.g.: contains, endswith, startswith)
// 2) Using query functions (e.g.: LastXhours, Last7Days, Today, Between, In, ...)
// 3) Using filter operators and logical operators (e.g.: eq, ne, gt, and, or, etc…)
// 4) Set precedence using parenthesis (e.g.: ((criteria1) and (criteria2)) or (criteria3)
// For more info, see: https://msdn.microsoft.com/library/gg334767.aspx#bkmk_filter

Console.WriteLine("-- Filter Criteria --");


JObject collection;

//Filter 1: Using standard query functions to filter results. In this operation, we


//will query for all contacts with fullname containing the string "(sample)".
string filter = @"&$filter=contains(fullname,'(sample)')";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts filtered by fullname containing '(sample)':",collection,
contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts with fullname containing the string
(sample)", response.Content));
}

//Filter 2: Using query functions to filter results. In this operation, we will query
//for all contacts that were created in the last hour. For complete list of CRM query
//functions, see: https://msdn.microsoft.com/library/mt607843.aspx

filter = "&$filter=Microsoft.Dynamics.CRM.LastXHours(PropertyName='createdon',PropertyValue='1')";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts that were created within the last 1hr:",collection,
contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts that were created within the last
1hr", response.Content));
}

//Filter 3: Using operators. Building on the previous operation, we further limit


//the results by the contact's income. For more info on standard filter operators,
//https://msdn.microsoft.com/library/gg334767.aspx#bkmk_filter

filter = "&$filter=contains(fullname,'(sample)') and annualincome gt 55000";


queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts filtered by fullname and annualincome (<$55,000):",collection,
contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts filtered by fullname and annual
income < $55,000", response.Content));
}

//Filter 4: Set precedence using parenthesis. Continue building on the previous


//operation, we further limit results by job title. Parenthesis and the order of
//filter statements can impact results returned.

filter = "&$filter=contains(fullname,'(sample)') and(contains(jobtitle, 'senior')" +


" or contains(jobtitle,'specialist')) and annualincome gt 55000";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts filtered by fullname, annualincome and jobtitle " +
"(Senior or Specialist):", collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts filtered by fullname, annual income
and jobtitle" + "(Senior or Specialist)", response.Content));
}
#endregion Using query functions

#region Ordering and aliases


//Results can be ordered in descending or ascending order.
Console.WriteLine("\n-- Order Results --");
filter = @"&$filter=contains(fullname,'(sample)') &$orderby=jobtitle asc, annualincome desc";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts ordered by jobtitle (Ascending) and annualincome
(descending):",
collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts oredered by jobtitle (Ascending)
and annual income (descending)", response.Content));
}

//Parameterized aliases can be used as parameters in a query. These parameters can be used
//in $filter and $orderby options. Using the previous operation as basis, parameterizing the
//query will give us the same results. For more info, see:
//https://msdn.microsoft.com/library/gg309638.aspx#bkmk_passParametersToFunctions

Console.WriteLine("\n-- Parameterized Aliases --");


filter = "&$filter=contains(@p1,'(sample)') &$orderby=@p2 asc, " +
"@p3 desc&@p1=fullname&@p2=jobtitle&@p3=annualincome";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts list using parameterized aliases:",
collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts list using parameterized aliases",
response.Content));
}
#endregion Ordering and aliases
#endregion Ordering and aliases

#region Limit results


//To limit records returned, use the $top query option. Specifying a limit number for $top
//returns at most that number of results per request. Extra results are ignored.
//For more information, see: https://msdn.microsoft.com/library/gg334767.aspx#bkmk_limits

Console.WriteLine("\n-- Top Results --");


filter = "&$filter=contains(fullname,'(sample)')&$top=5";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts top 5 results:", collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts top 5 results", response.Content));
}

//Result count - count the number of results matching the filter criteria.
//Tip: Use count together with the "odata.maxpagesize" to calculate the number of pages in
//the query. Note: CRM has a max record limit of 5000 records per response.

Console.WriteLine("\n-- Result Count --");


string count;
// 1) Get a count of a collection without the data.
response = client.GetAsync("contacts/$count", HttpCompletionOption.ResponseHeadersRead).Result; // Count
is returned in response body.
if (response.IsSuccessStatusCode) //200
{
count = JValue.Parse(response.Content.ReadAsStringAsync().Result).ToString();
Console.WriteLine("The contacts collection has {0} contacts.", count);
}
else
{
throw new Exception(string.Format("Failed to retrieve The contacts collection has {0} contacts",
response.Content));
}

// 2) Get a count along with the data.


filter = "&$filter=contains(jobtitle,'senior') or contains(jobtitle, 'manager')&$count=true";
queryOptions = "?$select=" + String.Join(",", contactProperties) + filter;
response = client.GetAsync("contacts" + queryOptions, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
count = collection["@odata.count"].ToString();
Console.WriteLine("{0} contacts have either 'Manager' or 'Senior' designation " +
"in their jobtitle.", count);
DisplayFormattedEntities("Manager or Senior:", collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts having either 'Manager' or
'Senior' designation " +
"in their jobtitle.", response.Content));
}

#region Expanding results


//The expand option retrieves related information.
//To retrieve information on associated entities in the same request, use the $expand
//query option on navigation properties.
// 1) Expand using single-valued navigation properties (e.g.: via the 'primarycontactid')
// 2) Expand using partner property (e.g.: from contact to account via the 'account_primary_contact')
// 3) Expand using collection-valued navigation properties (e.g.: via the 'contact_customer_accounts')
// 4) Expand using multiple navigation property types in a single request.
// Note: Expansions can only go 1 level deep.
// Tip: For performance best practice, always use $select statement in an expand option.
// Tip: For performance best practice, always use $select statement in an expand option.

Console.WriteLine("\n-- Expanding Results --");


string expand; //expansion portion of query

//1) Expand using the 'primarycontactid' single-valued navigation property of account1.


expand = "&$expand=primarycontactid($select=" + String.Join(",", contactProperties) + ")";
queryOptions = "?$select=" + String.Join(",", accountProperties) + expand;
response = client.GetAsync(account1Uri + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
JObject account = JObject.Parse(response.Content.ReadAsStringAsync().Result);
Console.WriteLine("Account {0} has the following primary contact person:\n\t" +
"Fullname: {1} \n\tJobtitle: {2} \n\tAnnualincome: {3}",
account["name"],
account["primarycontactid"]["fullname"],
account["primarycontactid"]["jobtitle"],
account["primarycontactid"]["annualincome"]);
}
else
{
throw new Exception(string.Format("Failed to retrieve Account {0} has the following primary
contact person:\n\t" +
"Fullname: {1} \n\tJobtitle: {2} \n\tAnnualincome: {3}", response.Content));
}

//2) Expand using the 'account_primary_contact' partner property.


expand = "&$expand=account_primary_contact($select=" + String.Join(",", accountProperties) + ")";
queryOptions = "?$select=" + String.Join(",", contactProperties) + expand;
response = client.GetAsync(contact1Uri + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
JObject contact = JObject.Parse(response.Content.ReadAsStringAsync().Result);
string label = "Contact '" + contact["fullname"] +
"' is the primary contact for the following accounts:";
DisplayFormattedEntities(label, (JArray)contact["account_primary_contact"],
accountProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contact '" + "' is the primary contact for
the following accounts ", response.Content));
}

//3) Expand using the collection-valued 'contact_customer_accounts' navigation property.


expand = "&$expand=contact_customer_accounts($select=" + String.Join(",", contactProperties) + ")";
queryOptions = "?$select=" + String.Join(",", accountProperties) + expand;
response = client.GetAsync(account1Uri + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
JObject account = JObject.Parse(response.Content.ReadAsStringAsync().Result);
string label = "Account '" + account["name"] + "' has the following contact customers:";
DisplayFormattedEntities(label, (JArray)account["contact_customer_accounts"],
contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Account '" + "' has the following contact
customers:", response.Content));
}

//4) Expand using multiple navigation property types in a single request, specifically:
// primarycontactid, contact_customer_accounts, and Account_Tasks.
Console.WriteLine("\n-- Expanding multiple property types in one request -- ");
expand = "&$expand=primarycontactid($select=" + String.Join(",", contactProperties) + ")," +
"contact_customer_accounts($select=" + String.Join(",", contactProperties) + ")," +
"Account_Tasks($select=" + String.Join(",", taskProperties) + ")";
"Account_Tasks($select=" + String.Join(",", taskProperties) + ")";
queryOptions = "?$select=" + String.Join(",", accountProperties) + expand;
response = client.GetAsync(account1Uri + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
JObject account = JObject.Parse(response.Content.ReadAsStringAsync().Result);
string label = "Account {0} has the following primary contact person:\n\t" +
"Fullname: {1} \n\tJobtitle: {2} \n\tAnnualincome: {3}";
Console.WriteLine(label, account["name"],
account["primarycontactid"]["fullname"],
account["primarycontactid"]["jobtitle"],
account["primarycontactid"]["annualincome"]);

//Output each collection separately.


label = "Account '" + account["name"] + "' has the following related contacts:";
DisplayFormattedEntities(label, (JArray)account["contact_customer_accounts"],
contactProperties);
label = "Account '" + account["name"] + "' has the following tasks:";
DisplayFormattedEntities(label, (JArray)account["Account_Tasks"], taskProperties);
}
else
{ throw new Exception(string.Format("Failed to retrieve", response.Content)); }
#endregion Expanding results

#region FetchXML queries


//Use FetchXML to query for all contacts whose fullname contains '(sample)'.
//Note: XML string must be URI encoded. For more information, see:
//https://msdn.microsoft.com/library/gg328117.aspx

Console.WriteLine("\n-- FetchXML -- ");


string fetchXmlQuery =
"<fetch mapping='logical' output-format='xml-platform' version='1.0'
distinct='false'>" +
"<entity name ='contact'>" +
"<attribute name ='fullname' />" +
"<attribute name ='jobtitle' />" +
"<attribute name ='annualincome' />" +
"<order descending ='true' attribute='fullname' />" +
"<filter type ='and'>" +
"<condition value ='%(sample)%' attribute='fullname' operator='like' />" +
"</filter>" +
"</entity>" +
"</fetch>";
//Must encode the FetchXML query because it's a part of the request (GET) string .
response = client.GetAsync("contacts?fetchXml=" + WebUtility.UrlEncode(fetchXmlQuery),
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Contacts Fetched by fullname containing '(sample)':",
collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to retrieve Contacts Fetched by fullname containing
'(sample)'", response.Content));
}
#endregion FetchXML queries

#region Using predefined queries


//Use predefined queries of the following two types:
// 1) Saved query (system view)
// 2) User query (saved view)
//For more info, see: https://msdn.microsoft.com/library/mt607533.aspx

//1) Saved Query - retrieve "Active Accounts", run it, then display the results.
Console.WriteLine("\n-- Saved Query -- ");
filter = "&$filter=name eq 'Active Accounts'";
queryOptions = "?$select=name,savedqueryid" + filter;
queryOptions = "?$select=name,savedqueryid" + filter;
//Retrieve the saved query GUID then execute it.
response = client.GetAsync("savedqueries" + queryOptions).Result;
if (response.IsSuccessStatusCode) //200
{
JObject body = JObject.Parse(response.Content.ReadAsStringAsync().Result);
JObject activeAccount = (JObject)body["value"][0]; // Get the first matched.
string savedQueryId = activeAccount["savedqueryid"].ToString();
//Now execute the query and display the results.
response = client.GetAsync("accounts?savedQuery=" + savedQueryId,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Saved query (Active Accounts):", collection,
accountProperties);
}
else
{ throw new Exception(string.Format("Failed to retrieve the Saved query", response.Content));
}
}
else
{ throw new Exception(string.Format("Failed to retrieve the Saved query GUID", response.Content));
}

//2) Create a user query, then retrieve and execute it to display its results.
//For more info, see: https://msdn.microsoft.com/library/gg509053.aspx
Console.WriteLine("\n-- User Query -- ");

string userQueryRep = "{ " +


"\"name\": \"My User Query\", " +
"\"description\": \"User query to display contact info.\", " +
"\"querytype\": 0, " +
"\"returnedtypecode\": \"contact\", " +
"\"fetchxml\": " +
"\"<fetch mapping='logical' output-format='xml-platform' version='1.0'
distinct='false'>" +
"<entity name ='contact'>" +
"<attribute name ='fullname' />" +
"<attribute name ='contactid' />" +
"<attribute name ='jobtitle' />" +
"<attribute name ='annualincome' />" +
"<order descending ='false' attribute='fullname' />" +
"<filter type ='and'>" +
"<condition value ='%(sample)%' attribute='fullname' operator='like' />" +
"<condition value ='%Manager%' attribute='jobtitle' operator='like' />" +
"<condition value ='55000' attribute='annualincome' operator='gt' />" +
"</filter>" +
"</entity>" +
"</fetch>\"" +
"}";

//Create the user query on server.


HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "userqueries");
request.Content = new StringContent(userQueryRep, Encoding.UTF8, "application/json");
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{

}
else { throw new Exception(string.Format("Failed to create user query", response.Content)); }

//Retrieve this new user query.


string userQueryId;
filter = "&$filter=name eq 'My User Query'";
queryOptions = "?$select=name,userqueryid," + filter;
response = client.GetAsync("userqueries" + queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
{
JObject body = JObject.Parse(response.Content.ReadAsStringAsync().Result);
JObject userQuery = (JObject)body["value"][0]; //Use the first match.
userQueryId = userQuery["userqueryid"].ToString();
entityUris.Add(client.BaseAddress + "/userqueries(" + userQueryId + ")");
}
else
{
throw new Exception(string.Format("Failed to retrieve the new user query", response.Content));
}

//Finally, execute retrieved query and display results.


response = client.GetAsync("contacts?userQuery=" + userQueryId,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode) //200
{
collection = JObject.Parse(response.Content.ReadAsStringAsync().Result);
DisplayFormattedEntities("Saved user query:", collection, contactProperties);
}
else
{
throw new Exception(string.Format("Failed to execute retrieved query and display results",
response.Content));
}
#endregion Using predefined queries

DeleteRequiredRecords(client, prompt);
}
}
catch (Exception ex)
{
SampleHelpers.DisplayException(ex);
throw;
}
finally
{
Console.WriteLine("Press <Enter> to exit the program.");
Console.ReadLine();
}
}
}
}

See also
Use the Common Data Service Web API
Query Data using the Web API
Web API Samples
Web API Query Data Sample
Web API Query Data Sample (Client-side JavaScript)
Web API Basic Operations Sample (C#)
Web API Conditional Operations Sample (C#)
Web API Functions and Actions Sample (C#)
Web API Conditional Operations Sample (C#)
4/23/2019 • 7 minutes to read • Edit Online

This sample demonstrates how to perform conditional operations using Common Data Service Web API and C#.

NOTE
This sample implements the Common Data Service operations and console output detailed in Web API Conditional
Operations Sample and uses the common C# constructs described in Web API Samples (C#).

Prerequisites
Prerequisites for all Common Data Service Web API C# samples are detailed in the Prerequisites section of the
parent topic Web API Samples (C#).

How to run this sample


Go to Web API Conditional Operations Sample (C#) and clone or download the samples repository, and extract
the contents of the file to a folder on your computer. The extracted folder should contain the following files:

FILE DESCRIPTION

SampleProgram.cs Contains the source code for this sample.

App.config The application configuration file, which contains placeholder


Common Data Service server connection information. This file
is shared with all the Web API samples in the repo. If you
configure connection information for one sample, you can run
the other samples with the same configuration.

SampleHelper.cs Contains the helper code to assist in performing common


tasks, such as configuration, authentication and HTTP
response error handling.
This file is shared with all the Web API samples in the repo. It
contains helper methods to manage exceptions and the
OAuth Token. See the Simple Web API sample for more
information about the methods in this file.

SampleMethod.cs Contains all the methods that support the source code in the
sample. Functions used in SampleProgram.cs can be defined
in this file.

ConditionalOperations.sln The standard Visual Studio 2017 solution, project, NuGet


ConditionalOperations.csproj package, and assembly information files for this sample.
Packages.config
AssemblyInfo.cs

1. Double-click the ConditionalOperations.sln file to open the solution in Visual Studio.


2. Build the solution (Build > Build Solution). This should automatically download and update all the
required NuGet packages.
3. Edit the App.Config file in your solution to specify your Common Data Service server instance against
which you want this sample to run.
4. Run the project. All sample projects are configured to run in debug mode by default.
The sample code output will be displayed in a console window.

Code Sample
SampleProgram.cs

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace PowerApps.Samples
{
public partial class SampleProgram
{
static void Main(string[] args)
{
try
{
//Get configuration data from App.config connectionStrings
string connectionString = ConfigurationManager.ConnectionStrings["Connect"].ConnectionString;

using (HttpClient client = SampleHelpers.GetHttpClient(


connectionString,
SampleHelpers.clientId,
SampleHelpers.redirectUrl,"v9.0"))
{
// <summary> Creates the CRM entity instance used by this sample. </summary>

// Create a CRM account record.


Console.WriteLine("\nCreate sample data");
account.Add("name", "Contoso Ltd");
account.Add("telephone1", "555-0000"); //Phone number value will increment with each update
attempt
account.Add("revenue", 5000000);
account.Add("description", "Parent company of Contoso Pharmaceuticals, etc.");

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress +


"accounts");
request.Content = new StringContent(account.ToString(), Encoding.UTF8, "application/json");

HttpResponseMessage response = client.SendAsync(request,


HttpCompletionOption.ResponseContentRead).Result;

if (response.IsSuccessStatusCode)
{
accountUri = response.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUri = accountUri;
}
else
{
throw new Exception(string.Format("Failed to create accounts", response.Content));
}

//Retrieve the account record you created.


queryOptions = "?$select=name,revenue,telephone1,description";
//JObject entity = null;
//JObject entity = null;

HttpResponseMessage response1 = client.GetAsync(entityUri + queryOptions).Result;


if (response1.IsSuccessStatusCode) //200
{
account = JObject.Parse(response1.Content.ReadAsStringAsync().Result);
Console.WriteLine("Account entity created:");
Console.WriteLine(account.ToString(Newtonsoft.Json.Formatting.Indented));
initialAcctETagVal = account["@odata.etag"].ToString();
}

#region Conditional GET

Console.WriteLine("\n--Conditional GET section started--");


// Attempt to retrieve using conditional GET with current ETag value.
request = new HttpRequestMessage(HttpMethod.Get, accountUri + queryOptions);

// Retrieve only if it doesn't match previously retrieved version.


request.Headers.Add("If-None-Match", initialAcctETagVal);
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.NotModified) // 304; expected.


{
Console.WriteLine("Instance retrieved using ETag: {0}", initialAcctETagVal);
Console.WriteLine("Expected outcome: Entity was not modified so nothing was returned.");
}

else if (response.StatusCode == HttpStatusCode.OK) // 200; not expected


{
Console.WriteLine("Instance retrieved using ETag: {0}", initialAcctETagVal);
account = JObject.Parse(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(account.ToString(Formatting.Indented));
}

else
{
throw new Exception(string.Format("Failed to retrieve", response.Content));
}

// Modify the account instance by updating telephone1

string accountPhoneUri = string.Format("{0}/{1}", accountUri, "telephone1");


JObject phoneProperty = new JObject();
phoneProperty.Add("value", "555-0001");
request = new HttpRequestMessage(HttpMethod.Put, accountPhoneUri);
request.Content = new StringContent(phoneProperty.ToString(), Encoding.UTF8,
"application/json");
response = client.SendAsync(request, HttpCompletionOption.ResponseContentRead).Result;
if (response.StatusCode == HttpStatusCode.NoContent)
{
Console.WriteLine("\nAccount telephone number updated.");
}
else
{
throw new Exception(string.Format("Failed to update the account telephone number",
response.Content));
}

// Reattempt conditional GET with original ETag value.


request = new HttpRequestMessage(HttpMethod.Get, accountUri + queryOptions);
request.Headers.Add("If-None-Match", initialAcctETagVal);
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.OK) //200; expected


{
Console.WriteLine("Instance retrieved using ETag: {0}", initialAcctETagVal);
}
else if (response.StatusCode == HttpStatusCode.NotModified) // 304; not expected
{
Console.WriteLine("Unexpected status code: '{0}'.", (int)response.StatusCode);
Console.WriteLine("Unexpected status code: '{0}'.", (int)response.StatusCode);
}
else
{ throw new Exception(string.Format("Failed to get original ETag value",
response.Content)); }

// Retrieve and output current account state.


account = JObject.Parse(response.Content.ReadAsStringAsync().Result);
updatedAcctETagVal = account["@odata.etag"].ToString(); // Capture updated ETag
Console.WriteLine(account.ToString(Formatting.Indented));

#endregion Conditional GET

#region Optimistic concurrency on delete and update


Console.WriteLine("\n--Optimistic concurrency section started--");

// Attempt to delete original account (if matches original ETag value).


request = new HttpRequestMessage(HttpMethod.Delete, accountUri);
// If you replace "initialAcctETagVal" with "updatedAcctETagVal",
// delete will succeed.
request.Headers.Add("If-Match", initialAcctETagVal);
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;
// 412; Precondition failed error expected

if (response.StatusCode == HttpStatusCode.PreconditionFailed)
{
Console.WriteLine("Expected Error: The version of the existing record doesn't match the
property provided.");
Console.WriteLine("\tAccount not deleted using ETag '{0}', status code: '{1}'.",
initialAcctETagVal, (int)response.StatusCode);
}
else if (response.IsSuccessStatusCode) // 200-299; not expected
{
Console.WriteLine("Account deleted!");
}

else
{
throw new Exception(string.Format("Failed to delete original count",response.Content));
}

//Attempt to update account (if matches original ETag value).


JObject accountUpdate = new JObject();
accountUpdate.Add("telephone1", "555-0002");
accountUpdate.Add("revenue", 6000000);
request = new HttpRequestMessage(new HttpMethod("PATCH"), accountUri);
request.Content = new StringContent(accountUpdate.ToString(),
Encoding.UTF8, "application/json");
request.Headers.Add("If-Match", initialAcctETagVal);
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.PreconditionFailed) // 412;


//Precondition failed error expected
{
Console.WriteLine("Expected Error: The version of the existing record doesn't match the
property provided.");
Console.WriteLine("\tAccount not updated using ETag '{0}', status code: '{1}'.",
initialAcctETagVal, (int)response.StatusCode);
}
else if (response.StatusCode == HttpStatusCode.NoContent) // 204; not expected
{
Console.WriteLine("Account updated using ETag: {0}, status code: '{1}'.",
initialAcctETagVal, (int)response.StatusCode);
}
else
{
throw new Exception(string.Format("Failed to update account (if original ETag value
matches)", response.Content));
}
// Reattempt update if matches current ETag value.
accountUpdate["telephone1"] = "555-0003";
request = new HttpRequestMessage(new HttpMethod("PATCH"), accountUri);
request.Content = new StringContent(accountUpdate.ToString(),
Encoding.UTF8, "application/json");
request.Headers.Add("If-Match", updatedAcctETagVal);
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.NoContent) // 204; expected


{
Console.WriteLine("\nAccount successfully updated using ETag: {0}, status code: '{1}'.",
updatedAcctETagVal, (int)response.StatusCode);
}
else if (response.StatusCode == HttpStatusCode.PreconditionFailed) // 412; not expected
{
Console.WriteLine("Unexpected status code: '{0}'", (int)response.StatusCode);
}
else
{
throw new Exception(string.Format("Failed to update if matches current ETag value",
response.Content));
}

// Retrieve and output current account state.


account = GetCurrentRecord(client,accountUri, queryOptions);
updatedAcctETagVal = account["@odata.etag"].ToString(); //Capture updated ETag
Console.WriteLine(account.ToString(Formatting.Indented));

#endregion Optimistic concurrency on delete and update

#region Controlling upsert operations


Console.WriteLine("\n--Controlling upsert operations section started--");
//Attempt to insert without update some properties for this account
accountUpdate = new JObject();
accountUpdate.Add("telephone1", "555-0004");
accountUpdate.Add("revenue", 7500000);

request = new HttpRequestMessage(new HttpMethod("PATCH"), accountUri);


request.Content = new StringContent(accountUpdate.ToString(),
Encoding.UTF8, "application/json");

//Perform operation only if matching resource does not exist.


request.Headers.Add("If-None-Match", "*");
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.PreconditionFailed) // 412; expected


{
Console.WriteLine("Expected Error: A record with matching key values already exists.");
Console.WriteLine("\tAccount not updated using ETag '{0}, status code: '{1}'.",
initialAcctETagVal, (int)response.StatusCode);
}
else if (response.StatusCode == HttpStatusCode.NoContent) // 204; unexpected
{
Console.WriteLine("Account updated using If-None-Match '*'");
}

else
{
throw new Exception(string.Format("Failed to perform operations", response.Content));
}

//Attempt to perform same update without creation.


accountUpdate["telephone1"] = "555-0005";
request = new HttpRequestMessage(new HttpMethod("PATCH"), accountUri);
request.Content = new StringContent(accountUpdate.ToString(),
Encoding.UTF8, "application/json");
//Perform operation only if matching resource exists.
request.Headers.Add("If-Match", "*");
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.NoContent) // 204; expected


{
Console.WriteLine("Account updated using If-Match '*'");
}
else if (response.StatusCode == HttpStatusCode.PreconditionFailed) // 412; not expected
{
Console.WriteLine("Account not updated using If-Match '*', status code: '{0}'.",
(int)response.StatusCode);
}
else
{
throw new Exception(string.Format("Failed to perform operations", response.Content));
}

//Retrieve and output current account state.


account = GetCurrentRecord(client,accountUri, queryOptions);
Console.WriteLine(account.ToString(Formatting.Indented));

// Delete the account record


HttpResponseMessage deleteResponse;
deleteResponse = client.DeleteAsync(accountUri).Result;
if (deleteResponse.IsSuccessStatusCode) // 200-299
{
Console.WriteLine("\nAccount was deleted.");
}
else if (deleteResponse.StatusCode == HttpStatusCode.NotFound)
// 404; entity record may have been deleted by another user.
{
Console.WriteLine("Account could not be found.");
}
else // Failed to delete
{
// Throw last failure.
throw new Exception(string.Format("Failed to delete account record", response.Content));
}

// Attempt to update it
accountUpdate["telephone1"] = "555-0006";
request = new HttpRequestMessage(new HttpMethod("PATCH"), accountUri);
request.Content = new StringContent(accountUpdate.ToString(),
Encoding.UTF8, "application/json");

// Perform operation only if matching resource exists.


request.Headers.Add("If-Match", "*");
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;

if (response.StatusCode == HttpStatusCode.PreconditionFailed ||
response.StatusCode == HttpStatusCode.NotFound) // 412 or 404; expected
{
Console.WriteLine("Expected Error: Account with Id = {0} does not exist.",
account["accountid"]);
Console.WriteLine("Account not updated because it does not exist, status code: '{0}'.",
(int)response.StatusCode);
}
else if (response.StatusCode == HttpStatusCode.NoContent) // 204; not expected
{
Console.WriteLine("Account upserted using If-Match '*'");
}
else
{
throw new Exception(string.Format("Failed to perform operations", response.Content));
}

#endregion Controlling upsert operations


}
}
catch (Exception ex)
{
SampleHelpers.DisplayException(ex);
throw;
}
finally
{
Console.WriteLine("Press <Enter> to exit the program.");
Console.ReadLine();
}
}
}
}

See also
Use the Common Data Service Web API
Perform conditional operations using the Web API
Web API Samples
Web API Conditional Operations Sample Web API Basic Operations Sample (C#)
Web API Query Data Sample (C#)
Web API Functions and Actions Sample (C#)
Web API Functions and Actions Sample (C#)
6/28/2019 • 9 minutes to read • Edit Online

This sample demonstrates how to call bound and unbound functions and actions, including custom actions, using
the Common Data Service Web API.

NOTE
This sample implements the operations detailed in the Web API Functions and Actions Sample and uses the common client-
side C# constructs described in Web API Samples (C#).

Prerequisites
Prerequisites for all Common Data Service Web API C# samples are detailed in the Prerequisites section of the
parent topic Web API Samples (C#).

How to run this sample


Go to Web API Functions and Actions Sample (C#), clone or download the samples repository, and extract its
contents into a local folder. This folder should contain the following files:

FILE PURPOSE/DESCRIPTION

SampleProgram.cs Contains the primary source code for this sample.

App.config The application configuration file, which contains placeholder


Common Data Service server connection information. This file
is shared with all the Web API samples in the repo. If you
configure connection information for one sample, you can run
the other samples with the same configuration.

SampleHelper.cs Contains the helper code to assist in performing common


tasks, such as configuration, authentication and HTTP
response error handling.
This file is shared with all the Web API samples in the repo. It
contains helper methods to manage exceptions and the
OAuth Token. See the Simple Web API sample for more
information about the methods in this file.

SampleMethod.cs Contains all the methods that support the source code in the
sample. Functions used in SampleProgram.cs can be defined
in this file.

FunctionsAndActions.sln The standard Visual Studio 2017 solution, project, NuGet


FunctionsAndActions.csproj package configuration, and assembly information files for this
Packages.config sample.
AssemblyInfo.cs

WebAPIFunctionsandActions_1_0_0_0_managed.zip A custom managed solution containing two custom actions


called by this sample.

Next, use the following procedure to run this sample.


1. Locate and double-click on the solution file, FunctionsAndActions.sln, to load the solution into Visual
Studio. Build the FunctionsAndActions solution. This should automatically download and install all the
required NuGet packages that are either missing or need to be updated.
2. Edit the application configuration file, App.config, to specify connection information for your Common
Data Service server.
3. Run the FunctionsAndActions project from within Visual Studio. All sample solutions are configured to
run in debug mode by default.

Code listing
SampleProgram.cs

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace PowerApps.Samples

{
public partial class SampleProgram
{
static void Main(string[] args)
{
try
{
//Get configuration data from App.config connectionStrings
string connectionString = ConfigurationManager.ConnectionStrings["Connect"].ConnectionString;

using (HttpClient client = SampleHelpers.GetHttpClient(


connectionString,
SampleHelpers.clientId,
SampleHelpers.redirectUrl,
"v9.0"))
{
CreateRequiredRecords(client);
//DeleteRequiredRecords(client, prompt);
HttpRequestMessage request;
HttpResponseMessage response;
#region Call an unbound function with no parameters.
//Retrieve the current user's full name from the WhoAmI function:
// https://msdn.microsoft.com/library/mt607925.aspx, which returns a WhoAmIResponse
// complex type: https://msdn.microsoft.com/library/mt607982.aspx.

string currentUser;
Console.WriteLine("Unbound function: WhoAmI");
response = client.GetAsync("WhoAmI", HttpCompletionOption.ResponseContentRead).Result;

if (!response.IsSuccessStatusCode)
{
throw new Exception(string.Format("Failed to retrieve current user",
response.Content));
}
JObject whoAmIresp = JObject.Parse(response.Content.ReadAsStringAsync().Result);
//First obtain the user's ID.
myUserId = (Guid)whoAmIresp["UserId"];
//Then retrieve the full name for that unique ID.
//Then retrieve the full name for that unique ID.
string requestUri = "systemusers(" + myUserId + ")?$select=fullname";
response = client.GetAsync(requestUri, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode)
{
JObject user = JObject.Parse(response.Content.ReadAsStringAsync().Result);
currentUser = user["fullname"].ToString();
}
else if (response.StatusCode == HttpStatusCode.NotFound)
{ currentUser = "[not registered]"; }
else
{
Console.WriteLine("Error calling WhoAmI!");
throw new Exception(string.Format("Failed to retrieve the fullname for that unique
ID", response.Content));
}
Console.WriteLine("\tCurrent user has system name '{0}'.", currentUser);
#endregion Call an unbound function with no parameters.

#region Call an unbound function that requires parameters.


//Retrieve the time zone code for the specified time zone, using the
GetTimeZoneCodeByLocalizedName
//function: https://msdn.microsoft.com/library/mt607644.aspx, which returns a
GetTimeZoneCodeBy-
//LocalizedNameResponse complex type: https://msdn.microsoft.com/library/mt607889.aspx.
string timeZoneCode;
int localeID = 1033;
string timeZoneName = "Pacific Standard Time";
JObject LocalizedNameResponse;

//Demonstrates best practice of passing parameters.


string[] uria = new string[] {
"GetTimeZoneCodeByLocalizedName",
"(LocalizedStandardName=@p1,LocaleId=@p2)",
"?@p1='" + timeZoneName + "'&@p2=" + localeID };
//This would also work:
//string[] uria = ["GetTimeZoneCodeByLocalizedName", "(LocalizedStandardName='" +
// timeZoneName + "',LocaleId=" + localeId + ")"];

Console.WriteLine("Unbound function: GetTimeZoneCodeByLocalizedName");


response = client.GetAsync(string.Join("", uria),
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
LocalizedNameResponse = JObject.Parse(response.Content.ReadAsStringAsync().Result);
}
else
{
Console.WriteLine("Error calling GetTimeZoneCodeByLocalizedName!");
throw new Exception(string.Format("Faile calling GetTimeZoneCodeByLocalizedName!",
response.Content));

}
timeZoneCode = LocalizedNameResponse["TimeZoneCode"].ToString();
Console.WriteLine("\tThe time zone '{0}' has the code '{1}'.", timeZoneName,
timeZoneCode);
#endregion Call an unbound function that requires parameters.

#region Call a bound function.


//Retrieve the total time, in minutes, spent on all tasks associated with an incident.
//Uses the CalculateTotalTimeIncident function:
https://msdn.microsoft.com/library/mt593054.aspx,
//which returns a CalculateTotalTimeIncidentResponse complex type:
//https://msdn.microsoft.com/library/mt607924.aspx.

string totalTime;
string boundUri = incident1Uri + @"/Microsoft.Dynamics.CRM.CalculateTotalTimeIncident()";
Console.WriteLine("Bound function: CalculateTotalTimeIncident");
response = client.GetAsync(boundUri, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode)
if (response.IsSuccessStatusCode)
{
JObject cttir = JObject.Parse(response.Content.ReadAsStringAsync().Result);
totalTime = cttir["TotalTime"].ToString();
}
else
{
Console.WriteLine("Error calling CalculateTotalTimeIncident!");
throw new Exception(string.Format("Failed calling CalculateTotalTimeIncident!",
response.Content));
}
Console.WriteLine("\tThe total duration of tasks associated with the incident " +
"is {0} minutes.", totalTime);
#endregion Call a bound function.

#region Call an unbound action that requires parameters.


//Close an opportunity and marks it as won. Uses the WinOpportunity action:
//https://msdn.microsoft.com/library/mt607971.aspx,
//which takes a int32 status code and an opportunityclose entity type:
//https://msdn.microsoft.com/library/mt593099.aspx.

JObject opportClose = new JObject();


opportClose["subject"] = "Won Opportunity";
opportClose["opportunityid@odata.bind"] = opportunity1Uri;
JObject winOpportParams = new JObject();
winOpportParams["Status"] = 3;
winOpportParams["OpportunityClose"] = opportClose;
Console.WriteLine("Unbound action: WinOpportunity");

request = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress + "WinOpportunity");


request.Content = new StringContent(winOpportParams.ToString(), Encoding.UTF8,
"application/json");
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode)
{
}
else
{
Console.WriteLine("Error calling WinOpportunity!");
throw new Exception(string.Format("Failed to close an opportunity as won",
response.Content));
}
Console.WriteLine("\tOpportunity won.");
#endregion Call an unbound action that requires parameters.

#region Call a bound action that requires parameters.


//Add a new letter tracking activity to the current user's queue. Uses the AddToQueue
//action: https://msdn.microsoft.com/library/mt607880.aspx, which is bound to the queue
//entity type: https://msdn.microsoft.com/library/mt607886.aspx, and returns a
//AddToQueueResponse complex type: https://msdn.microsoft.com/library/mt608105.aspx.
string queueItemId;
//Create a letter tracking instance.
string letterUri;
JObject letter = new JObject();
letter["description"] = "Example letter";
Console.WriteLine("Bound action: AddToQueue");
request = new HttpRequestMessage(HttpMethod.Post, client.BaseAddress + "letters");
request.Content = new StringContent(letter.ToString(), Encoding.UTF8,
"application/json");

response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;


if (response.StatusCode == HttpStatusCode.NoContent)
{
letterUri = response.Headers.GetValues("OData-EntityId").FirstOrDefault();
entityUris.Add(letterUri);
}
else
{
Console.WriteLine("Error creating tracking letter!");
throw new Exception(string.Format("Failed to create a Letter", response.Content));
}

//Retrieve the ID associated with this new letter tracking activity.


string letterActivityId;
response = client.GetAsync(letterUri + "?$select=activityid",
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode)
{
JObject letterRetreived = JObject.Parse(response.Content.ReadAsStringAsync().Result);
letterActivityId = letterRetreived["activityid"].ToString();
}
else
{
Console.WriteLine("Error retrieving tracking letter activity ID!");
throw new Exception(string.Format("Failed to retrieve trscking letter activity ID",
response.Content));
}

//Retrieve URL to current user's queue.


string myQueueUri;
response = client.GetAsync("systemusers(" + myUserId + ")/queueid/$ref",
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.IsSuccessStatusCode)
{
JObject queueRef = JObject.Parse(response.Content.ReadAsStringAsync().Result);
myQueueUri = queueRef["@odata.id"].ToString();
}
else
{
Console.WriteLine("Error retrieving current user queue URL!");
throw new Exception(string.Format("Failed to retrieve URL to current user's queue",
response.Content));
}

//Add letter activity to current user's queue, then return its queue ID.
JObject addToQueueParams = new JObject();
addToQueueParams["Target"] = JObject.Parse(
@"{activityid: '" + letterActivityId + @"', '@odata.type':
'Microsoft.Dynamics.CRM.letter' }");
request = new HttpRequestMessage(HttpMethod.Post, myQueueUri +
"/Microsoft.Dynamics.CRM.AddToQueue");
request.Content = new StringContent(addToQueueParams.ToString());
response = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
JObject queueResponse = JObject.Parse(response.Content.ReadAsStringAsync().Result);
queueItemId = queueResponse["QueueItemId"].ToString();
}
else
{
Console.WriteLine("Error adding letter activity to queue!");
throw new Exception(string.Format("Failed to Add letter activity to current user's
queue", response.Content));
}
Console.WriteLine("\tQueueItemId returned from AddToQueue action: {0}", queueItemId);
#endregion Call a bound action that requires parameters.

//Attempt to load the associated managed solution so that we can call its custom actions.
//Check first if the solution is already installed by retrieving its ID.
customSolutionID = customSolutionName;
bool install = true;
//Request to install and solution is not already present
if (install == true && customSolutionID == null)
{
//Locate the custom solution zip file, which should have been copied over to the
build
//output directory.
string solutionPath = Directory.GetCurrentDirectory() + "\\" +
string solutionPath = Directory.GetCurrentDirectory() + "\\" +
customSolutionFilename;
if (!File.Exists(solutionPath))
{ return; }
//Read the solution package into memory
byte[] packageBytes = File.ReadAllBytes(solutionPath);
//Import the solution package.
JObject importParams = new JObject();
importParams["CustomizationFile"] = packageBytes;
importParams["OverwriteUnmanagedCustomizations"] = false;
importParams["PublishWorkflows"] = false;
importParams["ImportJobId"] = Guid.NewGuid();

request = new HttpRequestMessage(HttpMethod.Post, "ImportSolution");


request.Content = new StringContent(importParams.ToString(), Encoding.UTF8,
"application/json");
response = client.SendAsync(request,
HttpCompletionOption.ResponseContentRead).Result;
if (response.IsSuccessStatusCode)
{
customSolutionID = customSolutionName;
string solutionUri = client.BaseAddress.ToString() + "solutions(" +
customSolutionID + ")";
entityUris.Add(solutionUri); //Add to lifetime-managed records.
return;
}
else
{ throw new Exception(string.Format("Failed to import solution package",
response.Content)); }
}
//Request to uninstall and solution is present.
else if (install == false && customSolutionID != null)
{
string solutionUri = client.BaseAddress.ToString() + "solutions(" + customSolutionID
+ ")";
response = client.DeleteAsync(solutionUri).Result;
customSolutionID = null;
}
if (customSolutionID == null)
{
Console.WriteLine("Failed to install custom solution, so custom operations cannot be
called.");
return;
}

string solutionID = null;

if (String.IsNullOrEmpty(solutionName))
{ //return null;
}
string queryOptions = "solutions?$select=solutionid&$filter=uniquename eq '" +
solutionName + "'";
response = client.GetAsync(queryOptions,
HttpCompletionOption.ResponseHeadersRead).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
JObject solutionArray = JObject.Parse(response.Content.ReadAsStringAsync().Result);
//There can only be zero or one returned record when filtering on a unique property.
if (!solutionArray["value"].Any())
{ solutionID = null; }
else
{ solutionID = solutionArray["value"].First()["solutionid"].ToString(); }
}
else
{ throw new Exception(string.Format("Failed to get solutionID", response.Content)); }
///return solutionID;

#region Call a bound custom action that requires parameters.


//Add a note to a specified contact. Uses the custom action sample_AddNoteToContact,
which
which
//is bound to the contact to annotate, and takes a single param, the note to add. It also
//returns the URI to the new annotation.
string annote1Url;
JObject note1 = JObject.Parse(
@"{NoteTitle: 'Note Title', NoteText: 'The text content of the note.'}");
string actionUri = contact1Uri + "/Microsoft.Dynamics.CRM.sample_AddNoteToContact";
Console.WriteLine("Custom action: sample_AddNoteToContact");
request = new HttpRequestMessage(HttpMethod.Post, actionUri);
request.Content = new StringContent(note1.ToString(), Encoding.UTF8, "application/json");
response = client.SendAsync(request, HttpCompletionOption.ResponseContentRead).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
JObject contact = JObject.Parse(response.Content.ReadAsStringAsync().Result);
annote1Url = client.BaseAddress + "/annotations(" + contact["annotationid"] + ")";
}
else
{
Console.WriteLine("Error calling custom action sample_AddNoteToContact!");
throw new Exception(string.Format("Failed calling custom action
sample_AddNoteToContact", response.Content));
}
Console.WriteLine("\tA note with the title '{0}' was created and " +
"associated with the contact {2}.",
note1["NoteTitle"], note1["NoteText"],
contact1["firstname"] + " '" + contact1["lastname"] + "'");
#endregion Call a bound custom action that requires parameters.

#region Call an unbound custom action that requires parameters.


//Create a customer of the specified type, using the custom action sample_CreateCustomer,
//which takes two prams: the type of customer ('account' or 'contact') and the name of
//the new customer.
string customerName1 = "New account customer (sample)";
JObject customerParam = JObject.Parse(
@"{CustomerType: 'account', AccountName: '" + customerName1 + "'}");
Console.WriteLine("Custom action: sample_CreateCustomer");
request = new HttpRequestMessage(HttpMethod.Post, "sample_CreateCustomer");
request.Content = new StringContent(customerParam.ToString(), Encoding.UTF8,
"application/json");
response = client.SendAsync(request, HttpCompletionOption.ResponseContentRead).Result;
if (!response.IsSuccessStatusCode)
{
Console.WriteLine("Error calling custom action sample_CreateCustomer!");
throw new Exception(string.Format("Failed calling custom action
sample_CreateCustomer", response.Content));
}
Console.WriteLine("\tThe account '" + customerName1 + "' was created.");

//Try to call the same custom action with invalid parameters, here the same name is
//not valid for a contact. (ContactFirstname and ContactLastName parameters are
//required when CustomerType is contact.)
customerParam = JObject.Parse(
@"{CustomerType: 'contact', AccountName: '" + customerName1 + "'}");
request = new HttpRequestMessage(HttpMethod.Post, "sample_CreateCustomer");
response = client.SendAsync(request, HttpCompletionOption.ResponseContentRead).Result;
if (response.IsSuccessStatusCode)
{ Console.WriteLine("\tCall to CreateCustomer not expected to succeed."); }
else
{
Exception ex = new Exception(string.Format("Failed calling custom action",
response.Content));
Console.WriteLine("\tExpected Error: " + ex.Message);
}
#endregion Call an unbound custom action that requires parameters.

DeleteRequiredRecords(client, prompt);
}
}
catch (Exception ex)
{
{
SampleHelpers.DisplayException(ex);
throw;
}
finally
{
Console.WriteLine("Press <Enter> to exit the program.");
Console.ReadLine();
}
}
}
}

See also
Use the Common Data Service Web API
Use Web API functions
Use Web API actions
Web API Samples
Web API Functions and Actions Sample Web API Basic Operations Sample (C#)
Web API Query Data Sample (C#)
Web API Conditional Operations Sample (C#)
Web API Data operations Samples (Client-side
JavaScript)
6/28/2019 • 6 minutes to read • Edit Online

If you are using an earlier version of Common Data Service Customer Engagement, see Web API Samples
(Client-side JavaScript)
See also
Use the Common Data Service Web API
Web API Samples
Web API Samples (C#)
Web API Basic Operations Sample (Client-side
JavaScript)
6/28/2019 • 16 minutes to read • Edit Online

This sample demonstrates how to perform basic CRUD (create, retrieve, update, and delete) and association and
dissociation operations on entity instances using client-side JavaScript.

NOTE
This sample implements the operations detailed in the Web API Basic Operations Sample and uses the common JavaScript
constructs described in Web API Samples (Client-side JavaScript)

Prerequisites
To run this sample, the following is required:
Access to Common Data Service online or on-premises version 8.0 or higher.
A user account with privileges to import solutions and perform CRUD operations, typically a system
administrator or system customizer security role.

Run this sample


To run this sample, download the solution package here Microsoft CRM Web API Basic Operations Sample
(Client-side JavaScript). Download the Microsoft CRM Web API Basic Operations Sample (Client-side
JavaScript).zip file and extract the contents. Locate the WebAPIBasicOperations_1_0_0_1_managed.zip solution
and import it into your Common Data Service organization and run the sample. For instructions on how to import
the sample solution, see Web API Samples (Client-side JavaScript).

Code sample
This sample includes two web resources:
WebAPIBasicOperations.html
WebAPIBasicOperations.js
WebAPIBasicOperations.html
The WebAPIBasicOperations.html web resource provides the context in which the JavaScript code will run.
<html>
<head>
<title>Microsoft CRM Web API Basic Operations Example</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<script src="../ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script src="scripts/es6promise.js" type="text/javascript"></script>
<script src="scripts/WebAPIBasicOperations.js" type="text/javascript"></script>

<style type="text/css">
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#preferences {
border: inset;
padding: 10px 10px;
}

#output_area {
border: inset;
background-color: gainsboro;
padding: 10px 10px;
}
</style>
</head>
<body>
<h1>Microsoft CRM Web API Basic Operations Example</h1>
<p>This page demonstrates the CRM Web API's basic operations using JavaScript.</p>

<h2>Instructions</h2>
<p>
Choose your preferences and run the JavaScript code.
Use your browser's developer tools to view the output written to the console (e.g.: in IE 11 or Microsoft
Edge,
press F12 to load the Developer Tools).
</p>
<p>
Remove sample data (Choose whether you want to delete sample data created during this execution):
<br />
<input name="removesampledata" type="radio" value="yes" checked />
Yes
<input name="removesampledata" type="radio" value="no" />
No
</p>
<input type="button" name="start_sample" value="Start Sample" onclick="Sdk.startSample()" />

</body>
</html>

WebAPIBasicOperations.js
The WebAPIBasicOperations.js web resource is the JavaScript library that defines the operations this sample
performs.

"use strict";
var Sdk = window.Sdk || {};

/**
* @function getClientUrl
* @description Get the client URL.
* @returns {string} The client URL.
*/
Sdk.getClientUrl = function () {
var context;
// GetGlobalContext defined by including reference to
// ClientGlobalContext.js.aspx in the HTML page.
if (typeof GetGlobalContext != "undefined") {
context = GetGlobalContext();
} else {
if (typeof Xrm != "undefined") {
// Xrm.Page.context defined within the Xrm.Page object model for form scripts.
context = Xrm.Page.context;
} else {
throw new Error("Context is not available.");
}
}
return context.getClientUrl();

};

/**
* An object instantiated to manage detecting the
* Web API version in conjunction with the
* Sdk.retrieveVersion function
*/
Sdk.versionManager = new function () {
//Start with base version
var _webAPIMajorVersion = 8;
var _webAPIMinorVersion = 0;
//Use properties to increment version and provide WebAPIPath string used by Sdk.request;
Object.defineProperties(this, {
"WebAPIMajorVersion": {
get: function () {
return _webAPIMajorVersion;
},
set: function (value) {
if (typeof value != "number") {
throw new Error("Sdk.versionManager.WebAPIMajorVersion property must be a number.")
}
_webAPIMajorVersion = parseInt(value, 10);
}
},
"WebAPIMinorVersion": {
get: function () {
return _webAPIMinorVersion;
},
set: function (value) {
if (isNaN(value)) {
throw new Error("Sdk.versionManager._webAPIMinorVersion property must be a number.")
}
_webAPIMinorVersion = parseInt(value, 10);
}
},
"WebAPIPath": {
get: function () {
return "/api/data/v" + _webAPIMajorVersion + "." + _webAPIMinorVersion;
}
}
})

//Setting variables specific to this sample within a container so they won't be


// overwritten by another scripts code
Sdk.SampleVariables = {
entitiesToDelete: [], // Entity URIs to be deleted later (if user so chooses)
deleteData: true, // Controls whether sample data are deleted at the end of sample run
contact1Uri: null, // e.g.: Peter Cambel
contactAltUri: null, // e.g.: Peter_Alt Cambel
account1Uri: null, // e.g.: Contoso, Ltd
account2Uri: null, // e.g.: Fourth Coffee
contact2Uri: null, // e.g.: Susie Curtis
contact2Uri: null, // e.g.: Susie Curtis
opportunity1Uri: null, // e.g.: Adventure Works
competitor1Uri: null

/**
* @function request
* @description Generic helper function to handle basic XMLHttpRequest calls.
* @param {string} action - The request action. String is case-sensitive.
* @param {string} uri - An absolute or relative URI. Relative URI starts with a "/".
* @param {object} data - An object representing an entity. Required for create and update actions.
* @param {object} addHeader - An object with header and value properties to add to the request
* @returns {Promise} - A Promise that returns either the request object or an error object.
*/
Sdk.request = function (action, uri, data, addHeader) {
if (!RegExp(action, "g").test("POST PATCH PUT GET DELETE")) { // Expected action verbs.
throw new Error("Sdk.request: action parameter must be one of the following: " +
"POST, PATCH, PUT, GET, or DELETE.");
}
if (!typeof uri === "string") {
throw new Error("Sdk.request: uri parameter must be a string.");
}
if ((RegExp(action, "g").test("POST PATCH PUT")) && (!data)) {
throw new Error("Sdk.request: data parameter must not be null for operations that create or modify data.");
}
if (addHeader) {
if (typeof addHeader.header != "string" || typeof addHeader.value != "string") {
throw new Error("Sdk.request: addHeader parameter must have header and value properties that are
strings.");
}
}

// Construct a fully qualified URI if a relative URI is passed in.


if (uri.charAt(0) === "/") {
//This sample will try to use the latest version of the web API as detected by the
// Sdk.retrieveVersion function.
uri = Sdk.getClientUrl() + Sdk.versionManager.WebAPIPath + uri;
}

return new Promise(function (resolve, reject) {


var request = new XMLHttpRequest();
request.open(action, encodeURI(uri), true);
request.setRequestHeader("OData-MaxVersion", "4.0");
request.setRequestHeader("OData-Version", "4.0");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
if (addHeader) {
request.setRequestHeader(addHeader.header, addHeader.value);
}
request.onreadystatechange = function () {
if (this.readyState === 4) {
request.onreadystatechange = null;
switch (this.status) {
case 200: // Operation success with content returned in response body.
case 201: // Create success.
case 204: // Operation success with no content returned in response body.
resolve(this);
break;
default: // All other statuses are unexpected so are treated like errors.
var error;
try {
error = JSON.parse(request.response).error;
} catch (e) {
error = new Error("Unexpected Error");
}
reject(error);
break;
}
}
}
};
request.send(JSON.stringify(data));
});
};

/**
* @function startSample
* @description Runs the sample.
* This sample demonstrates basic CRUD+ operations.
* Results are sent to the debugger's console window.
*/
Sdk.startSample = function () {
// Initializing.
Sdk.SampleVariables.deleteData = document.getElementsByName("removesampledata")[0].checked;
Sdk.SampleVariables.entitiesToDelete = []; // Reset the array.
Sdk.SampleVariables.contact1Uri = "";
Sdk.SampleVariables.account1Uri = "";
Sdk.SampleVariables.account2Uri = "";
Sdk.SampleVariables.contact2Uri = "";
Sdk.SampleVariables.opportunity1Uri = "";
Sdk.SampleVariables.competitor1Uri = "";

/**
* Behavior of this sample varies by version
* So starting by retrieving the version;
*/

Sdk.retrieveVersion()
.then(function () {
return Sdk.basicCreateAndUpdatesAsync()
})
.then(function () {
return Sdk.createWithAssociationAsync()
})
.then(function () {
return Sdk.createRelatedAsync()
})
.then(function () {
return Sdk.associateExistingAsync()
})
.then(function () {
return Sdk.deleteSampleData()
})
.catch(function (err) {
console.log("ERROR: " + err.message);
});

Sdk.retrieveVersion = function () {
return new Promise(function (resolve, reject) {
Sdk.request("GET", "/RetrieveVersion")
.then(function (request) {
try {
var RetrieveVersionResponse = JSON.parse(request.response);
var fullVersion = RetrieveVersionResponse.Version;
var versionData = fullVersion.split(".");
Sdk.versionManager.WebAPIMajorVersion = parseInt(versionData[0], 10);
Sdk.versionManager.WebAPIMinorVersion = parseInt(versionData[1], 10);
resolve();
} catch (err) {
reject(new Error("Error processing version: " + err.message))
}
})
.catch(function (err) {
reject(new Error("Error retrieving version: " + err.message))
})
});
};
};

Sdk.basicCreateAndUpdatesAsync = function () {
return new Promise(function (resolve, reject) {

// Section 1.
//
// Create the contact using POST request.
// A new entry will be added regardless if a contact with this info already exists in the system or not.
console.log("--Section 1 started--");
var contact = {};
contact.firstname = "Peter";
contact.lastname = "Cambel";

var entitySetName = "/contacts";

Sdk.request("POST", entitySetName, contact)


.then(function (request) {
// Process response from previous request.
Sdk.SampleVariables.contact1Uri = request.getResponseHeader("OData-EntityId");
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.contact1Uri); // To delete later
console.log("Contact 'Peter Cambel' created with URI: %s", Sdk.SampleVariables.contact1Uri);

// Setup for next request.


//
// Update contact.
// Add property values to a specific contact using PATCH request.
var contact = {};
contact.annualincome = 80000.00;
contact.jobtitle = "Junior Developer";
return Sdk.request("PATCH", Sdk.SampleVariables.contact1Uri, contact)
})
.then(function () {
// Process response from previous request.
console.log("Contact 'Peter Cambel' updated with job title and annual income.");

// Setup for next request.


//
// Retrieve selected properties of a Contact entity using GET request.
// NOTE: It is performance best practice to select only the properties you need.

// Retrieved contact properties.


var properties = [
"fullname",
"annualincome",
"jobtitle",
"description"].join();

// NOTE: For performance best practices, use $select to limit the properties you want to return
// See also: https://msdn.microsoft.com/library/gg334767.aspx#bkmk_requestProperties
var query = "?$select=" + properties;
return Sdk.request("GET", Sdk.SampleVariables.contact1Uri + query, null);
})
.then(function (request) {
// Process response from previous request.
var contact1 = JSON.parse(request.response);
var successMsg = "Contact '%s' retrieved:\n"
+ "\tAnnual income: %s \n"
+ "\tJob title: %s \n"
+ "\tDescription: %s";
console.log(successMsg,
contact1.fullname, // This property is read-only. Calculated from firstname and lastname.
contact1.annualincome,
contact1.jobtitle,
contact1.description); // Description will be "null" because it has not been set yet.

// Setup for next request.


//
// Update properties.
// Set new values for some of the properties and apply the values to the server via PATCH request.
// Set new values for some of the properties and apply the values to the server via PATCH request.
// Notice that we are updating the jobtitle and annualincome properties and adding value to the
// description property in the same request.
var contact = {};
contact.jobtitle = "Senior Developer";
contact.annualincome = 95000.00;
contact.description = "Assignment to-be-determined. ";
return Sdk.request("PATCH", Sdk.SampleVariables.contact1Uri, contact);
})
.then(function () {
// Process response from previous request.
console.log("Contact 'Peter Cambel' updated:\n"
+ "\tJob title: Senior Developer, \n"
+ "\tAnnual income: 95000, \n"
+ "\tDescription: Assignment to-be-determined.");

// Setup for next request.


//
// Set value for a single property using PUT request.
// In this case, we are setting the telephone1 property to "555-0105".
var value = { value: "555-0105" };
return Sdk.request("PUT", Sdk.SampleVariables.contact1Uri + "/telephone1", value);
})
.then(function () {
// Process response from previous request.
console.log("Contact 'Peter Cambel' phone number updated.");

// Setup for next request.


//
// Retrieve single value property.
// Get a value of a single property using GET request.
// In this case, telephone1 is retrieved. We should get back "555-0105".
return Sdk.request("GET", Sdk.SampleVariables.contact1Uri + "/telephone1", null);
})
.then(function (request) {
// Process response from previous request.
var phoneNumber = JSON.parse(request.response);
console.log("Contact's phone number is: %s", phoneNumber.value);
})
.then(function () {
// Setup for next request.
//The following operations require version 8.2 or higher
if (Sdk.versionManager.WebAPIMajorVersion > 8 ||
(Sdk.versionManager.WebAPIMajorVersion == 8 && Sdk.versionManager.WebAPIMinorVersion >= 2)
) {
// Starting with December 2016 update (v8.2), a contact instance can be
// created and its properties returned in one operation by using a
//'Prefer: return=representation' header.
var contactAlt = {};
contactAlt.firstname = "Peter_Alt";
contactAlt.lastname = "Cambel";
contactAlt.jobtitle = "Junior Developer";
contactAlt.annualincome = 80000;
contactAlt.telephone1 = "555-0110";
var properties = [
"fullname",
"annualincome",
"jobtitle"].join();
var query = "?$select=" + properties;
// Create contact and return its state (in the body).
var retRepHeader = { header: "Prefer", value: "return=representation" };
Sdk.request("POST", entitySetName + query, contactAlt, retRepHeader)
.then(function (request) {
var contactA = JSON.parse(request.response);
//Because 'OData-EntityId' header not returned in a 201 response, you must instead
// construct the URI.
Sdk.SampleVariables.contactAltUri = Sdk.getClientUrl() +
Sdk.versionManager.WebAPIPath +
"/contacts(" +
contactA.contactid +
contactA.contactid +
")";
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.contactAltUri);
var successMsg = "Contact '%s' created:\n"
+ "\tAnnual income: %s \n"
+ "\tJob title: %s \n";
console.log(successMsg,
contactA.fullname,
contactA.annualincome,
contactA.jobtitle);
console.log("Contact URI: %s", Sdk.SampleVariables.contactAltUri);
})
.then(function () {
// Setup for next request.
//Similarly, the December 2016 update (v8.2) also enables returning selected properties
//after an update operation (PATCH), with the 'Prefer: return=representation' header.
var contactAlt = {};
contactAlt.jobtitle = "Senior Developer";
contactAlt.annualincome = 95000;
contactAlt.description = "MS Azure and Common Data Service Specialist";
var properties = [
"fullname",
"annualincome",
"jobtitle",
"description"].join();
var query = "?$select=" + properties;
// Update contact and return its state (in the body).
var retRepHeader = { header: "Prefer", value: "return=representation" };
return Sdk.request("PATCH", Sdk.SampleVariables.contactAltUri + query, contactAlt, retRepHeader);
})
.then(function (request) {
// Process response from previous request.
var contactA = JSON.parse(request.response);
var successMsg = "Contact '%s' updated:\n"
+ "\tAnnual income: %s \n"
+ "\tJob title: %s \n";
console.log(successMsg,
contactA.fullname,
contactA.annualincome,
contactA.jobtitle);
//End this series of operations:
resolve();
})
.catch(function (err) {
reject(err);
});
}
else {
resolve();
}
})
.catch(function (err) {
reject(err);
});
});
};

Sdk.createWithAssociationAsync = function () {
return new Promise(function (resolve, reject) {
// Section 2.
//
// Create a new account entity and associate it with an existing contact using POST request.
console.log("\n--Section 2 started--");
var account = {};
account.name = "Contoso, Ltd.";
account.telephone1 = "555-5555";
account["primarycontactid@odata.bind"] = Sdk.SampleVariables.contact1Uri; //relative URI ok. E.g.:
"/contacts(###)".
var entitySetName = "/accounts";

Sdk.request("POST", entitySetName, account)


.then(function (request) {
// Process response from previous request.
Sdk.SampleVariables.account1Uri = request.getResponseHeader("OData-EntityId");
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.account1Uri);
console.log("Account 'Contoso, Ltd.' created.");

// Setup for next request.


//
// Retrieve account's primary contact with selected properties using GET request and 'expand' query.
var contactProperties = [
"fullname",
"jobtitle",
"annualincome"
].join();
var query = "?$select=name,telephone1&$expand=primarycontactid($select=" + contactProperties + ")";
return Sdk.request("GET", Sdk.SampleVariables.account1Uri + query, null);
})
.then(function (request) {
// Process response from previous request.
var account1 = JSON.parse(request.response);
var successMsg = "Account '%s' has primary contact '%s': \n"
+ "\tJob title: %s \n"
+ "\tAnnual income: %s ";
console.log(successMsg,
account1.name,
account1.primarycontactid.fullname,
account1.primarycontactid.jobtitle,
account1.primarycontactid.annualincome);
//End this series of operations:
resolve();
})
.catch(function (err) {
reject(err);
});
});
};

Sdk.createRelatedAsync = function () {
return new Promise(function (resolve, reject) {

// Section 3.
//
// Create related entities (deep insert).
// Create the following entities in one operation using deep insert technique:
// account
// |--- contact
// |--- tasks
// Then retrieve properties of these entities
//
// Constructing the entity relationship.
console.log("\n--Section 3 started--");
var account = {};
account.name = "Fourth Coffee";
account.primarycontactid = {
firstname: "Susie",
lastname: "Curtis",
jobtitle: "Coffee Master",
annualincome: 48000.00,
Contact_Tasks: [
{
subject: "Sign invoice",
description: "Invoice #12321",
scheduledend: new Date("April 19th, 2016")
},
{
subject: "Setup new display",
description: "Theme is - Spring is in the air",
scheduledstart: new Date("4/20/2016")
},
{
subject: "Conduct training",
description: "Train team on making our new blended coffee",
scheduledstart: new Date("6/1/2016")
}
]
};

var entitySetName = "/accounts";


Sdk.request("POST", entitySetName, account)
.then(function (request) {
// Process response from previous request.
Sdk.SampleVariables.account2Uri = request.getResponseHeader("OData-EntityId");
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.account2Uri);
console.log("Account 'Fourth Coffee' created.");

// Setup for next request.


//
// Retrieve account entity info using GET request and 'expand' query.
var contactProperties = [
"fullname",
"jobtitle",
"annualincome"].join();

// Expand on primarycontactid to select some of contact's properties.


// NOTE: With $expand, the CRM server will return values for the selected properties.
// The CRM Web API only supports expansions one level deep.
// See also: https://msdn.microsoft.com/library/mt607871.aspx#bkmk_expandRelated
var query = "?$select=name&$expand=primarycontactid($select=" + contactProperties + ")";
return Sdk.request("GET", Sdk.SampleVariables.account2Uri + query, null);
})
.then(function (request) {
// Process response from previous request.
var account2 = JSON.parse(request.response);
var successMsg = "Account '%s' has primary contact '%s':\n"
+ "\tJob title: %s \n"
+ "\tAnnual income: %s";
console.log(successMsg,
account2.name,
account2.primarycontactid.fullname,
account2.primarycontactid.jobtitle,
account2.primarycontactid.annualincome);

// Setup for next request.


//
// Retrieve contact entity and expanding on its tasks using GET request.
Sdk.SampleVariables.contact2Uri = Sdk.getClientUrl() + Sdk.versionManager.WebAPIPath + "/contacts(" +
account2.primarycontactid.contactid + ")"; //Full URI.
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.contact2Uri); // For Susie Curtis
var contactProperties = ["fullname", "jobtitle"].join();
var contactTaskProperties = ["subject", "description", "scheduledstart", "scheduledend"].join();

// Expand on contact_tasks to select some of its properties for each task.


var query = "?$select=" + contactProperties +
"&$expand=Contact_Tasks($select=" + contactTaskProperties + ")";
return Sdk.request("GET", Sdk.SampleVariables.contact2Uri + query, null);
})
.then(function (request) {
// Process response from previous request.
var contact2 = JSON.parse(request.response);
console.log("Contact '%s' has the following assigned tasks:", contact2.fullname);

// construct the output string.


var successMsg = "Subject: %s \n"
+ "\tDescription: %s \n"
+ "\tStart: %s \n"
+ "\tStart: %s \n"
+ "\tEnd: %s \n";

for (var i = 0; i < contact2.Contact_Tasks.length; i++) {


console.log(successMsg,
contact2.Contact_Tasks[i].subject,
contact2.Contact_Tasks[i].description,
contact2.Contact_Tasks[i].scheduledstart,
contact2.Contact_Tasks[i].scheduledend
);
}

//End this series of operations:


resolve();
})
.catch(function (err) {
reject(err);
});
});
};

Sdk.associateExistingAsync = function () {
return new Promise(function (resolve, reject) {

// Section 4
//
// Entity associations:
// Associate to existing entities via the different relationship types:
// 1) 1:N relationship - Associate an existing contact to an existing account
// (e.g.: contact - Peter Cambel to account - Fourth Coffee).
// 2) N:N relationship - Associate an competitor to opportunity.

console.log("\n--Section 4 started--");
var contact = {};
contact["@odata.id"] = Sdk.SampleVariables.contact1Uri;

Sdk.request("POST", Sdk.SampleVariables.account2Uri + "/contact_customer_accounts/$ref", contact)


.then(function () {
// Process response from previous request.
console.log("Contact 'Peter Cambel' associated to account 'Fourth Coffee'.");

// Setup for next request.


//
// Verify that the reference was made as expected.
var contactProperties = ["fullname", "jobtitle"].join();

// This returns a collection of all associated contacts...in a "value" array.


var query = "/contact_customer_accounts?$select=" + contactProperties;
return Sdk.request("GET", Sdk.SampleVariables.account2Uri + query, null);
})
.then(function (request) {
// Process response from previous request.
var relatedContacts = JSON.parse(request.response).value; //collection is in the "value" array.
var successMsg = "\tName: %s, "
+ "Job title: %s ";

console.log("Contact list for account 'Fourth Coffee': ");

for (var i = 0; i < relatedContacts.length; i++) {


console.log(successMsg,
relatedContacts[i].fullname,
relatedContacts[i].jobtitle
);
}

// Setup for next request.


//
// Disassociate a contact from an account.
return Sdk.request("DELETE", Sdk.SampleVariables.account2Uri + "/contact_customer_accounts/$ref?$id=" +
Sdk.SampleVariables.contact1Uri, null);
Sdk.SampleVariables.contact1Uri, null);
})
.then(function () {
// Process response from previous request.
console.log("Contact 'Peter Cambel' disassociated from account 'Fourth Coffee'.");

// Setup for next request.


//
// N:N relationship:
// Associate a competitor to an opportunity.
var competitor = {};
competitor.name = "Adventure Works";
competitor.strengths = "Strong promoter of private tours for multi-day outdoor adventures.";

var entitySetName = "/competitors";


return Sdk.request("POST", entitySetName, competitor);
})
.then(function (request) {
// Process response from previous request.
Sdk.SampleVariables.competitor1Uri = request.getResponseHeader("OData-EntityId");
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.competitor1Uri);
console.log("Competitor 'Adventure Works' created.");

// Setup for next request.


//
// Create a new opportunity...
var opportunity = {};
opportunity.name = "River rafting adventure";
opportunity.description = "Sales team on a river-rafting offsite and team building.";
var entitySetName = "/opportunities";
return Sdk.request("POST", entitySetName, opportunity);
})
.then(function (request) {
// Process response from previous request.
Sdk.SampleVariables.opportunity1Uri = request.getResponseHeader("OData-EntityId");
Sdk.SampleVariables.entitiesToDelete.push(Sdk.SampleVariables.opportunity1Uri);
console.log("Opportunity 'River rafting adventure' created.");

// Setup for next request.


//
// Associate competitor to opportunity.
var competitor = {};
competitor["@odata.id"] = Sdk.SampleVariables.competitor1Uri;
return Sdk.request("POST", Sdk.SampleVariables.opportunity1Uri + "/opportunitycompetitors_association/$ref",
competitor);
})
.then(function () {
// Process response from previous request.
console.log("Opportunity 'River rafting adventure' associated with competitor 'Adventure Works'.");

// Setup for next request.


//
// Retrieve competitor entity and expanding on its opportunitycompetitors_association
// for all opportunities, using GET request.
var opportunityProperties = ["name", "description"].join();
var competitorProperties = ["name"].join();
var query = "?$select=" + competitorProperties +
"&$expand=opportunitycompetitors_association($select=" + opportunityProperties + ")";
return Sdk.request("GET", Sdk.SampleVariables.competitor1Uri + query, null);
})
.then(function (request) {
// Process response from previous request.
var competitor1 = JSON.parse(request.response);
console.log("Competitor '%s' has the following opportunities:", competitor1.name);
var successMsg = "\tName: %s, \n"
+ "\tDescription: %s";
for (var i = 0; i < competitor1.opportunitycompetitors_association.length; i++) {
console.log(successMsg,
competitor1.opportunitycompetitors_association[i].name,
competitor1.opportunitycompetitors_association[i].description
competitor1.opportunitycompetitors_association[i].description
);
}

// Setup for next request.


//
// Disassociate competitor from opportunity.
return Sdk.request("DELETE", Sdk.SampleVariables.opportunity1Uri +
"/opportunitycompetitors_association/$ref?$id=" + Sdk.SampleVariables.competitor1Uri, null);
})
.then(function () {
// Process response from previous request.
console.log("Opportunity 'River rafting adventure' disassociated with competitor 'Adventure Works'");
//End this series of operations:
resolve();
})
.catch(function (err) {
reject(err);
});
});
};

Sdk.deleteSampleData = function () {
return new Promise(function (resolve, reject) {

// House cleaning - deleting sample data


// NOTE: If instances have a parent-child relationship, then deleting the parent will,
// by default, automatically cascade delete child instances. In this program,
// tasks related using the Contact_Tasks relationship have contact as their parent.
// Other relationships may behave differently.
// See also: https://msdn.microsoft.com/library/gg309412.aspx#BKMK_CascadingBehavior
console.log("\n--Section 5 started--");
if (Sdk.SampleVariables.deleteData) {
for (var i = 0; i < Sdk.SampleVariables.entitiesToDelete.length; i++) {
console.log("Deleting entity: " + Sdk.SampleVariables.entitiesToDelete[i]);
Sdk.request("DELETE", Sdk.SampleVariables.entitiesToDelete[i], null)
.catch(function (err) {
reject(new Error("ERROR: Delete failed --Reason: \n\t" + err.message))
});
}
resolve();
} else {
console.log("Sample data not deleted.");
resolve();
}

});
};

See also
Use the Common Data Service Web API
Create an entity using the Web API
Retrieve an entity using the Web API
Update and delete entities using the Web API
Web API Samples
Web API Basic Operations Sample
Web API Basic Operations Sample (C#)
Web API Samples (Client-side JavaScript)
Web API Query Data Sample (Client-side JavaScript)
Web API Conditional Operations Sample (Client-side JavaScript)
Web API Functions and Actions Sample (Client-side JavaScript)
Web API Query Data Sample (Client-side JavaScript)
6/28/2019 • 19 minutes to read • Edit Online

This sample demonstrates how to perform basic query requests using the Common Data Service Web API using
client-side JavaScript

NOTE
This sample implements the operations detailed in the Web API Query Data Sample and uses the common client-side
JavaScript constructs described in Web API Samples (Client-side JavaScript)

Prerequisites
To run this sample, the following is required:
Access to Common Data Service environment.
A user account with privileges to import solutions and perform CRUD operations, typically a system
administrator or system customizer security role.

Run this sample


To run this sample, go to Microsoft CRM Web API Query Data Sample (Client-side JavaScript) and download the
sample archive file: Microsoft CRM Web API Query Data Sample (Client-side JavaScript).zip. Extract the contents
of the sample archieve and locate the WebAPIQueryData_1_0_0_0_managed.zip managed solution file. Import the
managed solution into your Common Data Service organization and run the sample. For instructions on how to
import the sample solution, see Web API Samples (Client-side JavaScript).

Code sample
This sample includes two web resources:
WebAPIQuery.html
WebAPIQuery.js
WebAPIQuery.html
The WebAPIQuery.html web resource provides the context in which the JavaScript code will run.
<!DOCTYPE html>
<html>
<head>
<title>Microsoft CRM Web API Query Example</title>
<meta charset="utf-8" />
<script src="../ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script src="scripts/es6promise.js"></script>
<script src="scripts/WebAPIQuery.js"></script>

<style type="text/css">
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#preferences {
border: inset;
padding: 10px 10px;
}

#output_area {
border: inset;
background-color: gainsboro;
padding: 10px 10px;
}
</style>
</head>
<body>
<h1>Microsoft CRM Web API Query Example</h1>
<p>This page demonstrates the CRM Web API's Query operations using JavaScript.</p>

<h2>Instructions</h2>
<p>Choose your preferences and run the JavaScript code.
Use your browser's developer tools to view the output written to the console (e.g.: in IE 11 or Microsoft
Edge,
press F12 to load the Developer Tools).</p>
<form id="preferences">
<p>
Remove sample data (Choose whether you want to delete sample data created during this execution):
<br />
<input name="removesampledata" type="radio" value="yes" checked /> Yes
<input name="removesampledata" type="radio" value="no" /> No
</p>
<input type="button" name="start_samples" value="Start Sample" onclick="Sdk.startSample()" />
</form>

</body>
</html>

WebAPIQuery.js
The WebAPIQuery.js web resource is the JavaScript library that defines the operations this sample performs.

"use strict";
var Sdk = window.Sdk || {};
/**
* @function getClientUrl
* @description Get the client URL.
* @returns {string} The client URL.
*/
Sdk.getClientUrl = function () {
var context;
// GetGlobalContext defined by including reference to
// ClientGlobalContext.js.aspx in the HTML page.
if (typeof GetGlobalContext != "undefined")
{ context = GetGlobalContext(); }
else
{
{
if (typeof Xrm != "undefined") {
// Xrm.Page.context defined within the Xrm.Page object model for form scripts.
context = Xrm.Page.context;
}
else { throw new Error("Context is not available."); }
}
return context.getClientUrl();
}

// Global variables.
var entitiesToDelete = []; // Entity URIs to be deleted (if user chooses to delete sample data)
var deleteData = true; // Delete data by default unless user chooses not to delete.
var clientUrl = Sdk.getClientUrl(); // e.g.: https://org.crm.dynamics.com
var webAPIPath = "/api/data/v8.1"; // Path to the web API.
var account1Uri; // e.g.: Contoso Inc (sample)
var contact1Uri; // e.g.: Yvonne McKey (sample)
var page2Uri; // URI of next page in pagination sample.

// Entity properties to select in a request.


var contactProperties = ["fullname", "jobtitle", "annualincome"];
var accountProperties = ["name"];
var taskProperties = ["subject", "description"];

/**
* @function request
* @description Generic helper function to handle basic XMLHttpRequest calls.
* @param {string} action - The request action. String is case-sensitive.
* @param {string} uri - An absolute or relative URI. Relative URI starts with a "/".
* @param {object} data - An object representing an entity. Required for create and update action.
* @param {boolean} formattedValue - If "true" then include formatted value; "false" otherwise.
* For more info on formatted value, see:
* https://msdn.microsoft.com/library/gg334767.aspx#bkmk_includeFormattedValues
* @param {number} maxPageSize - Indicate the page size. Default is 10 if not defined.
* @returns {Promise} - A Promise that returns either the request object or an error object.
*/
Sdk.request = function (action, uri, data, formattedValue, maxPageSize) {
if (!RegExp(action, "g").test("POST PATCH PUT GET DELETE")) { // Expected action verbs.
throw new Error("Sdk.request: action parameter must be one of the following: " +
"POST, PATCH, PUT, GET, or DELETE.");
}
if (!typeof uri === "string") {
throw new Error("Sdk.request: uri parameter must be a string.");
}
if ((RegExp(action, "g").test("POST PATCH PUT")) && (data === null || data === undefined)) {
throw new Error("Sdk.request: data parameter must not be null for operations that create or modify
data.");
}
if (maxPageSize === null || maxPageSize === undefined) {
maxPageSize = 10; // Default limit is 10 entities per page.
}

// Construct a fully qualified URI if a relative URI is passed in.


if (uri.charAt(0) === "/") {
uri = clientUrl + webAPIPath + uri;
}

return new Promise(function (resolve, reject) {


var request = new XMLHttpRequest();
request.open(action, encodeURI(uri), true);
request.setRequestHeader("OData-MaxVersion", "4.0");
request.setRequestHeader("OData-Version", "4.0");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
request.setRequestHeader("Prefer", "odata.maxpagesize=" + maxPageSize);
if (formattedValue) {
request.setRequestHeader("Prefer",
"odata.include-annotations=OData.Community.Display.V1.FormattedValue");
}
request.onreadystatechange = function () {
request.onreadystatechange = function () {
if (this.readyState === 4) {
request.onreadystatechange = null;
switch (this.status) {
case 200: // Success with content returned in response body.
case 204: // Success with no content returned in response body.
resolve(this);
break;
default: // All other statuses are unexpected so are treated like errors.
var error;
try {
error = JSON.parse(request.response).error;
} catch (e) {
error = new Error("Unexpected Error");
}
reject(error);
break;
}
}
};
request.send(JSON.stringify(data));
});
};

/**
* @funnction output
* @description Generic helper function to output data to console.
* @param {array} collection - Array of entities.
* @param {string} label - Text label for what the collection contains.
* @param {array} properties - Array of properties appropriate for the collection.
*/
Sdk.output = function (collection, label, properties) {
console.log(label);
collection.forEach(function (row, i) {
var prop = [];
properties.forEach(function (p) {
var f = p + "@OData.Community.Display.V1.FormattedValue";
prop.push((row[f] ? row[f] : row[p])); // Get formatted value if one exists for this property.
})
console.log("\t%s) %s", i + 1, prop.join(", "));
});
}

/**
* @function startSample
* @description Runs the sample.
* This sample demonstrates basic query operations.
* Results are sent to the debugger's console window.
*/
Sdk.startSample = function () {
// Initializing...
deleteData = document.getElementsByName("removesampledata")[0].checked;
entitiesToDelete = []; //Reset the array.
account1Uri = "";
contact1Uri = "";
page2Uri = "";

console.log("-- Sample started --");


console.log("Create sample data:");
// Add some data to the CRM server so we can query against it.
// Using Deep Insert, we create all the sample data in one request.
// Data structure:
// Accounts
// |--- primarycontactid
// |--- Contact_Tasks (3 tasks)
// |--- Account_Tasks (3 tasks)
// |--- contact_customer_accounts (9 child contacts, each with 3 tasks)
// |--- Contacts
// |--- Contact_Tasks
//
var sampleData = {
"name": "Contoso, Ltd. (sample)",
"primarycontactid": {
"firstname": "Yvonne", "lastname": "McKay (sample)", "jobtitle": "Coffee Master",
"annualincome": 45000, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
}, "Account_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
],
"contact_customer_accounts": [
{
"firstname": "Susanna", "lastname": "Stubberod (sample)", "jobtitle": "Senior Purchaser",
"annualincome": 52000, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Nancy", "lastname": "Anderson (sample)", "jobtitle": "Activities Manager",
"annualincome": 55500, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Maria", "lastname": "Cambell (sample)", "jobtitle": "Accounts Manager",
"annualincome": 31000, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Nancy", "lastname": "Anderson (sample)", "jobtitle": "Logistics Specialist",
"annualincome": 63500, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Scott", "lastname": "Konersmann (sample)", "jobtitle": "Accounts Manager",
"annualincome": 38000, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Robert", "lastname": "Lyon (sample)", "jobtitle": "Senior Technician",
"annualincome": 78000, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Paul", "lastname": "Cannon (sample)", "jobtitle": "Ski Instructor",
"annualincome": 68500, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Rene", "lastname": "Valdes (sample)", "jobtitle": "Data Analyst III",
"annualincome": 86000, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
},
{
"firstname": "Jim", "lastname": "Glynn (sample)", "jobtitle": "Senior International Sales
Manager",
"annualincome": 81400, "Contact_Tasks": [
{ "subject": "Task 1", "description": "Task 1 description" },
{ "subject": "Task 2", "description": "Task 2 description" },
{ "subject": "Task 3", "description": "Task 3 description" }
]
}
]
};

var uri = "/accounts"; // A relative URI to the account entity.


Sdk.request("POST", uri, sampleData) // Adding sample data so we can query against it.
.then(function (request) {
// Process request.
account1Uri = request.getResponseHeader("OData-EntityId");
entitiesToDelete.push(account1Uri); // To delete later.
console.log("Account 'Contoso, Ltd. (sample)' created with 1 primary contact and 9 associated
contacts.");

// Get primary contact info.


// Most queries are done using this contact.
var uri = account1Uri + "/primarycontactid/$ref"; // Request for the URI only.
return Sdk.request("GET", uri);
})
.then(function (request) {
contact1Uri = JSON.parse(request.response)["@odata.id"];
entitiesToDelete.push(contact1Uri); // To delete later.
console.log("Has primary contact 'Yvonne McKay (sample)' with URI: %s\n", contact1Uri);

// Basic query:
// Query using $select option against a contact entity to get the properties you want.
// For performance best practice, always use $select otherwise all properties are returned.
console.log("-- Basic Query --");
var query = "?$select=" + contactProperties.join(); // Array defined in the global scope.
return Sdk.request("GET", contact1Uri + query, null, true);
})
.then(function (request) {
var contact1 = JSON.parse(request.response);
console.log("Contact basic info:\n\tFullname: '%s'\n\tJobtitle: '%s'\n\tAnnualincome: '%s'
(unformatted)",
contact1.fullname, contact1.jobtitle, contact1.annualincome);
console.log("\tAnnualincome: %s (formatted)\n",
contact1["annualincome@OData.Community.Display.V1.FormattedValue"]);

// Filter criteria:
// Applying filters to get targeted data.
// 1) Using standard query functions (e.g.: contains, endswith, startswith)
// 2) Using CRM query functions (e.g.: LastXhours, Last7Days, Today, Between, In, ...)
// 3) Using filter operators and logical operators (e.g.: eq, ne, gt, and, or, etc…)
// 4) Set precedence using parenthesis (e.g.: ((criteria1) and (criteria2)) or (criteria3)
// For more info, see: https://msdn.microsoft.com/library/gg334767.aspx#bkmk_filter
console.log("-- Filter Criteria --");

// Filter 1: Using standard query functions to filter results.


// In this operation, we will query for all contacts with fullname containing the string "(sample)".
var filter = "&$filter=contains(fullname,'(sample)')";
var filter = "&$filter=contains(fullname,'(sample)')";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts filtered by fullname containing '(sample)':", contactProperties);

// Filter 2: Using CRM query functions to filter results.


// In this operation, we will query for all contacts that was created in the last hour.
// For complete list of CRM query functions, see:
// https://msdn.microsoft.com/library/mt607843.aspx
var filter = "&$filter=Microsoft.Dynamics.CRM.LastXHours(PropertyName='createdon',PropertyValue='1')";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true); // Remember page size limit is set to 10.
})
.then(function(request){
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts that were created within the last 1hr:", contactProperties);

// Filter 3: Using operators


// Building on the previous operation, we will further limit the results by the contact's income.
// For more info on standard filter operators, see:
// https://msdn.microsoft.com/library/gg334767.aspx#bkmk_filter
var filter = "&$filter=contains(fullname,'(sample)') and annualincome gt 55000";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts filtered by fullname and annualincome (<$55,000):",
contactProperties);

// Filter 4: Set precedence using parenthesis.


// Continue building on the previous operation, we will further limit results by job title.
// Parenthesis and the order of filter statements can impact results returned.
var filter = "&$filter=contains(fullname,'(sample)') " +
"and (contains(jobtitle,'senior') or contains(jobtitle,'specialist')) and annualincome gt 55000";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts filtered by fullname, annualincome and jobtitle (Senior or
Specialist):",
contactProperties);

// Order results:
// Filtered results can be order in descending or ascending order.
console.log("\n-- Order Results --");
var filter = "&$filter=contains(fullname,'(sample)') " +
"&$orderby=jobtitle asc, annualincome desc";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts ordered by jobtitle (Ascending) and annualincome (descending):",
contactProperties);

// Parameterized Aliases.
// Aliases can be used as parameters in a query. These parameters can be used in $filter and $orderby
options.
// Using the previous operation as basis, parameterizing the query will give us the same results.
// For more info, see: https://msdn.microsoft.com/library/gg309638.aspx#bkmk_passParametersToFunctions
console.log("\n-- Parameterized Aliases --");
var filter = "&$filter=contains(@p1,'(sample)') " +
"&$orderby=@p2 asc, @p3 desc&@p1=fullname&@p2=jobtitle&@p3=annualincome";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts list using parameterized aliases:", contactProperties);

// Limit records returned.


// To further limit the records returned, use the $top query option.
// Specifying a limit number for $top will return at most that number of results per request.
// Extra results are ignored.
console.log("\n-- Top Results --");
var filter = "&$filter=contains(fullname,'(sample)')&$top=5";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts top 5 results:", contactProperties);

// Result count.
// Count the number of results matching the filter criteria.
// 1) Get a count of a collection without the data.
// 2) Get a count along with the data.
// HINT: Use count together with the "odata.maxpagesize" to calculate the number of pages in the
query.
// NOTE: CRM has a max record limit of 5000 records per response.
console.log("\n-- Result Count --");
return Sdk.request("GET", "/contacts/$count"); // Count is returned in response body.
})
.then(function (request) {
console.log("The contacts collection has %s contacts.", request.response); // Count maximum is 5000.

// 2) Get filtered result with a count


var filter = "&$filter=contains(jobtitle,'senior') or contains(jobtitle, 'manager')&$count=true";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true);
})
.then(function (request) {
var count = JSON.parse(request.response)["@odata.count"];
console.log("%s contacts have either 'Manager' or 'Senior' designation in their jobtitle.", count);
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Manager or Senior:", contactProperties);

// Pagination:
// For large data sets, you can limit the number of records returned per page.
// Then offer a "next page" and "previous page" links for users to browse through all the data.
// NOTE: This is why you should not use $top with maxpagesize. $top will limit results returned
// preventing you from accessing all possible results in the query.
// For example: If your query has 10 entities in the result and you limit your result to $top=5
// then, you can't get to the remaining 5 results; but with "maxpagesize" (without $top), you
can.
// HINT: Save the URI of the current page so users can go "next" and "previous".
console.log("\n-- Pagination --");
var filter = "&$filter=contains(fullname,'(sample)')&$count=true";
var query = "?$select=" + contactProperties.join() + filter;
return Sdk.request("GET", "/contacts" + query, null, true, 4); // 4 records per page.
})
.then(function (request) {
var count = JSON.parse(request.response)["@odata.count"];
var maxpages = Math.ceil(count / 4);
console.log("Contacts total: %s \tContacts per page: %s.\tOutputting first 2 pages.", count, 4);
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Page 1 of " + maxpages + ":", contactProperties);

// Getting the next page.


page2Uri = JSON.parse(request.response)["@odata.nextLink"]; // This URI is already encoded.
return Sdk.request("GET", decodeURI(page2Uri), null, true, 4); // URI re-encoded in the request
function.
})
.then(function (request) {
.then(function (request) {
var count = JSON.parse(request.response)["@odata.count"];
var maxpages = Math.ceil(count / 4);
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Page 2 of " + maxpages + ":", contactProperties);

// Using expand option to retrieve additional information.


// It is common for entities to have associations with other entities in the system and you might
want
// to also retrieve this information in the same request. To retrieve information on associated
entities,
// use the $expand query option on navigation properties.
// 1) Expand using single-valued navigation properties (e.g.: via the 'primarycontactid')
// 2) Expand using partner property (e.g.: from contact to account via the 'account_primary_contact')
// 3) Expand using collection-valued navigation properties (e.g.: via the 'contact_customer_accounts')
// 4) Expand using multiple navigation property types in a single request.
// NOTE: Expansions can only go 1 level deep.
// For performance best practice, always use $select statement in an expand option.
console.log("\n-- Expanding Results --");

// 1) Expand using single-valued navigation properties (e.g.: via the 'primarycontactid')


var expand = "&$expand=primarycontactid($select=" + contactProperties.join() + ")";
var query = "?$select=" + accountProperties.join() + expand;
return Sdk.request("GET", account1Uri + query, null, true);
})
.then(function (request) {
var account = JSON.parse(request.response);
var str = "Account '%s' has the following primary contact person:\n\t" +
"Fullname: '%s' \n\tJobtitle: '%s' \n\tAnnualincome: '%s'";
console.log(str, account.name,
account.primarycontactid.fullname,
account.primarycontactid.jobtitle,
account.primarycontactid.annualincome);

// 2) Expand using partner property (e.g.: from contact to account via the 'account_primary_contact')
var expand = "&$expand=account_primary_contact($select=" + accountProperties.join() + ")";
var query = "?$select=" + contactProperties.join() + expand;
return Sdk.request("GET", contact1Uri + query, null, true);
})
.then(function (request) {
var contact = JSON.parse(request.response);
var label = "Contact '" + contact.fullname + "' is the primary contact for the following accounts:";
Sdk.output(contact.account_primary_contact, label, accountProperties);

// 3) Expand using collection-valued navigation properties (e.g.: via the 'contact_customer_accounts')


var expand = "&$expand=contact_customer_accounts($select=" + contactProperties.join() + ")"
var query = "?$select=" + accountProperties.join() + expand;
return Sdk.request("GET", account1Uri + query, null, true);
})
.then(function (request) {
var account = JSON.parse(request.response);
var label = "Account '" + account.name + "' has the following contact customers:";
var collection = account.contact_customer_accounts;
Sdk.output(collection, label, contactProperties);

// 4) Expand using multiple navigation property types in a single request.


// For example: expanding on primiarycontactid, contact_customer_accounts, and Account_Tasks.
console.log("\n-- Expanding multiple property types in one request -- ");
var expand = "&$expand=primarycontactid($select=" + contactProperties.join() + ")," +
"contact_customer_accounts($select=" + contactProperties.join() + ")," +
"Account_Tasks($select=" + taskProperties.join() + ")";
var query = "?$select=" + accountProperties.join() + expand;
return Sdk.request("GET", account1Uri + query, null, true);
})
.then(function (request) {
var account = JSON.parse(request.response);
var label = "Account '%s' has the following primary contact person:\n\t" +
"Fullname: '%s' \n\tJobtitle: '%s' \n\tAnnualincome: '%s'";
console.log(label, account.name,
account.primarycontactid.fullname,
account.primarycontactid.fullname,
account.primarycontactid.jobtitle,
account.primarycontactid.annualincome);

// Handling each collection separately.


label = "Account '" + account.name + "' has the following related contacts:";
var collection = account.contact_customer_accounts;
Sdk.output(collection, label, contactProperties);

label = "Account '" + account.name + "' has the following tasks:";


collection = account.Account_Tasks;
Sdk.output(collection, label, taskProperties);

// FetchXML
// Using FetchXML to query for all contacts whose fullname contains '(sample)'.
// NOTE: XML string must be URI encoded.
// For more information, see: https://msdn.microsoft.com/library/gg328117.aspx
console.log("\n-- FetchXML -- ");
var fetchXML = "<fetch mapping=\"logical\" output-format=\"xml-platform\" version=\"1.0\"
distinct=\"false\"> \
<entity name=\"contact\"> \
<attribute name=\"fullname\" /> \
<attribute name=\"jobtitle\" /> \
<attribute name=\"annualincome\" /> \
<order descending=\"true\" attribute=\"fullname\" /> \
<filter type=\"and\"> \
<condition value=\"%(sample)%\" attribute=\"fullname\" operator=\"like\" /> \
</filter> \
</entity> \
</fetch> ";
return Sdk.request("GET", "/contacts?fetchXml=" + encodeURIComponent(fetchXML), null, true);
})
.then(function(request){
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Contacts Fetched by fullname containing '(sample)':", contactProperties);

// FetchXML pagination.
// Noticed the attribute "page=3" and "count=4" in this XML.
// We want to retrieve entities in page 3 but limit results to only 4 entities.
// If the result return zero records for the page, that means we have reached the end of the result
set.
// For more info, see: https://msdn.microsoft.com/library/mt607533.aspx#bkmk_useFetchXML
var fetchXML = "<fetch mapping=\"logical\" output-format=\"xml-platform\" version=\"1.0\" \
distinct=\"false\" page=\"3\" count=\"4\"> \
<entity name=\"contact\"> \
<attribute name=\"fullname\" /> \
<attribute name=\"jobtitle\" /> \
<attribute name=\"annualincome\" /> \
<order descending=\"true\" attribute=\"fullname\" /> \
<filter type=\"and\"> \
<condition value=\"%(sample)%\" attribute=\"fullname\" operator=\"like\" /> \
</filter> \
</entity> \
</fetch> ";
return Sdk.request("GET", "/contacts?fetchXml=" + encodeURIComponent(fetchXML), null, true);
})
.then(function(request){
var collection = JSON.parse(request.response).value;
if (collection.length == 0) {
console.log("There are no records on this page."); // We have reached the end of our query result
set.
} else {
Sdk.output(collection, "Contacts Fetched by fullname containing '(sample)' - Page 3:",
contactProperties);
}

// Using predefined queries.


// 1) Saved query
// 2) User query
// For more info, see:
// https://msdn.microsoft.com/library/mt607533.aspx

// Saved Query
// Get the Saved Query "Active Accounts" and display results to output.
console.log("\n-- Saved Query -- ");
var filter = "&$filter=name eq 'Active Accounts'";
var query = "?$select=name,savedqueryid" + filter;
return Sdk.request("GET", "/savedqueries" + query, null, true); // Requesting for saved query GUID.
})
.then(function(request){
// Get the savedqueryid GUID and then use it to request for the entities in that query.
var activeAccount = JSON.parse(request.response).value[0]; // Get the first matched.
var savedqueryid = activeAccount.savedqueryid;

// Request for the saved query results


return Sdk.request("GET", "/accounts?savedQuery=" + savedqueryid, null, true);
})
.then (function (request){
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Saved Query (Active Accounts):", accountProperties);

// User Query
// Create a user query then get it from the server and execute that query for results.
// For more info, see: https://msdn.microsoft.com/library/gg509053.aspx
console.log("\n-- User Query -- ");
var userquery = {
"name": "My User Query",
"description": "User query to display contact info.",
"querytype": 0,
"returnedtypecode": "contact",
"fetchxml": "<fetch mapping=\"logical\" output-format=\"xml-platform\" version=\"1.0\"
distinct=\"false\"> \
<entity name=\"contact\"> \
<attribute name=\"fullname\" /> \
<attribute name=\"contactid\" /> \
<attribute name=\"jobtitle\" /> \
<attribute name=\"annualincome\" /> \
<order descending=\"false\" attribute=\"fullname\" /> \
<filter type=\"and\"> \
<condition value=\"%(sample)%\" attribute=\"fullname\" operator=\"like\" /> \
<condition value=\"%Manager%\" attribute=\"jobtitle\" operator=\"like\" /> \
<condition value=\"55000\" attribute=\"annualincome\" operator=\"gt\" /> \
</filter> \
</entity> \
</fetch> "
};

return Sdk.request("POST", "/userqueries", userquery, true); // Create the user query.


})
.then(function (request){
// Look up the user query we just created
// then use it to request for the entities in that query.
var filter = "&$filter=name eq 'My User Query'";
var query = "?$select=name,userqueryid," + filter;
return Sdk.request("GET", "/userqueries" + query, null, true);
})
.then(function (request) {
var userQuery = JSON.parse(request.response).value[0]; // Get the first matched.
var userqueryid = userQuery.userqueryid;
entitiesToDelete.push(clientUrl + webAPIPath + "/userqueries(" + userqueryid + ")");

// Request for the user query results


return Sdk.request("GET", "/contacts?userQuery=" + userqueryid, null, true);
})
.then(function (request) {
var collection = JSON.parse(request.response).value;
Sdk.output(collection, "Saved User Query:", contactProperties);
// House cleaning - deleting sample data
// For more info on cascading delete, see:
// https://msdn.microsoft.com/library/gg309412.aspx#BKMK_CascadingBehavior
console.log("\n-- Deleting Sample Data --");
if (deleteData) {
for (var i = 0; i < entitiesToDelete.length; i++) {
console.log("Deleting entity: " + entitiesToDelete[i]);
Sdk.request("DELETE", entitiesToDelete[i], null)
.catch(function (err) {
console.log("ERROR: Delete failed --Reason: \n\t" + err.message);
});
}
} else {
console.log("Sample data not deleted.");
}
})
.catch(function (error) {
console.log(error.message);
});

See also
Use the Common Data Service Web API
Query Data using the Web API
Web API Samples
Web API Query Data Sample
Web API Query Data Sample (C#)
Web API Samples (Client-side JavaScript)
Web API Basic Operations Sample (Client-side JavaScript)
Web API Conditional Operations Sample (Client-side JavaScript)
Web API Functions and Actions Sample (Client-side JavaScript)
Web API Conditional Operations Sample (Client-side
JavaScript)
4/23/2019 • 8 minutes to read • Edit Online

This sample demonstrates how to perform conditional operations using Common Data Service Web API using
client-side JavaScript.

NOTE
This sample implements the operations detailed in the Web API Conditional Operations Sample and uses the common
client-side JavaScript constructs described in Web API Samples (Client-side JavaScript)

Prerequisites
To run this sample, the following is required:
Access to Common Data Service online version 8.0 or higher.
A user account with privileges to import solutions and perform CRUD operations, typically a system
administrator or system customizer security role.

Run this sample


To run this sample, go to Microsoft CRM Web API Conditional Operations Sample (Client-side JavaScript) and
download the Microsoft CRM Web API Conditional Operations Sample (Client-side JavaScript).zip sample file.
Extract the contents and locate the WebAPIConditionalOperations_1_0_0_0_managed.zip managed solution.
Import the managed solution into your Common Data Service organization and view the solution configuration
page to run the sample. For instructions on how to import the sample solution, see Web API Samples (Client-side
JavaScript).

Code sample
This sample includes two web resources:
WebAPIConditionalOperations.html
WebAPIConditionalOperations.js
WebAPIConditionalOperations.html
The WebAPIConditionalOperations.html web resource provides the context in which the JavaScript code will run.
<!DOCTYPE html>
<html>
<head>
<title>Microsoft CRM Web API Conditional Operations Example</title>
<meta charset="utf-8" />
<script src="../ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script src="scripts/es6promise.js"></script>
<script src="scripts/WebAPIConditionalOperations.js"></script>

<style type="text/css">
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
</style>
</head>
<body>
<h1>Microsoft CRM Web API Conditional Operations Example</h1>
<p>This page demonstrates the CRM Web API's Conditional Operations using JavaScript.</p>

<h2>Instructions</h2>
<p>
Choose your preferences and run the JavaScript code.
Use your browser's developer tools to view the output written to the console (e.g.: in IE11 or Microsoft
Edge,
press F12 to load the Developer Tools).
</p>
<form id="preferences">
<p>This sample deletes the single record it creates.</p>
<input type="button" name="start_samples" value="Start Sample" onclick="Sdk.startSample()" />
</form>
</body>
</html>

WebAPIConditionalOperations.js
The WebAPIConditionalOperations.js web resource is the JavaScript library that defines the operations this
sample performs.

"use strict";
var Sdk = window.Sdk || {};
/**
* @function getClientUrl
* @description Get the client URL.
* @return {string} The client URL.
*/
Sdk.getClientUrl = function () {
var context;
// GetGlobalContext defined by including reference to
// ClientGlobalContext.js.aspx in the HTML page.
if (typeof GetGlobalContext != "undefined")
{ context = GetGlobalContext(); }
else
{
if (typeof Xrm != "undefined") {
// Xrm.Page.context defined within the Xrm.Page object model for form scripts.
context = Xrm.Page.context;
}
else { throw new Error("Context is not available."); }
}
return context.getClientUrl();
}

// Global variables.
var clientUrl = Sdk.getClientUrl(); // e.g.: https://org.crm.dynamics.com
var webAPIPath = "/api/data/v8.1"; // Path to the web API.
var account1Uri; // e.g.: Contoso Ltd (sample)
var initialAcctETagVal; // The initial ETag value of the account created
var updatedAcctETagVal; // The ETag value of the account after it is updated

// Entity properties to select in a request.


var contactProperties = ["fullname", "jobtitle", "annualincome"];
var accountProperties = ["name"];
var taskProperties = ["subject", "description"];

/**
* @function request
* @description Generic helper function to handle basic XMLHttpRequest calls.
* @param {string} action - The request action. String is case-sensitive.
* @param {string} uri - An absolute or relative URI. Relative URI starts with a "/".
* @param {object} data - An object representing an entity. Required for create and update actions.
* @param {object} addHeader - An object with header and value properties to add to the request
* @returns {Promise} - A Promise that returns either the request object or an error object.
*/
Sdk.request = function (action, uri, data, addHeader) {
if (!RegExp(action, "g").test("POST PATCH PUT GET DELETE")) { // Expected action verbs.
throw new Error("Sdk.request: action parameter must be one of the following: " +
"POST, PATCH, PUT, GET, or DELETE.");
}
if (!typeof uri === "string") {
throw new Error("Sdk.request: uri parameter must be a string.");
}
if ((RegExp(action, "g").test("POST PATCH PUT")) && (!data)) {
throw new Error("Sdk.request: data parameter must not be null for operations that create or modify data.");
}
if (addHeader) {
if (typeof addHeader.header != "string" || typeof addHeader.value != "string") {
throw new Error("Sdk.request: addHeader parameter must have header and value properties that are
strings.");
}
}

// Construct a fully qualified URI if a relative URI is passed in.


if (uri.charAt(0) === "/") {
uri = clientUrl + webAPIPath + uri;
}

return new Promise(function (resolve, reject) {


var request = new XMLHttpRequest();
request.open(action, encodeURI(uri), true);
request.setRequestHeader("OData-MaxVersion", "4.0");
request.setRequestHeader("OData-Version", "4.0");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
if (addHeader) {
request.setRequestHeader(addHeader.header, addHeader.value);
}
request.onreadystatechange = function () {
if (this.readyState === 4) {
request.onreadystatechange = null;
switch (this.status) {
case 200: // Success with content returned in response body.
case 204: // Success with no content returned in response body.
case 304: // Success with Not Modified.
resolve(this);
break;
default: // All other statuses are error cases.
var error;
try {
error = JSON.parse(request.response).error;
} catch (e) {
error = new Error("Unexpected Error");
}
reject(error);
break;
break;
}
}
};
request.send(JSON.stringify(data));
});
};

/**
* @function startSample
* @description Runs the sample.
* This sample demonstrates conditional operations using CRM Web API.
* Results are sent to the debugger's console window.
*/
Sdk.startSample = function () {
// Initializing...
console.log("-- Sample started --");

// Create the CRM account instance.


var account = {
name: "Contoso, Ltd",
telephone1: "555-0000",// Phone number value will increment with each update attempt.
revenue: 5000000,
description: "Parent company of Contoso Pharmaceuticals, etc."
};

var uri = "/accounts"; // A relative URi to the account entity.


Sdk.request("POST", uri, account)
.then( function (request) {
console.log("Account entity created.");
// Assign the Uri to the created account to a global variable.
account1Uri = request.getResponseHeader("OData-EntityId");

// Retrieve the created account entity.


return Sdk.request("GET", account1Uri + "?$select=name,revenue,telephone1,description");
})
.then( function (request) {
// Show the current entity properties.
var account = JSON.parse(request.response);
console.log(JSON.stringify(account, null, 2));

initialAcctETagVal = account["@odata.etag"]; // Save the current ETag value.

// Conditional Get START.


// Attempt to retrieve using conditional GET with current ETag value.
// Expecting nothing in the response because entity was not modified.
console.log("-- Conditional GET section started --");
var ifNoneMatchETag = { header: "If-None-Match", value: initialAcctETagVal };
return Sdk.request("GET", account1Uri + "?$select=name,revenue,telephone1,description", null,
ifNoneMatchETag);
})
.then( function (request) {
console.log("Instance retrieved using ETag: %s", initialAcctETagVal);
if (request.status == 304) {
//Expected:
console.log("\tEntity was not modified so nothing was returned.")
console.log(request.response); //Nothing
}
else {
//Not Expected:
console.log(JSON.stringify(JSON.parse(request.response), null, 2));
}

// Modify the account instance by updating telephone1.


// This request operation will also update the ETag value.
return Sdk.request("PUT", account1Uri + "/telephone1", { value: "555-0001" })
} )
.then( function (request) {
console.log("Account telephone number updated.");
// Re-attempt conditional GET with original ETag value.
var ifNoneMatchETag = { header: "If-None-Match", value: initialAcctETagVal };
return Sdk.request("GET", account1Uri + "?$select=name,revenue,telephone1,description", null,
ifNoneMatchETag);
} )
.then( function (request) {
if (request.status == 200) {
// Expected.
console.log("Instance retrieved using ETag: %s", initialAcctETagVal);
var account = JSON.parse(request.response);
updatedAcctETagVal = account["@odata.etag"]; //Capture updated ETag.
console.log(JSON.stringify(account, null, 2));
}
else {
// Not Expected.
console.log("Unexpected status: %s", request.status)
}
// Conditional Get END.

// Optimistic concurrency on delete and update START.


console.log("-- Optimistic concurrency section started --");
// Attempt to delete original account (only if matches original ETag value).
var ifMatchETag = { header: "If-Match", value: initialAcctETagVal };
return Sdk.request("DELETE", account1Uri, null, ifMatchETag);
} )
.then( function (request) {
// Success not expected.
console.log("Unexpected status: %s", request.status)
},
// Catch error.
function (error) {
// DELETE: Precondition failed error expected.
console.log("Expected Error: %s", error.message);
console.log("\tAccount not deleted using ETag '%s', status code: '%s'.", initialAcctETagVal, 412)

// Attempt to update account (if matches original ETag value).


var accountUpdate = {
telephone1: "555-0002",
revenue: 6000000
};
var ifMatchETag = { header: "If-Match", value: initialAcctETagVal };
return Sdk.request("PATCH", account1Uri, accountUpdate, ifMatchETag);
})
.then( function (request) {
// Success not expected.
console.log("Unexpected status: %s", request.status);
},
// Catch error.
function (error) {
// UPDATE: Precondition failed error expected.
console.log("Expected Error: %s", error.message);
console.log("\tAccount not updated using ETag '%s', status code: '%s'.", initialAcctETagVal, 412)

// Re-attempt update if matches current ETag value.


var accountUpdate = {
telephone1: "555-0003",
revenue: 6000000
};
var ifMatchETag = { header: "If-Match", value: updatedAcctETagVal };
return Sdk.request("PATCH", account1Uri, accountUpdate, ifMatchETag);
} )
.then( function (request) {
if (request.status == 204) //No Content
{
// Expected.
console.log("Account successfully updated using ETag '%s', status code: '%s'.",
updatedAcctETagVal,
request.status)
}
}
else {
// Not Expected.
console.log("Unexpected status: %s", request.status)
}
// Retrieve and output current account state.
return Sdk.request("GET", account1Uri + "?$select=name,revenue,telephone1,description");
} )
.then( function (request) {
var account = JSON.parse(request.response);
updatedAcctETagVal = account["@odata.etag"]; // Capture updated ETag.
console.log(JSON.stringify(account, null, 2));
// Optimistic concurrency on delete and update END.

// Controlling upsert operations START.


console.log("-- Controlling upsert operations section started --");

// Attempt to insert (without update) some properties for this account.


var accountUpsert = {
telephone1: "555-0004",
revenue: 7500000
};
var ifNoneMatchResource = { header: "If-None-Match", value: "*" };
return Sdk.request("PATCH", account1Uri, accountUpsert, ifNoneMatchResource);
} )
.then( function (request) {
// Success not expected.
console.log("Unexpected status: %s", request.status);
},
// Catch error.
function (error) {
// Precondition failed error expected.
console.log("Expected Error: %s", error.message);
console.log("\tAccount not updated using ETag '%s', status code: '%s'.", initialAcctETagVal, 412)

// Attempt to perform same update without creation.


var accountUpsert = {
telephone1: "555-0005",
revenue: 7500000
};
// Perform operation only if matching resource exists.
var ifMatchResource = { header: "If-Match", value: "*" };
return Sdk.request("PATCH", account1Uri, accountUpsert, ifMatchResource);
} )
.then( function (request) {
if (request.status == 204) // No Content.
{
// Expected.
console.log("Account updated using If-Match '*'")
}
else {
// Not Expected.
console.log("Unexpected status: %s", request.status)
}

// Retrieve and output current account state.


return Sdk.request("GET", account1Uri + "?$select=name,revenue,telephone1,description");
})
.then( function (request) {
var account = JSON.parse(request.response);
updatedAcctETagVal = account["@odata.etag"]; // Capture updated ETag.
console.log(JSON.stringify(account, null, 2));

// Controlling upsert operations END.

// Prevent update of deleted entity START.


// Delete the account.
return Sdk.request("DELETE", account1Uri);
}
)
)
.then(
function (request) {
if (request.status == 204) {
console.log("Account was deleted");

// Attempt to update it.


var accountUpsert = {
telephone1: "555-0005",
revenue: 7500000
};
// Perform operation only if matching resource exists.
var ifMatchResource = { header: "If-Match", value: "*" };
return Sdk.request("PATCH", account1Uri, accountUpsert, ifMatchResource);
}
} )
.then( function (request) {
// Success not expected.
// Without the If-Match header while using PATCH a new entity would have been created with the
// same ID as the deleted entity.
console.log("Unexpected status: %s", request.status);

},
// Catch error.
function (error) {
// Not found error expected.
console.log("Expected Error: %s", error.message);
console.log("\tAccount not updated because it doesn't exist.");
}

)
.catch(function (error) {
console.log(error.message);
});
}

See also
Use the Common Data Service Web API
Perform conditional operations using the Web API
Web API Samples
Web API Conditional Operations Sample
Web API Conditional Operations Sample (C#)
Web API Samples (Client-side JavaScript)
Web API Basic Operations Sample (Client-side JavaScript)
Web API Query Data Sample (Client-side JavaScript)
Web API Functions and Actions Sample (Client-side JavaScript)
Web API Functions and Actions Sample (Client-side
JavaScript)
6/28/2019 • 15 minutes to read • Edit Online

This sample demonstrates how to perform bound and unbound functions and actions, including custom actions,
using the Common Data Service Web API using client-side JavaScript.

NOTE
This sample implements the operations detailed in the Web API Functions and Actions Sample and uses the common client-
side JavaScript constructs described in Web API Samples (Client-side JavaScript)

In this section
Prerequisites
Run this sample
Code sample

Prerequisites
To run this sample, the following is required:
Access to Common Data Service online or on-premises version 8.0 or higher.
A user account with privileges to import solutions and perform CRUD operations, typically a system
administrator or system customizer security role.

Run this sample


To run this sample, go to Microsoft CRM Web API Functions and Actions Sample (Client-side JavaScript) and
download the Microsoft CRM Web API Functions and Actions Sample (Client-side JavaScript).zip sample file.
Extract the contents and locate the WebAPIFunctionsandActions_1_0_0_0_managed.zip managed solution file.
Import the managed solution into your Common Data Service organization and view the configuration page of
the solution to run the sample. For instructions on how to import the sample solution, see Web API Samples
(Client-side JavaScript).

Code sample
This sample includes two web resources:
WebAPIFunctionsAndActions.html
WebAPIFunctionsAndActions.js
WebAPIFunctionsAndActions.html
The WebAPIFunctionsAndActions.html web resource provides the context in which the JavaScript code will run.
<!DOCTYPE html>
<html>
<head>
<title>Microsoft CRM Web API Functions and Actions Example</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<script src="../ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script src="scripts/es6promise.js"></script>
<script src="scripts/WebAPIFunctionsAndActions.js"></script>

<style type="text/css">
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#preferences {
border: inset;
padding: 10px 10px;
}

#output_area {
border: inset;
background-color: gainsboro;
padding: 10px 10px;
}
</style>
</head>
<body>
<h1>Microsoft CRM Web API Functions and Actions Example</h1>
<p>This page demonstrates the CRM Web API's Functions and Actions using JavaScript.</p>

<h2>Instructions</h2>
<p>
Choose your preferences and run the JavaScript code.
Use your browser's developer tools to view the output written to the console (e.g.: in IE11 or Microsoft
Edge,
press F12 to load the Developer Tools).
</p>
<form id="preferences">
<p>
Remove sample data (Choose whether you want to delete sample data created for this sample):<br />
<input name="removesampledata" type="radio" value="yes" checked /> Yes
<input name="removesampledata" type="radio" value="no" /> No
</p>
<input type="button" name="start_samples" value="Start Samples" onclick="Sdk.startSample()" />
</form>

</body>
</html>

WebAPIFunctionsAndActions.js
The WebAPIFunctionsAndActions.js web resource is the JavaScript library that defines the operations this sample
performs.

"use strict";
var Sdk = window.Sdk || {};

/**
* @function getClientUrl
* @description Get the client URL.
* @return {string} The client URL.
*/
Sdk.getClientUrl = function () {
var context;
// GetGlobalContext defined by including reference to
// ClientGlobalContext.js.aspx in the HTML page.
if (typeof GetGlobalContext != "undefined") {
context = GetGlobalContext();
} else {
if (typeof Xrm != "undefined") {
// Xrm.Page.context defined within the Xrm.Page object model for form scripts.
context = Xrm.Page.context;
} else {
throw new Error("Context is not available.");
}
}
return context.getClientUrl();
};

// Global variables
var entitiesToDelete = []; // Entity URIs to be deleted later
// (if user chooses to delete sample data).
var deleteData = true; // Controls whether sample data are deleted at the end of this sample
run.
var clientUrl = Sdk.getClientUrl(); // ie.: https://org.crm.dynamics.com
var webAPIPath = "/api/data/v8.1"; // Path to the web API.
var incidentUri; // Incident created with three closed tasks.
var opportunityUri; // Closed opportunity to re-open before deleting.
var letterUri; // Letter to add to contact's queue.
var myQueueUri; // The contact's queue uri.
var contactUri; // Add a note to this contact.
var CUSTOMERACCOUNTNAME = "Account Customer Created in WebAPIFunctionsAndActions sample"; // For custom
action.

/**
* @function getWebAPIPath
* @description Get the full path to the Web API.
* @return {string} The full URL of the Web API.
*/
Sdk.getWebAPIPath = function () {
return Sdk.getClientUrl() + webAPIPath;
}

/**
* @function request
* @description Generic helper function to handle basic XMLHttpRequest calls.
* @param {string} action - The request action. String is case-sensitive.
* @param {string} uri - An absolute or relative URI. Relative URI starts with a "/".
* @param {object} data - An object representing an entity. Required for create and update actions.
* @param {object} addHeader - An object with header and value properties to add to the request
* @returns {Promise} - A Promise that returns either the request object or an error object.
*/
Sdk.request = function (action, uri, data, addHeader) {
if (!RegExp(action, "g").test("POST PATCH PUT GET DELETE")) { // Expected action verbs.
throw new Error("Sdk.request: action parameter must be one of the following: " +
"POST, PATCH, PUT, GET, or DELETE.");
}
if (!typeof uri === "string") {
throw new Error("Sdk.request: uri parameter must be a string.");
}
if ((RegExp(action, "g").test("POST PATCH PUT")) && (!data)) {
throw new Error("Sdk.request: data parameter must not be null for operations that create or modify data.");
}
if (addHeader) {
if (typeof addHeader.header != "string" || typeof addHeader.value != "string") {
throw new Error("Sdk.request: addHeader parameter must have header and value properties that are
strings.");
}
}

// Construct a fully qualified URI if a relative URI is passed in.


if (uri.charAt(0) === "/") {
uri = clientUrl + webAPIPath + uri;
uri = clientUrl + webAPIPath + uri;
}

return new Promise(function (resolve, reject) {


var request = new XMLHttpRequest();
request.open(action, encodeURI(uri), true);
request.setRequestHeader("OData-MaxVersion", "4.0");
request.setRequestHeader("OData-Version", "4.0");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
if (addHeader) {
request.setRequestHeader(addHeader.header, addHeader.value);
}
request.onreadystatechange = function () {
if (this.readyState === 4) {
request.onreadystatechange = null;
switch (this.status) {
case 200: // Success with content returned in response body.
case 204: // Success with no content returned in response body.
case 304: // Success with Not Modified
resolve(this);
break;
default: // All other statuses are error cases.
var error;
try {
error = JSON.parse(request.response).error;
} catch (e) {
error = new Error("Unexpected Error");
}
reject(error);
break;
}
}
};
request.send(JSON.stringify(data));
});
};

/**
* @function Sdk.startSample
* @description Initiates a chain of promises to show use of Functions and Actions with the Web API.
* Functions and actions represent re-usable operations you can perform using the Web API.
* For more info, see https://msdn.microsoft.com/library/mt607990.aspx#bkmk_actions
* The following standard CRM Web API functions and actions are invoked:
* - WhoAmI, a basic unbound function
* - GetTimeZoneCodeByLocalizedName, an unbound function that requires parameters
* - CalculateTotalTimeIncident, a bound function
* - WinOpportunity, an unbound action that takes parameters
* - AddToQueue, a bound action that takes parameters
* - In addition, a custom bound and an unbound action contained within the solution are invoked.
*/
Sdk.startSample = function () {
// Initializing.
deleteData = document.getElementsByName("removesampledata")[0].checked;
entitiesToDelete = []; // Reset the array.

console.log("-- Sample started --");

// Create the CRM entry intances used by this sample program.


Sdk.createRequiredRecords()
.then(function () {
console.log("-- Working with functions --");
// Bound and Unbound functions
// See https://msdn.microsoft.com/library/gg309638.aspx#bkmk_boundAndUnboundFunctions

console.log("Using functions to look up your full name.");


// Calling a basic unbound function without parameters.
// Retrieves the user's full name using a series of function requests.
// - Call WhoAmI via the Sdk.getUsersFullName function.
// For more info on the WhoAmI function, see https://msdn.microsoft.com/library/mt607925.aspx
// For more info on the WhoAmI function, see https://msdn.microsoft.com/library/mt607925.aspx
return Sdk.getUsersFullName();
})
.then(function (fullName) {
console.log("\tYour full name is: %s\n", fullName);

console.log("Unbound function: GetTimeZoneCodeByLocalizedName");


// Calling a basic unbound function with no parameters.
// Retrieves the time zone code for the specified time zone.
// - Pass parameters to an unbound function by calling the GetTimeZoneCodeByLocalizedName Function.
// For more info, see https://msdn.microsoft.com/library/mt607644.aspx
var localizedStandardName = 'Pacific Standard Time';
var localeId = 1033;
// Demonstrates best practice of passing parameters.
var uri = ["/GetTimeZoneCodeByLocalizedName",
"(LocalizedStandardName=@p1,LocaleId=@p2)",
"?@p1='" + localizedStandardName + "'&@p2=" + localeId];

/* This would also work:


var uri = ["/GetTimeZoneCodeByLocalizedName",
"(LocalizedStandardName='" + localizedStandardName + "',LocaleId=" + localeId + ")"];
*/

return Sdk.request("GET", uri.join("")) // Send request.


})
.then(function (request) {
// Returns GetTimeZoneCodeByLocalizedNameResponse ComplexType.
// For more info, see https://msdn.microsoft.com/library/mt607889.aspx
var localizedStandardName = 'Pacific Standard Time';
var timeZoneCode = JSON.parse(request.response).TimeZoneCode;
console.log("\tFunction returned time zone %s, with code '%s'.", localizedStandardName, timeZoneCode);

console.log("Bound function: CalculateTotalTimeIncident");


// Calling a basic bound function that requires parameters.
// Retrieve the total time, in minutes, spent on all tasks associated with this incident.
// - Use CalculateTotalTimeIncident to get the total duration of all closed activities.
// For more info, see https://msdn.microsoft.com/library/mt593054.aspx
// Note that in a bound function the full function name includes the
// namespace Microsoft.Dynamics.CRM. Functions that aren’t bound must not use the full name.
return Sdk.request("GET", incidentUri + "/Microsoft.Dynamics.CRM.CalculateTotalTimeIncident()")
})
.then(function (request) {
// Returns CalculateTotalTimeIncidentResponse ComplexType.
// For more info, see https://msdn.microsoft.com/library/mt607924.aspx
var totalTime = JSON.parse(request.response).TotalTime; //returns 90
console.log("\tFunction returned %s minutes - total duration of tasks associated with the incident.\n",
totalTime);

console.log("-- Working with Actions --");


// For more info about Action, see https://msdn.microsoft.com/library/mt607600.aspx

console.log("Unbound Action: WinOpportunity");


// Calling an unbound action that requires parameters.
// Closes an opportunity and markt it as won.
// - Update the WinOpportunity (created by Sdk.createRequiredRecords()) by closing it as won.
// Use WinOpportunity Action (https://msdn.microsoft.com/library/mt607971.aspx)
// This action does not return a value
var parameters = {
"Status": 3,
"OpportunityClose": {
"subject": "Won Opportunity",
"opportunityid@odata.bind": opportunityUri
}
}

return Sdk.request("POST", "/WinOpportunity", parameters)


})
.then(function () {
console.log("\tOpportunity won.");
console.log("Bound Action: AddToQueue");
// Calling a bound action that requires parameters.
// Adds a new letter tracking activity to the current user's queue.
// The letter was created as part of the Sdk.createRequiredRecords().
// - Get a reference to the current user.
// - Get a reference to the letter activity.
// - Add letter to current user's queue via the bound action AddToQueue.
// For more info on AddToQueue, see https://msdn.microsoft.com/library/mt607880.aspx

return Sdk.request("GET", "/WhoAmI");


})
.then(function (request) {
var whoAmIResponse = JSON.parse(request.response);
var myId = whoAmIResponse.UserId;

// Get a reference to the current user.


return Sdk.request("GET", Sdk.getWebAPIPath() + "/systemusers(" + myId + ")/queueid/$ref")
})
.then(function (request) {
myQueueUri = JSON.parse(request.response)["@odata.id"];

// Get a reference to the letter activity.


return Sdk.request("GET", letterUri + "?$select=activityid")
})
.then(function (request) {

var letterActivityId = JSON.parse(request.response).activityid

var parameters = {
Target: {
activityid: letterActivityId,
"@odata.type": "Microsoft.Dynamics.CRM.letter"
}
}
//Adding the letter to the user's default queue.
return Sdk.request("POST", myQueueUri + "/Microsoft.Dynamics.CRM.AddToQueue", parameters);
})
.then(function (request) {
var queueItemId = JSON.parse(request.response).QueueItemId;
console.log("\tQueueItemId returned from AddToQueue Action: %s\n", queueItemId);

console.log("-- Working with custom actions --");


console.log("Custom action: sample_AddNoteToContact");
// Add a note to an existing contact.
// This operation calls a custom action named sample_AddNoteToContact.
// This custom action is installed when you install this sample's solution to your CRM server.
// - Add a note to an existing contact (e.g.: contactUri)
// - Get the note info and the contact's full name.
// For more info, see https://msdn.microsoft.com/library/mt607600.aspx#bkmk_customActions
//sample_AddNoteToContact custom action parameters
var parameters = {
NoteTitle: "The Title of the Note",
NoteText: "The text content of the note."
}
return Sdk.request("POST", contactUri + "/Microsoft.Dynamics.CRM.sample_AddNoteToContact", parameters)
})
.then(function (request) {
var annotationid = JSON.parse(request.response).annotationid;
var annotationUri = Sdk.getWebAPIPath() + "/annotations(" + annotationid + ")";
// The annotation will be deleted with the contact when it is deleted.

return Sdk.request("GET", annotationUri + "?


$select=subject,notetext&$expand=objectid_contact($select=fullname)")
})
.then(function (request) {
var annotation = JSON.parse(request.response);
console.log("\tA note with the title '%s' and the content '%s' was created and associated with the contact
%s.\n",
annotation.subject, annotation.notetext, annotation.objectid_contact.fullname);
annotation.subject, annotation.notetext, annotation.objectid_contact.fullname);

console.log("Custom action: sample_CreateCustomer");


// Create a customer of a specified type using the custom action sample_CreateCustomer.
// - Shows how create a valid customer of type "account".
// - Shows how to handle exception from a custom action.

var parameters = {
CustomerType: "account",
AccountName: CUSTOMERACCOUNTNAME
}

// Create the account. This is a valid request


return Sdk.request("POST", "/sample_CreateCustomer", parameters)
})
.then(function (request) {
// Retrieve the account we just created
return Sdk.request("GET", "/accounts?$select=name&$filter=name eq '" + CUSTOMERACCOUNTNAME + "'");
})
.then(function (request) {
var customerAccount = JSON.parse(request.response).value[0];
var customerAccountId = customerAccount.accountid;
var customerAccountIdUri = Sdk.getWebAPIPath() + "/accounts(" + customerAccountId + ")";
entitiesToDelete.push(customerAccountIdUri);
console.log("\tAccount customer created with the name '%s'", customerAccount.name);

// Create a contact but uses invalid parameters


// - Throws an error intentionally
return new Promise(function (resolve, reject) {
var parameters = {
CustomerType: "contact",
AccountName: CUSTOMERACCOUNTNAME //not valid for contact
// e.g.: ContactFirstName and ContactLastName are required when CustomerType is "contact".
}
Sdk.request("POST", "/sample_CreateCustomer", parameters) // This request is expected to fail.
.then(function () {
console.log("Not expected.")
reject(new Error("Call to sample_CreateCustomer not expected to succeed."))
})
.catch(function (err) {
//Expected error
console.log("\tExpected custom error: " + err.message); // Custom action can return custom error messages.
resolve(); // Show the error but resolve the thread so sample can continue.
});
});
})
.then(function () {
// House cleaning.
console.log("\n-- Deleting sample data --");
if (deleteData) {
return Sdk.deleteEntities();
}
else {
console.log("Sample data not deleted.");
}
})
.catch(function (err) {
console.log("ERROR: " + err.message);
});
}

/**
* @function Sdk.deleteEntities
* @description Deletes the entities created by this sample
*/
Sdk.deleteEntities = function () {
return new Promise(function (resolve, reject) {

entitiesToDelete.unshift(opportunityUri) // Adding to the beginning so it will get deleted before the parent
account.
account.
// Re-open the created opportunity so it can be deleted.
Sdk.request("PATCH", opportunityUri, { statecode: 0, statuscode: 2 })
.then(function () {
// Get the opportunityclose URI so it can be deleted
return Sdk.request("GET", opportunityUri + "/Opportunity_OpportunityClose/$ref")
})
.then(function (request) {
var opportunityCloseUri = JSON.parse(request.response).value[0]["@odata.id"];

// Adding to the opportunityclose URI it will get deleted before the opportunity.
entitiesToDelete.unshift(opportunityCloseUri)

/*
These deletions have to be done consecutively in a specific order to avoid a Generic SQL error
which can occur because of relationship behavior actions for the delete event.
*/

return Sdk.request("DELETE", entitiesToDelete[0]) //opportunityclose


})
.then(function () {
console.log(entitiesToDelete[0] + " Deleted");
return Sdk.request("DELETE", entitiesToDelete[1]) //opportunity
})
.then(function () {
console.log(entitiesToDelete[1] + " Deleted");
return Sdk.request("DELETE", entitiesToDelete[2])//account
})
.then(function () {
console.log(entitiesToDelete[2] + " Deleted");
return Sdk.request("DELETE", entitiesToDelete[3]) //Fourth Coffee account
})
.then(function () {
console.log(entitiesToDelete[3] + " Deleted");
return Sdk.request("DELETE", entitiesToDelete[4]) //Letter
})
.then(function () {
console.log(entitiesToDelete[4] + " Deleted");
return Sdk.request("DELETE", entitiesToDelete[5]) //Contact
})
.then(function () {
console.log(entitiesToDelete[5] + " Deleted");
return Sdk.request("DELETE", entitiesToDelete[6]) //AccountCustomer
})
.then(function () {
console.log(entitiesToDelete[6] + " Deleted");
resolve();
})
.catch(function (err) {
reject(new Error("Error from Sdk.deleteEntities: " + err.message));
});
});
};

/**
* @function Sdk.getUsersFullName
* @description Retrieves the current user's full name.
* @returns {Promise} - A Promise that returns the full name of the user
*/
Sdk.getUsersFullName = function () {
return new Promise(function (resolve, reject) {
//Use WhoAmI Function (https://msdn.microsoft.com/library/mt607925.aspx)
Sdk.request("GET", "/WhoAmI")
.then(function (request) {
//Returns WhoAmIResponse ComplexType (https://msdn.microsoft.com/library/mt607982.aspx)
var myId = JSON.parse(request.response).UserId;
//Retrieve the systemuser Entity fullname property (https://msdn.microsoft.com/library/mt608065.aspx)
return Sdk.request("GET", "/systemusers(" + myId + ")?$select=fullname")
})
.then(function (request) {
//Return the users full name
resolve(JSON.parse(request.response).fullname);
})
.catch(function (err) {
reject("Error in Sdk.getUsersFullName function: " + err.message);
});
});
};

/**
* @function Sdk.createRequiredRecords
* @description Creates data required by this sample program.
* - Create an account with three 30 minute tasks.
* - Create another account associated with an opportunity.
* - Create a letter.
* - Create a contact.
* @returns {Promise} - resolve the promise if all goes well; reject otherwise.
*/
Sdk.createRequiredRecords = function () {
console.log("-- Creating sample data --");
// Create a parent account, an associated incident with three
// associated tasks(required for CalculateTotalTimeIncident).
return new Promise(function (resolve, reject) {
Sdk.createAccountWithIncidentAndThree30MinuteClosedTasks()
.then(function (iUri) {
incidentUri = iUri;

//Create another account and associated opportunity (required for CloseOpportunityAsWon).


return Sdk.createAccountWithOpportunityToWin();
})
.then(function (oUri) {
opportunityUri = oUri;

// Create a letter to use with AddToQueue action.


var letter = {
description: "Example letter"
}
return Sdk.request("POST", "/letters", letter)
})
.then(function (request) {
letterUri = request.getResponseHeader("OData-EntityId");
entitiesToDelete.push(letterUri);

// Create a contact to use with custom action sample_AddNoteToContact


var contact = {
firstname: "Jon",
lastname: "Fogg"
}
return Sdk.request("POST", "/contacts", contact)
})
.then(function (request) {
contactUri = request.getResponseHeader("OData-EntityId");
entitiesToDelete.push(contactUri);

resolve()
})
.catch(function (err) {
reject("Error in Sdk.createRequiredRecords function: " + err.message);
});
});
}

/**
* @function Sdk.createAccountwithIncidentAndThree30MinuteClosedTasks
* @description Create an account and associate three 30 minute tasks. Close the tasks.
* @returns {Promise} - A Promise that returns the uri of an incident created.
*/
Sdk.createAccountWithIncidentAndThree30MinuteClosedTasks = function () {
return new Promise(function (resolve, reject) {
var iUri; // incidentUri
// Create a parent account for the incident.
Sdk.request("POST", "/accounts", { name: "Fourth Coffee" })
.then(function (request) {
// Capture the URI of the created account so it can be deleted later.
var accountUri = request.getResponseHeader("OData-EntityId");
entitiesToDelete.push(accountUri);
// Define an incident associated with the account with three related tasks.
// Each task has a 30 minute duration.
var incident = {
title: "Sample Case",
"customerid_account@odata.bind": accountUri,
Incident_Tasks: [
{
subject: "Task 1",
actualdurationminutes: 30
},
{
subject: "Task 2",
actualdurationminutes: 30
},
{
subject: "Task 3",
actualdurationminutes: 30
}
]
};
// Create the incident and related tasks.
return Sdk.request("POST", "/incidents", incident)
})
.then(function (request) {
iUri = request.getResponseHeader("OData-EntityId");

// Retrieve references to the tasks created.


return Sdk.request("GET", iUri + "/Incident_Tasks/$ref")
})
.then(function (request) {
// Capture the URL for the three tasks in this array.
var taskReferences = [];
JSON.parse(request.response).value.forEach(function (tr) {
taskReferences.push(tr["@odata.id"]);
});
// An array to hold a set of promises.
var promises = [];
// The data to use to update the tasks so that they are closed.
var update = {
statecode: 1, //Completed
statuscode: 5 //Completed
}
// Fill the array with promises
taskReferences.forEach(function (tr) {
promises.push(Sdk.request("PATCH", tr, update))
})
// When all the promises resolve, return a promise.
return Promise.all(promises);
})
.then(function () {
// Return the incident URI to the calling code.
resolve(iUri);
})
.catch(function (err) {
// Differentiate the message for any error returned by this function.
reject(new Error("ERROR in Sdk.createAccountwithIncidentAndThree30MinuteClosedTasks function: " +
err.message))
});
});
}
/**
* @function Sdk.createAccountwithOpportunityToWin
* @description Create an account and an associated opportunity.
* @returns {Promise} - A Promise that returns the uri of an opportunity.
*/
Sdk.createAccountWithOpportunityToWin = function () {
return new Promise(function (resolve, reject) {
var accountUri;
var account = {
name: "Sample Account for WebAPIFunctionsAndActions sample",
opportunity_customer_accounts: [{
name: "Opportunity to win"
}]
};
Sdk.request("POST", "/accounts", account) // Create the account.
.then(function (request) {
accountUri = request.getResponseHeader("OData-EntityId");
entitiesToDelete.push(accountUri);

// Retrieve the opportunity's reference.


return Sdk.request("GET", accountUri + "/opportunity_customer_accounts/$ref")
})
.then(function (request) {
var oUri = JSON.parse(request.response).value[0]["@odata.id"];
resolve(oUri); // Return the opportunity's uri.
})
.catch(function (err) {
reject(new Error("Error in Sdk.createAccountwithOpportunityToWin: " + err.message));
});
});
};

See also
Use the Common Data Service Web API
Use Web API functions
Use Web API actions
Web API Samples
Web API Functions and Actions Sample
Web API Functions and Actions Sample (C#)
Web API Samples (Client-side JavaScript)
Web API Basic Operations Sample (Client-side JavaScript)
Web API Query Data Sample (Client-side JavaScript)
Web API Conditional Operations Sample (Client-side JavaScript)
Web API Global Discovery Service Sample (C#)
4/23/2019 • 2 minutes to read • Edit Online

This sample shows how to use the Web API Global discovery Service

How to run this sample


This sample is available on Github at https://github.com/Microsoft/PowerApps-
Samples/tree/master/cds/webapi/C%23/GlobalDiscovery

What this sample does


This sample returns the available Common Data Service instances for a given user credential.

How this sample works


This sample will use credential information in the App.config file, but will not use the URL configured in the
connection string. Instead, it will just use the user credentials and the clientid.
Demonstrates
This sample uses a HttpClient to authenticate using ADAL (v2.29) and call the global discovery service to return
information about available instances the user can connect to.
The sample depends on the GetInstances method and the Instance class below:
/// <summary>
/// Uses the global web api discovery service to return instances
/// </summary>
/// <param name="clientId">The Azure AD client (app) registration</param>
/// <param name="username">The user name</param>
/// <param name="password">The password</param>
/// <returns>A List of Instances</returns>
static List<Instance> GetInstances(string clientId, string username, string password)
{

string GlobalDiscoUrl = "https://globaldisco.crm.dynamics.com/";


AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com",
false);

UserCredential cred = new UserCredential(username, password);


AuthenticationResult authResult = authContext.AcquireToken(GlobalDiscoUrl, clientId, cred);

HttpClient client = new HttpClient();


client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer",
authResult.AccessToken);
client.Timeout = new TimeSpan(0, 2, 0);
client.BaseAddress = new Uri(GlobalDiscoUrl);

HttpResponseMessage response = client.GetAsync("api/discovery/v1.0/Instances",


HttpCompletionOption.ResponseHeadersRead).Result;

if (response.IsSuccessStatusCode)
{
//Get the response content and parse it.
string result = response.Content.ReadAsStringAsync().Result;
JObject body = JObject.Parse(result);
JArray values = (JArray)body.GetValue("value");

if (!values.HasValues)
{
return new List<Instance>();
}

return JsonConvert.DeserializeObject<List<Instance>>(values.ToString());
}
else
{
throw new Exception(response.ReasonPhrase);
}
}

/// <summary>
/// Object returned by the discovery service
/// </summary>
class Instance
{
public string Id { get; set; }
public string UniqueName { get; set; }
public string UrlName { get; set; }
public string FriendlyName { get; set; }
public int State { get; set; }
public string Version { get; set; }
public string Url { get; set; }
public string ApiUrl { get; set; }
public DateTime LastUpdated { get; set; }
}
Sample: Convert a fax to a task
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to convert a Fax to a Task. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The CreateRequiredRecords method creates the sample data that is required for the sample. The retrievedFax
method retrieves the fax. The DeleteRequiredRecords method gives an option to delete all the data that sample has
created.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The WhoAmIRequest method gets the current user details.
3. The ActivityParty method creates the activity party for sending and receiving fax.
4. The Fax method creates the fax required for the sample.
Demonstrate
1. Retrieves all the fax id's that are created in Setup.
2. Creates a task and verifies whether the task has been created.
Clean up
1. Displays an option to delete all the data created in the sample.
2. The deletion is optional in case you want to examine the data created by the sample. You can manually delete
the data to achieve same results.
Sample: Create an email using a template
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to instantiate an email record by using InstantiateTemplateRequest message. You can
download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The InstantiateTemplateRequest message is intended to be used in a scenario where it instantiates an email record.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates an account record.
3. Defines the body and subject of the email template in XML format.
4. Creates an email template.
Demonstrate
1. The InstantiateTemplateRequest message is used to create an email message using a template.
2. Serialize the email message to XML and save to a file.
Clean up
1. Display an option to delete the record created in Setup. The deletion is optional in case you want to examine the
entities and data created by the sample. You can manually delete the records to achieve the same result.
Sample: Create, retrieve, update, and delete an email
attachment
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create, retrieve, update, and delete email attachments using the following methods:
IOrganizationService.Create
IOrganizationService.Retrieve
IOrganizationService.Update
IOrganizationService.Delete
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService message is intended to be used in a scenario that provides programmatic access to the
metadata and data for an organization.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Email method creates email activity that is required for the sample.
Demonstrate
1. The ActivityMimeAttachment method creates three email attachments.
2. The Retrieve method retrieves an attachment including its id, subject, filename and body.
3. The Update method updates the filename of the existing attachment.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Promote an email message
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create an email activity instance from the specified email message in Common Data
Service by using the DeliverPromoteEmailRequest message. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The DeliverPromoteEmailRequest message is intended to be used in a scenario where it contains data that is needed
to create an email activity record from the specified email message.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. Creates a contact to send an email to (To: field).
2. The WhoAmIRequest retrieves the system user to send the email (From: field).
3. The DeliverPromoteEmailRequest message creates the request and also executes it.
4. Verify the success by defining anonymous types that define possible values for email status.
5. Queries the delivered email, and verify the status code is sent .
Clean up
1. Display an option to delete the records created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Retrieve email attachments for an email
template
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve email attachments associated with an email template by using the
IOrganizationService.RetrieveMultiple method. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService.RetrieveMultiple method is intended to be used in a scenario where it retrieves a
collection of records.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a sample email template using the Template method.
Demonstrate
1. The QueryExpression retrieves all the attachments.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Send an email using a template
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to send an email message by using a template using the SendEmailFromTemplateRequest
message. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The SendEmailFromTemplateRequest message is intended to be used in a scenario where it contains data that is
needed to send an email message using a template.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a contact record to send an email to (To: field).
Demonstrate
1. The ActivityParty creates the From: and To: activity party for the email.
2. Creates an email message.
3. The QueryExpression queries to get one of the email template of type Contact .
4. The SendEmailFromTemplateRequest sends an email message by using a template.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Send an email
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to send an email using SendEmailRequest message. You can download the sample from
here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The SendEmailRequest message is intended to be used in a scenario where it contains data that is needed to send
an email message.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Contact method creates a contact to send an email to (To: field) .
3. The WhoAmIRequest method gets the current user information to send the email (From: field) .
4. The ActivityParty method creates To and From activity party for the email.
5. The Email method creates an email message.
Demonstrate
1. The SendEmailRequest method sends an email message created in the Setup.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Send bulk email and monitor results
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to send bulk email using the SendBulkMailRequest and monitor the results by retrieving
records from the AsyncOperation entity. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The SendBulkMailRequest message is intended to be used in a scenario to send bulk emails.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org
2. The Contact method creates 2 contact records for this sample.
Demonstrate
1. Gets the system user to use as the sender.
2. Set tacking id for the bulk email request.
3. Creates a query expression for the bulk operation to retrieve the contacts in the email list.
4. Set the regarding id and execute the bulk email request.
5. Retrieve the bulk email async operation and monitor it via polling.
Clean up
1. Display an option to delete the records created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Work with activity party records
3/22/2019 • 2 minutes to read • Edit Online

This sample code shows how to work with activity party records. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample creates some sample data, to work with activity party records.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates three contact records which are required for this sample.
Demonstrate
1. Retrieves the contact records that are created in the Setup.
2. Creates the activity party records for each contact.
3. Also creates Letter activity and set From and To fields to the respective Activity Party entities.
Clean up
1. Display an option to delete the records created during Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Book an appointment
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to book or schedule an appointment by using the BookRequest message. You can
download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The BookRequest message is intended to be used in a scenario to book or schedule an appointment.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks the current version of the org.
2. Gets the current user information and creates the ActivityParty instance.
Demonstrate
1. Creates the appointment instance using the BookRequest message and verifies that the appointment has been
scheduled or not.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Convert an appointment to a recurring
appointment
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to convert an appointment to a recurring appointment series using the
AddRecurrenceRequest message. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The AddRecurrenceRequest message is intended to be used in a scenario where it contains the data that is needed to
add recurrence information to an existing appointment.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates an sample appointment that is later converted into an recurring appointment.
Demonstrate
1. Specifies the recurrence information that needs to be added to the appointment created in the Setup.
2. Defines the anonymous types that define the possible recurrence pattern values and also possible values for
days.
3. Defines the anonymous types that define the possible values for the recurrence rule pattern and type.
4. The RecurringAppointmentMaster specifies the recurrence information.
5. The AddRecurrence message converts the created appointment into recurring appointment.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the sample data to achieve the same result.
Sample: Create, retrieve, update, and delete a
recurring appointment
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create, retrieve, update, and delete a recurring appointment series. This sample uses the
following common methods:
IOrganizationService.Create
IOrganizationService.Retrieve
IOrganizationService.Update
IOrganizationService.Delete
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService message is intended to be used in a scenario where it contains data that provides
programmatic access to the metadata and data for an organization.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. Define anonymous types to define the possible recurrence pattern values, possible values for days of the week
and possible values for the recurrence rule pattern end type.
2. The RecurringAppointmentMaster method creates a recurring appointment.
3. The QueryExpression method retrieves the newly created recurring appointment.
4. The Update method updates the subject, number of occurences to 5, appointment interval to 2 for the retrieved
recurring appointment.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: End a recurring appointment series
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to end a recurring appointment series by using the DeleteOpenInstancesRequest message.
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The DeleteOpenInstanceRequest message is intended to be used in a scenario where it contains the data that is
needed to delete instances of a recurring appointment master that has an Open state.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Defines the anonymous types that define possible recurrence pattern values, possible values for days, and
recurrence rule pattern end type values.
3. Creates a new recurring appointment that is required for the sample.
Demonstrate
1. The RecurringAppointmentMaster message retrieves a recurring appointment series that is created in the Setup.
2. The DeleteOpenInstanceRequest message ends the recurring appointment series to the last occurring past
instance date w.r.t. the series end date.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Link custom attributes between series and
instances
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to link a custom attribute that is created for a recurring appointment series (
RecurringAppointmentMaster ) with a custom attribute that is created for the appointment instances ( Appointment ).
You can download the sample from here.

What this sample does


The CreateAttributeRequest message is intended to be used in a scenario where it contains data that is needed to
create custom attributes.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. The StringAttributeMetadata message creates custom string attributes for recurring appointment instance and
appointment instance.
2. The LinkedAttributeId links the custom attribute to the appointment's custom attribute.
Clean up
1. Display an option to delete the records that are created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Query the working hours of a user
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve the working hours of a user by using the QueryScheduleRequest message. You
can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The QueryScheduleRequest message is intended to be used in a scenario where it contains data that is needed to
search the specified resource for an available time block that matches specified parameters.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. The WhoAMIRequest message gets the current user's information.
2. The QueryScheduleRequest message retrieves the working hours of the current user.
Clean up
1. Display an option to delete the sample data created in Setup. The deletion is optional in case you want to
examine the entities and data created by the sample. You can manually delete the records to achieve the same
result.
Sample: Query the working hours of multiple users
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve the working hours of multiple users by using the
QueryMultipleSchedulesRequest message. You can download the sample from here.
This sample requires additional users that are not present in your system. Create the required user manually as is
shown below in Office 365 before you run the sample. Replace yourorg with the OrgName of your organization.
First Name: Kevin
Last Name: Cook
Security Role: Sales Manager
UserName: kcook@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The QueryMultipleScheduleRequest message is intended to be used in a scenario where it contains data that is
needed to search multiple resources for available time block that match the specified parameters.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Retrieves the current user's information and also the user, that you have created manually in Office 365.
Demonstrate
1. The QueryMultipleScheduleRequest message retrieves the working hours of the current user and the user that
you have created manually.
Clean up
1. Display an option to delete the records created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Reschedule and cancel a recurring
appointment
3/22/2019 • 2 minutes to read • Edit Online

This sample demonstrates how to reschedule and cancel appointment instances in a recurring appointment series
using the RescheduleRequest message. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a previously
used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RescheduleRequest message is intended to be used in a scenario where it contains the data that is needed to
reschedule an appointment, recurring appointment, or service appointment (service activity).

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Defines an anonymous type to define the possible recurrence pattern values and possible values for days of the
week.
3. Defines an anonymous type to define tbe possible values for recurrence rule pattern end type.
4. The RecurringAppointmentMaster creates a new recurring appointment.
Demonstrate
1. The QueryExpression message queries the individual appointment instance that falls on or after 10 days from
today. Basically this will be the second instance in the recurring appointment series.
2. The RescheduleRequest message updates the schedule start and end dates of the appointment.
3. The SetStateRequest message cancels the last instance of the appointment. The status of this appointment
instance is set to canceled . You can view this appointment instance under the All Activities view.
Clean up
1. Display an option to delete the sample data created in Setup. The deletion is optional in case you want to
examine the entities and data created by the sample. You can manually delete the records to achieve the same
result.
Sample: Validate an appointment
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to validate an appointment using the ValidateRequest message. You can download the
sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The ValidateRequest message is intended to be used in the scenario where it contains data that is needed to verify
that an appointment or service appointment (service activity) has valid available resources for the activity, duration,
and site, as appropriate.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates sample contact and activity party records.
3. Creates sample appointment.
Demonstrate
1. Retrieves the appointment to be validated.
2. The ValidateRequest message validates the appointment created in the Setup(#setup).
Clean up
1. Display an option to delete the records in Setup. The deletion is optional in case you want to examine the
entities and data created by the sample. You can manually delete the records to achieve the same result.
Sample: Audit entity data changes
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to enable and disable auditing on an entity and its attributes, retrieve the data change
history of the audited entity, and delete the audit records. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveRecordChangeHistoryRequest message is intended to be used in a scenario where it contains data that is
needed to retrieve the audit history for an entity.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates an sample account entity.
Demonstrate
1. Gets the organization's ID from the system user record.
2. Enabling auditing on organization and also on the sample account entity.
3. The RetrieveRecordChangeHistoryRequest retrieves the audit history for the account entity and displays the
result.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Audit user access
3/22/2019 • 2 minutes to read • Edit Online

This sample code shows how to audit user access. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample first enables user access auditing with the logged on user's organization. Next, it creates and modifies
an account entity so that audit records are genertated.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a new account entity and enables auditing on the new account entity.
Demonstrate
1. Get's the organization's ID from the system user record and retrieves organization record.
2. Enables auditing on the organization, including auditing for user access.
3. Makes an update request to the account entity to be tracked by auditing.
4. set the organization and account auditing flags back to old values and retrieve them if they were actually
changed.
Clean up
1. Display an option to delete the records created during Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Azure aware custom plug-in
3/22/2019 • 2 minutes to read • Edit Online

The plug-in demonstrates how to obtain the execution context and the tracing service from the service provider
parameter of the Execute method. The plug-in then posts the context to the Azure Service Bus endpoint and
writes information to the trace log to facilitate debugging. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. Open the sample solution in Visual Studio and sign the assembly with a key.
3. Register the plug-in using the Plugin Registration Tool.

NOTE
This sample requires a service endpoint to be created first, and its ID passed to the plug-in constructor through the
unsecure configuration parameter when the plug-in step is registered.
Sample: Azure aware custom workflow activity
3/22/2019 • 2 minutes to read • Edit Online

This sample obtains the data context from the current operation and posts it to the Azure Service Bus.You can
download the sample from here.

Requirements
You must configure Common Data Service to connect with Azure before registering and executing this sample
custom workflow activity. More information: Configure Microsoft Azure Integration with Common Data Service.
Notice the Input id required argument in the code. When you add this activity to a workflow, you must provide
the GUID of a Azure service endpoint.
When registering this custom workflow activity with Common Data Service, you must register it in the sandbox
(partial trust).

How to run samples


1. Download or clone the Samples repo so that you have a local copy.
2. Register the workflow activity.

What this sample does


This sample shows how to write a custom workflow activity that can post the data context from the current
Common Data Service operation to the Azure Service Bus. The posting of the data context is done through the
Execute(EntityReference, IExecutionContext) method.
Sample: One-way listener
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write a Azure Service Bus listener for a one-way endpoint contract. You can download
the sample from here.
This sample listener application registers a remote service plug-in that executes whenever a message is posted to
a one-way endpoint on the Azure Service Bus . When the plug-in executes, it outputs to the console the contents
of the execution context contained in the message.
Sample: Persistent queue listener
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write a Azure Service Bus listener application for a persistent queue endpoint contract.
You can download the sample from here.
The listener waits for a message to be posted to the service bus and to be available in the endpoint queue. When a
message is available in the queue, the listener reads the message, prints the execution context contained in the
message to the console, and deletes the message from the queue.
Sample: REST listener
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write a Azure Service Bus Listener for a REST endpoint contract. You can download
the sample from here.
This sample registers a remote service plug-in that executes whenever a message is posted to a REST endpoint on
the service bus. When the plug-in executes, it prints to the console the contents of the execution context contained
in the message.
Sample: Two-way listener
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write a Azure Service Bus Listener for a two-way endpoint contract. You can download
the sample from here.
This sample registers a remote service plug-in that executes whenever a message is posted to a two-way endpoint
on the Azure Service Bus . When the plug-in executes, it prints to the console the contents of the execution context
contained in the message.
Sample: Bulk delete exported records
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to perform a bulk deletion of records that were previously exported from Common Data
Service by using the Export to Excel option. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The BulkDeleteRequest message is intended to be used in a scenario where it contains data that is needed to create
the bulk delete request.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Query for a system user to send an email after bulk delete request operation completes.
3. The BulkDeleteRequest creates the bulk delete process and set the request properties.
4. The CheckSuccess method queries for the BulkDeleteOperation until it has been completed or until the
designated time runs out. It then checks to see if the operation is complete.
Demonstrate
1. The PerformBulkDeleteBackup method performs the main bulk delete operation on inactive opportunities and
activities to remove them from the system.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Bulk delete records that match common
criteria
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to delete records, in bulk, that match common criteria. You can download the sample from
here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The BulkDeleteRequest message is intended to be used in a scenario where it contains data that is needed to create
the bulk delete request.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates an sample account record.
3. Queries for a system user to send an email to, after the bulk delete operation completes.
4. The BulkDeleteRequest creates the bulk delete process and set the request properties.
5. The InspectBulkDeleteOperation method inspects and display the information about the created
BulkDeleteOperation .
6. The RetrieveBulkDeleteOperation method retrieves the BulkDeleteOperation .
Demonstrate
1. Checks whether the standard email templates are present.
2. The PerformBulkDelete method performs the main bulk delete operation.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Synchronize data with external systems using
change tracking
3/22/2019 • 2 minutes to read • Edit Online

This sample code shows how to retrieve changes from an entity and synchronize data with external systems by
using the RetrieveEntityChanges message with the RetrieveEntityChangesRequest and
RetrieveEntityChangesResponse classes. You can download the sample from here.
For more information about the feature that this sample demonstrates, see Use change tracking to synchronize
data with external systems.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveEntityChanges message is intended to be used in a scenario where data from an external system is
synchronized and the capability to use change tracking can be used to detect and reconcile data changes.
Without a separate system required to fully replicate this scenario, this sample simulates the scenario by
performing two requests. In between the requests some data is changed so that the second request will return data
about what was changed over time.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Import a managed solution (ChangeTrackingSample_1_0_0_0_managed.zip) that creates a sample_book entity
that has an alternate key named sample_bookcode . Verify that the indexes to support the alternate key are active
2. 10 initial sample_book entity records are created so that changes to those entities can be tracked.
Demonstrate
1. Perform initial request and cache the results, including the DataToken
2. Update the records created in Setup
3. Perform a second request, this time passing the DataVersion with the DataToken value retrieved from the initial
request.
4. Show the entity changes returned by the second request
Clean up
1. Display an option to delete the managed solution imported in Setup, which removes the sample_book entity
and all the data created in the sample.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the ChangeTrackingSample to achieve the same result.
Sample: Create a connection
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create a connection between an account and a contact entity that have matching
connection roles. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to create a connection between an account and a contact that have matching connection
roles.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a connection role for account and contact entity.
3. Creates a related connection role object type code for account and contact entity.
4. Associates the connection role with itself.
Demonstrate
1. Creates a connection between account and contact entity.
2. Assigns a connection role to a record.
Clean up
1. Display an option to delete the records created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Create a connection role
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create a connection role that can be used for accounts and contacts. You can download
the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to create a connection role that can be used for accounts and contacts.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. Defines some anonymous types to define the range of possible connection property values.
2. Creates a connection role for account and contact entity.
3. Creates a connection role object type code record for account and contact entity.
Clean up
1. Display an option to delete the records in Setup. The deletion is optional in case you want to examine the
entities and data created by the sample. You can manually delete the records to achieve the same result.
Sample: Create a reciprocal connection role
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create the reciprocal connection roles. It creates a connection role for an account and a
connection role for a contact, and then makes them reciprocal by associating them with each other. You can
download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The ConnectionRole and ConnectionRoleObjectTypeCode messages are intended to be used in a scenario where it
contains data that is required to create a new connection role and connection role object type.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The ConnectionRole message creates connection roles required for the sample.
3. The ConnectionRoleObjectTypeCode message creates the connection role object type code record for account.
4. The AssociateRequest message associates the connection roles with each other.
Demonstrate
1. Perform initial request and cache the results, including the DataToken
2. Update the records created in Setup
3. Perform a second request, this time passing the DataVersion with the DataToken value retrieved from the initial
request.
4. Show the entity changes returned by the second request
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Query connections by a record
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to query connections for a particular record. It creates connections between a contact and
two accounts, and then searches for the contact’s connections. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample creates account and contact records and creates connection roles between them. The QueryExpression
retrieves the connections for a particular record.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Defines some anonymous types to define the range of possible connection property values.
3. The ConnectionRole creates a connection role.
4. The ConnectionRoleObjectType creates a connection role object type code record for account entity.
5. Creates few account and contact records for use in the connection.
Demonstrate
1. The QueryExpression retrieves all the connections associated with the contact created in the sample.
Clean up
1. Display an option to delete the records in Setup. The deletion is optional in case you want to examine the
entities and data created by the sample. You can manually delete the records to achieve the same result.
Sample: Query connection roles by entity type code
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use a query to find a connection role for an account entity by specifying an entity type
code. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to use a query to find a connection role for an account entity by specifying an entity type
code.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. Defines some anonymous types to define the range of possible connection property values.
2. The ConnectionRole creates a connection role.
3. The QueryExpression queries all the connection roles.
4. The ConnectionRoleObjectTypeCode creates a connection role object type code record for account entity.
Clean up
1. Display an option to delete the records in Setup. The deletion is optional in case you want to examine the
entities and data created by the sample. You can manually delete the records to achieve the same result.
Sample: Query connections by reciprocal roles
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create matching roles and then find a matching role for a particular role. You can
download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to create matching roles and then find a matching role for a particular role.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Defines some anonymous types to define the range of possible connection property values.
3. The ConnectionRole creates the primary connection role instance.
4. The ConnectionRoleObjectTypeCode creates a connection role object type code record for account and contact
entity.
5. The AssociateRequest associates the connection roles.
Demonstrate
1. The QueryExpression retrieves all connection roles that have this role listed as reciprocal role.
Clean up
1. Display an option to delete the records in Setup. The deletion is optional in case you want to examine the
entities and data created by the sample. You can manually delete the records to achieve the same result.
Sample: Retrieve currency exchange rate
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create a new currency, and how to retrieve and display the currency exchange rate
relative to the organization’s base currency. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveExchangeRateRequest message is intended to be used in a scenario where it contains data that is
needed to retrieve the exchange rate.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The TransactionCurrency method creates a new currency for the sample.
Demonstrate
1. The RetrieveExchangeRateRequest message retrieves the exchange rate against the base currency of the org.
Clean up
1. Display an option to delete the sample data created in Setup. The deletion is optional in case you want to
examine the entities and data created by the sample. You can manually delete the records to achieve the same
result.
Sample: Create a custom activity
3/22/2019 • 2 minutes to read • Edit Online

This sample demonstrates how to create a custom activity using CreateEntityRequest and CreateAttributeRequest.
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The CreateEntityRequest message and CreateAttributeRequest message is intended to be used in a scenario to
create custom activity.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the current org.
Demonstrate
1. Creates the custom activity entity using the CreateEntityRequest message.
2. Publishes the created custom activity entity.
3. Creates few attributes to the custom activity entity using CreateAttributeRequest message.
Clean up
1. Display an option to delete the records in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Dump entity metadata to a file
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write out all the entity metadata to an XML file. It uses the RetrieveAllEntitiesRequest
message.
The following sample creates a new file at \Entities\bin\Debug\EntityInfo.xml . You can open this file in Office
Excel to see a tabular report. You may need this information to discover the entity type code for a custom entity for
use in reports. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveAllEntitiesRequest message is intended to be used in a scenario that contains data that is needed to
retrieve metadata information about all the entites.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. The RetrieveAllEntitiesRequest method retrieves the metadata.
2. The StreamWriter creates an instance of StreamWriter to write text to a file.
Clean up
1. This sample creates no records. No cleanup is required.
Sample: Retrieve valid status transitions
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve valid state transitions regardless of whether custom state transitions have been
defined for the entity. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The GetValidStatusOptions method is intended to be used in a scenario where it contains data that returns valid
status option transitions regardless of whether state transitions are enabled for the entity.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The MetadataFilterExpression method checks for the entity metadata.
Demonstrate
1. The MetadataFilterExpression method retrieves the status options for the Incident entity.
2. The RetrieveMetadataChangeRequest method retrieves the metadata.
3. The GetValidStatusOptions method gets the valid status transitions for each status option.
Clean up
1. This sample creates no records. No clean up is required.
Sample: Detect multiple duplicate records
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to detect and log multiple duplicate records for a specified entity type.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The BulkDetectDuplicatesRequest message is intended to be used in a scenario that contains data that is needed to
submit an asynchronous system job that detects and logs multiple duplicate records. You can download the sample
from here.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateRequiredRecords class creates some duplicate entity records for the sample.
3. The DuplicateRule method creates a duplicate detection rule.
4. The DuplicateRuleCondition method creates a duplicate detection rule condition for detecting duplicate records.
5. The PublishDuplicateRuleRequest method publishes the duplicate detection rule.
6. The PublishDuplicateRuleRequest returns before the publish is completed, so we keep retrieving the async job
state until it is Completed
Demonstrate
1. The BulkDetectDuplicatesRequest method creates the BulkDetectDuplicatesRequest object
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Enable duplicate detection and retrieve
duplicates
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to enable duplicate detection and retrieve duplicate records. You can download the sample
from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IsDuplicateDetectionEnabled property is intended to be used in a scenario to enable duplicate detection rule
for an organization and also for an entity.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates some account records to retrieve duplicates.
3. The RetrieveDuplicateRequest method retrieves the duplicate records.
4. The EnableDuplicateDetectionForOrg class enables duplicate detection for an organization.
5. To enable duplicate detection set IsDuplicateDetectionEnabled = true .
6. The RetrieveEntityRequest method retrieves the entity metadata.
7. Set IsDuplicateDetectionEnabled = true to update the duplicate detection flag.
8. The UpdateEntityRequest updates the entity with duplicate detection set to true .
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Use duplicate detection when creating and
updating records
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to invoke duplicate detection for creating and updating entity records. You can download
the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The DuplicateRule method is intended to be used in a scenario where it contains data that is needed to create
duplicate detection rule.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates an account record.
3. The DuplicateRule method creates a duplicate detection rule.
4. The DuplicateRuleCondition method creates a duplicate detection rule conditions.
5. The PublishDuplicateRuleRequest method publishes the duplicate detection rule created earlier. You need to
wait for publishing operation to complete, so we keep polling the state of the rule until it becomes Published .
Demonstrate
1. The Account method creates an account record.
2. The CreateRequest method creates operation by supressing duplicate detection.
3. The UpdateRequest method updates the retrieved account record with new account number.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Early-bound entity operations
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create, retrieve, update, and delete operations on an account using the early bound class.
This sample uses the following common methods:
IOrganizationService.Create
IOrganizationService.Retrieve
IOrganizationService.Update
IOrganizationService.Delete
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService message is intended to be used in a scenario where it provides programmatic access to
the metadata and data for an organization.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks the current version of the org.
2. Creates the sample account records required for this sample.
Demonstrate
1. Instantiate an account object.
2. Retrieves the account containing its attributes .
3. Rettrieves the version number of the account.
4. Updates the account with postal1 code attribute.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Late-bound entity operations
4/2/2019 • 2 minutes to read • Edit Online

This sample demonstrates the create, retrieve, update, and delete operations on an account using the late bound
Entity class. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

How this sample works


In order to simulate the scenario described above, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. Instantiates the account object.
2. Creates an account record.
3. Retrieves the account and its attributes.
4. Updates the postal1 code attribute and set the postal2 code to null.
5. Update the account.
6. Prompts to delete the account records created.
Clean up
1. There is no clean up required, since all the sample records that are created are deleted in the demonstrate
section.
Sample: Use optimistic concurrency with update and
delete operations
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use optimistic concurrency for update and delete operations. You can download the
sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The UpdateRequest class is intended to be used in a scenario where it contains data that is needed to update an
existing record.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates an account record.
Demonstrate
1. Retrieves the account record that is created in the Setup.
2. Updates the account record by increasing the creditlimit attribute.
3. The UpdateRequest method sets the request's concurrency behaviour to check for a row version match.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Share a record using an access team
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to allow access to a record using an access team. All the members of the team will receive
the same access to the record that is granted to the team. You can download the sample from here.
This sample requires additional users that are not in your system. Create the required users manually in Office
365 in order to run the sample without any errors. For this sample create a user profile as is shown below. Replace
yourorg with the organization name.

First Name: Nancy


Last Name: Anderson
Security Role: SalesPerson
UserName: nanderson@yourorg.onmicrosoft.com
First Name: David
Last Name: Bristol
Security Role: SalesPerson
UserName: dbristol@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a previously
used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The AddMembersTeamRequest , GrantAccessRequest , RemoveMembersTeamRequest messages are intended to be used in a
scenario where it contains data that is needed to Add, Grant and Remove Members.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a test account record for the sample.
Demonstrate
1. Retrieves the sales persons that are created manually in Office 365 that will be added to the team.
2. The WhoAMIRequest gets the ID's of the current user and business unit.
3. Creates a sample access team. The AddMembersTeamRequest adds two sales persons to the access team.
4. The GrantAccessRequest grants the team read/write access to the account created in the Setup(#setup).
5. The RetrieveAndDisplayEntityAccess retrieves and displays entity access information.
6. The RetrieveAndDisplayPrincipalAccess retrieves and displays principal access information.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Share records using GrantAccess,
ModifyAccess and RevokeAccess messages
9/20/2019 • 2 minutes to read • Edit Online

This sample shows how to share a record using the following messages:
GrantAccessRequest
ModifyAccessRequest
RevokeAccessRequest
You can download the sample from here.
This sample requires additional users that are not in your system. Create the required users manually in Office
365 in order to run the sample without any errors. For this sample create 2 user profiles as is shown below.
Replace yourorg with the organization name.
First Name: Dan
Last Name: Wilson
Security Role: Delegate
UserName: dwilson@yourorg.onmicrosoft.com
First Name: Christen
Last Name: Anderson
Security Role: Delegate
UserName: canderson@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The GrantAccessRequest , ModifyAccessRequest , RevokeAccessRequest messages are intended to be used in a
scenario where it contains data that is needed to grant, modigy and revoke access.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a unique identifier for preventing name conflicts.
3. Retrieves the user created manually in Office 365 for this sample.
4. Retrieves the root business unit for creating the team for the sample.
5. The WhoAMIRequest gets the current user information.
6. Creates the team and adds the users to the team.
7. Creates an account record and also creates a task, letter to associate to the account.
Demonstrate
1. Retrieves and displays the access that the calling user has to the created account.
2. Retrieves and displays the access that the first user has to the created account.
3. The GrantAccessRequest method grants the first user read access to the created account.
4. The ModifyAccessRequest method grants the first user delete access to the created account.
5. The RevokeAccessRequest method grants the first user revoke access to the created account.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Upload, retrieve, and download an
attachment
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to upload, retrieve, and download an attachment for an annotation using the
IOrganizationService.Create and IOrganizationService.Retrieve methods. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService methods is intended to be used in a scenario where it provides programmatic access to
the metadata and data for an organization.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. The Annotation method instantiate an annotation object.
2. The IOrganizationService method creates and upload the annotation object
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Insert or update a record using Upsert
3/22/2019 • 2 minutes to read • Edit Online

This sample code shows how to insert or update records by using the UpsertRequest message. You can download
the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The UpsertRequest message is intended to be used in a scenario where it contains data that is needed to update or
insert a record.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks the current version of the org.
2. Import a managed solution (UpsertSample_1_0_0_0_managed.zip) that creates a sample_product entity that has
an alternate key named sample_productcode . Verify that the indexes to support the alternate key are active.
Demonstrate
1. The ProcessUpsert method processes data in the newsampleproduct.xml to represent new products and creates
13 new records.
2. The second time when the ProcessUpsert method is called, it processes data in updatedsampleproduct.xml to
represent updates to products previously created.
3. The UpsertRequest method creates 6 updated records.
Clean up
1. Display an option to delete the managed solution created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Retrieve field permissions
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve secured fields for a user according to the steps outlined in Field security entities.
You can download the sample from here.
This sample requires additional users that are not in your system. Create the required users manually in Office
365 in order to run the sample without any errors. For this sample create a user profile as is shown below. Replace
yourorg with the organization name.

First Name: Samantha


Last Name: Smith
Security Role: Marketing Manager
UserName: ssmith@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The FieldPermission class is intended to be used in a scenario where it contains the data that defines the possible
field permission types.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Gets the user information that you have created manually in Office 365.
3. The QueryExpression method retrieves the security role needed to assign to the user.
4. The Team method instantiate a team entity record and set its property values.
Demonstrate
1. The FieldSecurityProfile method creates field security profile.
2. The AssociateRequest method adds team and user to the profile.
3. The CreateEntityRequest method creates a new custom activity entity for the sample.
4. The RolePrivilege method adds privileges for the new custom entity.
5. The AddPrivilegeRoleRequest method creates and execute the RolePrivilege method.
6. The FieldPermission method creates field permission object for identity.

Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Retrieve field sharing records
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve the PrincipalObjectAttributeAccess (field sharing) records for an entity. You can
download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The PrincipleObjectAttributeAccess message is intended to be used in a scenario where it retrieves the field
sharing records for an entity.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateAttributeRequest method creates the custom fields required for the sample.
Demonstrate
1. The WhoAMIRequest retrieves the current user's information.
2. The RetrieveUserPrivilegesRequest message checks if the current user has prvReadPOAA .
3. The PrincipalObjectAttributeAccess creates POAA entity for the custom fields created in the Setup(#setup).
4. Using the QueryExpression retrieve user shared attribute permissions.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Enable field security for an entity
4/2/2019 • 2 minutes to read • Edit Online

This sample shows how to enable field security for an entity. You can download the sample from here.
This sample requires additional users that are not in your system. Create the required users manually in Office
365 in order to run the sample without any errors. For this sample, create a user profile as is shown below.
First Name: Samantha
Last Name: Smith
Security Role: Marketing Manager
UserName: ssmith@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

How this sample works


In order to simulate the scenario described above, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Gets the user that you have created manually in Office 365.
3. Retrieve the security role needed to assign to the user.
4. Retrieve the default business unit needed to create the team.
5. Instantiate a team entity record and set its property values.
Demonstrate
1. Creates field security profile and create the request object and set the monikers with the
teamprofiles_assocation relationship.
2. Creates custom activity entity and attributes using the CreateEntityRequest and CreateAttributeRequest
message.
3. Create the field permission for the identity attribute.
Clean up
1. Display an option to delete the records in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Rollup goal data for a custom period against
the target revenue
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to roll up goal data for a custom period against the target revenue. You can download the
sample from here.
This sample requires additional three users that are not in your system. Create the three required users as is shown
below manually in Office 365. Replace yourorg with the organization name.
First Name: Nancy
Last Name: Anderson
Security Role: Salesperson
UserName: nanderson@yourorg.onmicrosoft.com
First Name: David
Last Name: Bristol
Security Role: Salesperson
UserName: dbristol@yourorg.onmicrosoft.com
First Name: Kevin
Last Name: Cook
Security Role: SalesManager
UserName: kcook@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to roll up goal data for a custom period against the target revenue.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the version of the org.
2. Retrieves the sales manager and 2 sales representatives created manually in Office 365.
3. Creates a sample unit group and retrieve the default unit id.
4. Creates few products and new discount list.
5. The PriceLevel creates the price list.
6. The ProductPriceLevel creates a price list item for the first product and apply volume discount.
7. Creates account record for the opportunity's potential customer id.
8. Creates a new opportunity with user specified estimated revenue.
9. Creates a catalog products and override the list price.
10. Creates a new write-in opportunity product with a manual discount applied.
Demonstrate
1. Creates Metric, and setting the Amount Data type to Money .
2. Creates a Rollup fields which targets the estimated values and actual values.
3. The GoalRollupQuery creates the goal rollup queries, locating the opportunities in the sales representative's
area.
4. Creates three goals, one parent goal and two child goals.
5. The RecalculateRequest calculates the rollup for goals.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Rollup goal data for a fiscal period against
the stretch target count
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to roll up goal data for a fiscal period against stretch target count, representing a number
of completed phone calls. You can download the sample from here.
This sample requires additional users that are not in your system. Create the three required users as is shown
below manually in Office 365. Replace yourorg with the organization name.
First Name: Nancy
Last Name: Anderson
Security Role: Salesperson
UserName: nanderson@yourorg.onmicrosoft.com
First Name: David
Last Name: Bristol
Security Role: Salesperson
UserName: dbristol@yourorg.onmicrosoft.com
First Name: Kevin
Last Name: Cook
Security Role: SalesManager
UserName: kcook@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to roll up goal data for a fiscal period against stretch target count representing a number
of completed telephone calls.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the version of the org.
2. Retrieves the sales manager and 2 sales representatives, created manually in Office 365.
3. Creates a PhoneCall record and supporting account record for the sample.
4. Creates ActivityPartys for the phone calls From field.
5. Creates an open phone call.
6. Closes the first phone call and creates a second one.
7. Closes the second phone call.
Demonstrate
1. Creates Metric, and setting the Metric type to count and enabling strech tracking.
2. Creates a rollup field which targets completed (received) phone calls.
3. The GoalRollupQuery creates the goal rollup queries, locating the incoming and outgoing closed phone calls.
4. Creates three goals, one parent goal and two child goals.
5. The RecalculateRequest calculates the rollup for goals.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Use rollup queries to track goals
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use rollup queries to track goals. You can download the sample from here.
This sample requires additional three users that are not in your system. Create the three required users as is shown
below manually in Office 365. Replace yourorg with the organization name.
First Name: Nancy
Last Name: Anderson
Security Role: Salesperson
UserName: nanderson@yourorg.onmicrosoft.com
First Name: David
Last Name: Bristol
Security Role: Salesperson
UserName: dbristol@yourorg.onmicrosoft.com
First Name: Kevin
Last Name: Cook
Security Role: SalesManager
UserName: kcook@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to use rollup queries to track goals.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Retrieves the sales manager and 2 sales representatives, created manually in Office 365.
3. Creates records to support SalesOrder records.
4. Creates a new unit group for the sample.
5. Retrieves the default unit id that is automatically created when we created a new unit group.
6. The Product creates few products that are required for the sample.
7. The PriceLevel creates a new price list.
8. The ProductPriceLevel creates a price list item for the first product and applies volume discount.
9. Creates an account record for the sales order's potential customer id.
10. The SalesOrderDetails adds the product to the order with the price overridden with a negative value.
Demonstrate
1. Creates Metric, and setting the Metric type to Amount and setting amount data type to Money .
2. The RollupField creates a rollup field which targets the actual totals.
3. The GoalRollupQuery creates the goal rollup queries, locating the sales orders in the first sales representative's
area (zip code: 60661) and with a value greater than $1000.
4. Creates two goals, one parent goal and one child goals.
5. The RecalculateRequest calculates the rollup for goals.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Override goal total count and close the goal
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to override the goal total count and close the goal. You can download the sample from
here.
This sample requires additional users that are not in your system. Create the required user as is shown below
manually in Office 365. Replace yourorg with the OrgName of your organization.
First Name: Samantha
Last Name: Smith
Security Role: Marketing Manager
UserName: ssmith@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to override the goal total count and close the goal.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the version of the org.
2. Retrieves the sales manager user created manually in Office 365.
3. Creates a PhoneCall record and supporting account record for the sample.
4. Creates ActivityPartys for the phone calls "From" field.
5. Creates an open phone call.
6. Closes the first phone call and creates a second one.
7. Closes the second phone call.
Demonstrate
1. Creates Metric, and setting the Metric type to count and also setting IsAmount to false.
2. The RollupFields creates a rollup field which targets completed (received) phone calls.
3. The GoalRollupQuery creates the goal rollup queries, locating the incoming and outgoing closed phone calls.
4. Creates a goal to track the open incoming phone calls.
5. The RecalculateRequest calculates the rollup for goals.
6. Overrides the actual and in-progress values of the goal.
7. Set goal.IsOverridden =true prevents the rollup values to be overwritten during the next recalculate operation.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Export and import a data map
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to create an import map (data map) in Common Data Service, export it as an XML
formatted data, import modified mappings, and create a new import map Common Data Service based on the
imported mappings. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection
string in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a
previously used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The BulkDeleteRequest message is intended to be used in a scenario where it contains data that is needed to
create the bulk delete request.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateImportMapping method creates the import mapping record.
3. The RetrieveMappingXML method exports the mapping that is created.
4. The ChangeMappingName method parse the xml to change the name attribute.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
See Also
Import data
Prepare source files for import
Create data maps for import
Add transformation mappings for import
Configure data import
Run data import
Data import entities
Sample: Import data using complex data map
Sample: Import data using complex data map
4/2/2019 • 2 minutes to read • Edit Online

This sample shows how to create new records by using data import. The sample uses a complex data map. You
can download the sample from here.

NOTE
The source data for this sample is contained in the following file ImportComplexDataMap\import accounts.csv

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection
string in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a
previously used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

How this sample works


In order to simulate the scenario described above, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The ImportMap method creates an import map.
3. The ColumnMapping method creates a column mapping for a text type field.
4. The EntityReference method relates the column mapping with the data map.
5. The LookUpMapping method creates a lookup mapping to the parent account.
6. The ImportFile method creates a import file.
7. The GetHeaderColumnsImportFileRequest method retrieves the header columns used in the import file.
8. The ParseImportRequest method parses the import file.
9. The RetrievedParsedDataImportFileRequest method retrieves the data from the parse table.
10. The TransformImportRequest method transforms the import.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
See Also
Import data
Prepare source files for import
Create data maps for import
Add transformation mappings for import
Configure data import
Run data import
Data import entities
Sample: Export and import a data map
Sample: Create a basic plug-in
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to write a simple plug-in that creates a follow -up activity. You can download the sample
from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy. This sample is located under PowerApps-
Samples-master\cds\orgsvc\C#\FollowupPlugin.
2. Open the sample solution in Visual Studio, navigate to the project's properties, and verify the assembly will be
signed during the build. Press F6 to build the sample's assembly (FollowupPlugin.dll).
3. Run the Plug-in Registration tool and register the sample's assembly in the D365 server's sandbox and
database. When registering a step, specify the Create message, account entity, and asynchronous mode.
4. Using the D365 app, perform the appropriate operation to invoke the message and entity request that you
registered the plug-in on (create an account).
5. After the plug-in runs, you should see a new trace log entry "FollowupPlugin: Successfully created the task
activity" and a new activity with the subject "Send e-mail to the new customer." that is scheduled to activate in 7
days.
6. When you are done testing, unregister the assembly and step.

What this sample does


When executed upon creation of an account, the plug-in creates an activity to remind the user to follow -up with
the account customer in 7 days.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Demonstrate
1. How to create a task activity and schedule it for a future date.
2. How to use the tracing service to log run-time information.
3. How to catch exceptions from the web service and process it.
See also
Write a plug-in
Register a plug-in
Sample: Modify query in PreOperation stage
9/23/2019 • 6 minutes to read • Edit Online

This sample shows how to write a plug-in that modifies a query defined within the PreOperation stage of a
RetrieveMultiple request.

Data filtering in a plug-in is commonly done in the PostOperation stage. The Entities data can be examined and
entities that should not be returned are removed from the collection. But this pattern introduces issues where the
number of records returned within a page may not match the expected paging sizes.
The approach described by this sample is different. Rather than filter entities after they have been retrieved, this
plug-in will apply changes to the query in the PreOperation stage before it is executed.
A key point demonstrated by this sample is that the Query can be one of three different types that are derived from
the QueryBase. To accommodate queries of any type, the plug-in code must detect the type of query and
implement the appropriate type of filter.
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy. This sample is located under PowerApps-
Samples-master\cds\orgsvc\C#\RetrieveMultipleAccountPreOperation.
2. Open the sample solution in Visual Studio, navigate to the project's properties, and verify the assembly will be
signed during the build. Press F6 to build the sample's assembly (RetrieveMultipleAccountPreOperation.dll).
3. Run the Plug-in Registration tool and register the assembly in the Common Data Service server's sandbox and
database for the PreOperation stage of the RetrieveMultiple message for the Account entity.
4. Using an app or write code to retrieve accounts to trigger the plug-in. See Code to test this sample below for an
example.
5. When you are done testing, unregister the assembly and step.

What this sample does


When executed, the plug-in will ensure that inactive account records will not be returned for the most common
types of queries: QueryExpression and FetchExpression.
QueryByAttribute is a third type of query that may also be used. It doesn't support complex queries and therefore
complex filtering cannot be applied using this method. Fortunately, this type of query is not frequently used. You
may want to reject queries of this type by throwing an InvalidPluginExecutionException in the PreValidation stage.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
1. Verify that the input parameters includes a parameter named Query
2. Test the type of the query by attempting to cast it as one of the three expected types.
3. Based on the type of the query, the query is altered in the following manner:
FetchExpression
1. Parse the Query value containing the FetchXml into an XDocument.
2. Verify that the entity element attribute attribute specifies the account entity.
3. Examine all the filter elements in the query for conditions that test the statecode attribute.
4. Remove any existing conditions based on that attribute.
5. Add a new filter to the Query that requires that only accounts where the statecode is not equal to 1
(Inactive) will be returned.
6. Set the modified query to the Query value

if (fetchExpressionQuery != null)
{
tracingService.Trace("Found FetchExpression Query");

XDocument fetchXmlDoc = XDocument.Parse(fetchExpressionQuery.Query);


//The required entity element
var entityElement = fetchXmlDoc.Descendants("entity").FirstOrDefault();
var entityName = entityElement.Attributes("name").FirstOrDefault().Value;

//Only applying to the account entity


if (entityName == "account")
{
tracingService.Trace("Query on Account confirmed");

//Get all filter elements


var filterElements = entityElement.Descendants("filter");

//Find any existing statecode conditions


var stateCodeConditions = from c in filterElements.Descendants("condition")
where c.Attribute("attribute").Value.Equals("statecode")
select c;

if (stateCodeConditions.Count() > 0)
{
tracingService.Trace("Removing existing statecode filter conditions.");
}
//Remove statecode conditions
stateCodeConditions.ToList().ForEach(x => x.Remove());

//Add the condition you want in a new filter


entityElement.Add(
new XElement("filter",
new XElement("condition",
new XAttribute("attribute", "statecode"),
new XAttribute("operator", "neq"), //not equal
new XAttribute("value", "1") //Inactive
)
)
);
}

fetchExpressionQuery.Query = fetchXmlDoc.ToString();

QueryExpression
1. Verify that the EntityName is the account entity.
2. Loop through the Criteria.Filters collection
3. Use the recursive RemoveAttributeConditions method to look for any ConditionExpression instances that test
the statecode attribute and remove them.
4. Add a new FilterExpression to the Criteria.Filters collection that requires that only accounts where the
statecode is not equal to 1 ( Inactive) will be returned.
if (queryExpressionQuery != null)
{
tracingService.Trace("Found Query Expression Query");
if (queryExpressionQuery.EntityName.Equals("account"))
{
tracingService.Trace("Query on Account confirmed");

//Recursively remove any conditions referring to the statecode attribute


foreach (FilterExpression fe in queryExpressionQuery.Criteria.Filters)
{
//Remove any existing criteria based on statecode attribute
RemoveAttributeConditions(fe, "statecode", tracingService);
}

//Define the filter


var stateCodeFilter = new FilterExpression();
stateCodeFilter.AddCondition("statecode", ConditionOperator.NotEqual, 1);
//Add it to the Criteria
queryExpressionQuery.Criteria.AddFilter(stateCodeFilter);
}

RemoveAttributeConditions method
A recursive method that removes any conditions for a specific named attribute

/// <summary>
/// Removes any conditions using a specific named attribute
/// </summary>
/// <param name="filter">The filter that may have a condition using the attribute</param>
/// <param name="attributeName">The name of the attribute that should not be used in a condition</param>
/// <param name="tracingService">The tracing service to use</param>
private void RemoveAttributeConditions(FilterExpression filter, string attributeName, ITracingService
tracingService)
{

List<ConditionExpression> conditionsToRemove = new List<ConditionExpression>();

foreach (ConditionExpression ce in filter.Conditions)


{
if (ce.AttributeName.Equals(attributeName))
{
conditionsToRemove.Add(ce);
}
}

conditionsToRemove.ForEach(x =>
{
filter.Conditions.Remove(x);
tracingService.Trace("Removed existing statecode filter conditions.");
});

foreach (FilterExpression fe in filter.Filters)


{
RemoveAttributeConditions(fe, attributeName, tracingService);
}
}

QueryByAttribute
Because QueryByAttribute doesn't support complex filters, only write a message to the plug-in trace log.
If you don't want this type of query to be used at all, you could throw an InvalidPluginExecutionException to
prevent the operation, but this would be better applied during the PreValidation stage.
if (queryByAttributeQuery != null)
{
tracingService.Trace("Found Query By Attribute Query");
//Query by attribute doesn't provide a complex query model that
// can be manipulated
}

Code to test this sample


The following code demonstrates 5 different ways to perform the same query that will trigger the plug-in.
By specifying a specific criteria, in this case the address1_city attribute value, which only one active record will
match, these queries will return just that record.
Then, deactivate that record and run this code a second time. No records will be returned.

try
{
string account_city_value = "ValueForTesting";

//QueryByAttribute
var queryByAttribute = new QueryByAttribute("account")
{
TopCount = 1,
ColumnSet = new ColumnSet("accountid", "name")
};
queryByAttribute.AddAttributeValue("address1_city", account_city_value);
queryByAttribute.AddOrder("name", OrderType.Descending);

//QueryExpression
var queryExpression = new QueryExpression("account")
{ ColumnSet = new ColumnSet("accountid", "name"), TopCount = 1 };
queryExpression.Orders.Add(new OrderExpression("name", OrderType.Descending));
var qeFilter = new FilterExpression(LogicalOperator.And);
qeFilter.AddCondition(new ConditionExpression("address1_city", ConditionOperator.Equal,
account_city_value));
queryExpression.Criteria = qeFilter;

//Fetch
var fetchXml = $@"<fetch mapping='logical' count='1'>
<entity name='account'>
<attribute name='accountid'/>
<attribute name='name'/>
<order attribute='name' descending='true' />
<filter>
<condition attribute='address1_city' operator='eq' value='{account_city_value}' />
</filter>
</entity>
</fetch>";

var fetchExpression = new FetchExpression(fetchXml);

//Get results:
var queryByAttributeResults = service.RetrieveMultiple(queryByAttribute);
var queryExpressionResults = service.RetrieveMultiple(queryExpression);
var fetchExpressionResults = service.RetrieveMultiple(fetchExpression);

//WebAPI
string WebAPIAccountName = string.Empty;

Dictionary<string, List<string>> ODataHeaders = new Dictionary<string, List<string>>() {


{"Accept", new List<string>(){"application/json" } },
{"OData-MaxVersion", new List<string>(){ "4.0" } },
{"OData-Version", new List<string>(){ "4.0" } }};
HttpResponseMessage response = service.ExecuteCrmWebRequest(HttpMethod.Get,
$"accounts?$select=accountid,name&$top=1&$orderby=name desc&$filter=address1_city eq
'{account_city_value}'",
string.Empty,
ODataHeaders);
if (response.IsSuccessStatusCode)
{
var results = response.Content.ReadAsStringAsync().Result;
var jsonResults = JObject.Parse(results);
var accounts = (JArray)jsonResults.GetValue("value");
if (accounts.Count > 0)
{
var account = accounts.First();
WebAPIAccountName = account.Value<string>("name");
}

else
{
Console.WriteLine(response.ReasonPhrase);
}

//Using Fetch with Web API


string FetchWebAPIAccountName = string.Empty;
HttpResponseMessage fetchResponse = service.ExecuteCrmWebRequest(HttpMethod.Get,
$"accounts?fetchXml=" + Uri.EscapeDataString(fetchXml),
string.Empty,
ODataHeaders);
if (fetchResponse.IsSuccessStatusCode)
{

var results = fetchResponse.Content.ReadAsStringAsync().Result;


var jsonResults = JObject.Parse(results);
var accounts = (JArray)jsonResults.GetValue("value");
if (accounts.Count > 0)
{
var account = accounts.First();
FetchWebAPIAccountName = account.Value<string>("name");
}
}

else
{
Console.WriteLine(fetchResponse.ReasonPhrase);
}

string no_records_message = "No records returned";

Console.WriteLine("QueryByAttribute Account Returned: {0}", queryByAttributeResults.Entities.Count > 0 ?


queryByAttributeResults.Entities[0]["name"] : no_records_message);
Console.WriteLine("QueryExpression Account Returned: {0}", queryExpressionResults.Entities.Count > 0 ?
queryExpressionResults.Entities[0]["name"] : no_records_message);
Console.WriteLine("Fetch Account Returned: {0}", fetchExpressionResults.Entities.Count > 0 ?
fetchExpressionResults.Entities[0]["name"] : no_records_message);
Console.WriteLine("WebAPI Account Returned: {0}", WebAPIAccountName != string.Empty ?
WebAPIAccountName : no_records_message);
Console.WriteLine("WebAPI Fetch Account Returned: {0}", FetchWebAPIAccountName != string.Empty ?
FetchWebAPIAccountName : no_records_message);

}
catch (Exception ex)
{

throw ex;
}
See also
Implement all types of queries when filtering results using PreOperation RetrieveMultiple
Sample: Web access from a plug-in
8/20/2019 • 3 minutes to read • Edit Online

This sample shows how to write a plug-in that can access web (network) resources like a web service or feed. It
also demonstrates how to limit the time duration allowed for this call. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy. This sample is located under PowerApps-
Samples-master\cds\orgsvc\C#\WebAccessPlugin.
2. There are two different plug-in class examples:
WebClientPlugin uses WebClient Class
HttpClientPlugin uses HttpClient Class
3. Open the sample solution in Visual Studio, navigate to the project's properties, and verify the assembly will be
signed during the build. Press F6 to build the sample's assembly (WebAccessPlugin.dll).
4. Run the Plug-in Registration tool and register the assembly in the Common Data Service server's sandbox and
database.
5. For either plug-in type, when registering a step, specify a web URI string (i.e., http://www.microsoft.com ) in the
unsecure configuration field.
The default value http://www.bing.com will be used if none is provided.
6. Using an app or write code to perform the appropriate operation to invoke the message and entity request that
you registered the plug-in on.
7. When the plug-in runs, if the duration of the call exceeds the 15 second limit, it will throw an error. Otherwise it
should succeed.
8. When you are done testing, unregister the assembly and step.

What this sample does


When executed, the plug-in downloads web page data from the specified web service address (or the default
address). If the request exceeds the 15 second limit it will throw an InvalidPluginExecutionException and write
details to the Plugin Trace Log.
If the WebClientPlugin plugin fails, it will write something like the following to the Plugin Trace log:

Downloading the target URI: http://www.bing.com


Exception: Microsoft.Xrm.Sdk.InvalidPluginExecutionException: The timeout elapsed while attempting to
issue the request. ---> System.Net.WebException: The operation has timed out
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadData(Uri address)
at PowerApps.Samples.WebClientPlugin.Execute(IServiceProvider serviceProvider)
--- End of inner exception stack trace ---
at PowerApps.Samples.WebClientPlugin.Execute(IServiceProvider serviceProvider)

If the HttpClientPlugin plugin fails, it will write something like the following to the Plugin Trace log:
Downloading the target URI: http://www.bing.com
Inner Exceptions:
Exception: System.Threading.Tasks.TaskCanceledException: A task was canceled.
Exception: Microsoft.Xrm.Sdk.InvalidPluginExecutionException: An exception occurred while attempting to
issue the request.
at PowerApps.Samples.HttpClientPlugin.Execute(IServiceProvider serviceProvider)

The TaskCanceledException is somewhat ambigous about the cause of the task being cancelled. For a more
complete solution showing how to explicitly detect errors due to time outs, see this blog post: Better
timeout handling with HttpClient.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks the constuctor's unsecure configuration parameter for a web address value; otherwise, the default value
is used.
2. Depending on which plug-in is registered, either the WebClient Class or HttpClient Class class is used by the
plug-in's Execute method to download web page data.
3. If the call exceeds the 15 second duration specified, an InvalidPluginExecutionException will be thrown and
details about the error will be written to the Plugin Trace Log.
Demonstrate
WebClientPlugin plugin
1. Uses a derived CustomWebClient class to set the WebRequest.Timeout Property that is not available in the
WebClient class.

/// <summary>
/// A class derived from WebClient with 15 second timeout and KeepAlive disabled
/// </summary>
public class CustomWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
if (request != null)
{
request.Timeout = 15000; //15 Seconds
request.KeepAlive = false;

}
return request;
}
}

2. Uses the WebClient.DownloadData Method to download the data from the resource.
3. Shows how to parse the expected WebException Class and use the Status Property to determine whether
the cause of the failure was due to a timeout.
HttpClientPlugin plugin
1. Uses the HttpClient Class and sets the Timeout Property to limit the allowed time for the operation to
complete.
2. Catches the expected AggregateException Class and examines the inner exceptions for the expected
TaskCanceledException
See also
Access external web resources
Register a plug-in
Sample: Add a record to a queue
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to add a record to a queue. It creates source and destination queues. It adds a letter activity
to the source queue and then moves it to the destination queue. You can download the sample from here.
This sample requires additional users that are not in your system. Create the users manually in Office 365 in order
to run the sample without any errors. For this sample create a user profile as is shown below.
First Name: Kevin
Last Name: Cook
Security Role: Sales Manager
UserName: kcook@yourorg.onmicrosoft.com

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The AddToQueueRequest message is intended to be used in a scenario where it contains data that is needed to move
an entity record from a source queue to destination queue.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Queue method creates source and destination queues and store their returned GUIDs in variable.
3. Creates a Letter entity.
4. The AddToQueueRequest method adds an entity record into a queue, in this sample it associates the letter with
first queue.
5. Retrieves the user created manually in Office 365 for assigning the queue items to the user's queue.
Demonstrate
1. The RetrieveUserQueueRequest message retrieves the known private queues for the user.
2. The AddToQueueRequest message adds the record from a source queue to destination queue.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Add a security principal (user or team) to a
queue
3/22/2019 • 2 minutes to read • Edit Online

This sample showcases how to give a user or a team access to a queue. The AddPrincipalToQueueRequest adds the
specified principal to the list of queue members. If the passed-in security principal is a team each member of the
team is added to the queue. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The AddPrincipalToQueueRequest message is intended to be used in a scenario where it contains data that is needed
to add the specified principal to the list of queue members. If the principal is a team, add each team member to the
queue.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Queue method creates a queue instance and set its property values. The returned GUIDs are stored in a
variable.
3. The QueryExpression retrieves the default business unit for the creation of the team and role.
4. Creates a new example team and role required for the sample.
5. Retrieves the prvReadQueue and prvAppendToQueue privileges.
6. The AddPrivilegeRoleRequest method adds the prvReadQueue abd prvAppendToQueue privileges to the example
role.
Demonstrate
1. The AddPrincipalToQueueRequest method adds the team to the queue.
Clean up
1. Display an option to delete the sample data in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Clean up history for a queue
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to clean up the history for the queue by using RemoveFromQueueRequest with inactive
items. It finds completed phone calls in the queue and removes the associated queue items. You can download the
sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RemoveFromQueueRequest message is intended to be used in a scenario to clean up the queue history with
inactive items.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. Creates a queue instance and set its property values.
3. Creates a phone call activity instance and also queueitems instance and initializes its properties.
4. Marks the phone call as completed.
Demonstrate
1. Retrieves the queueitem with inactive phone calls from a queue using the RemoveFromQueueRequest
message.
Clean up
1. Display an option to delete the records created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Release a queue item to the queue
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use ReleaseToQueueRequest to dissociate a user from a queue item that he or she
worked on and release a queue item back to the queue. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The ReleaseToQueueRequest message is intended to be used in a scenario where it contains data that is needed to
assign a queue item back to the queue owner so others can pick it.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Queue message creates a new queue and store its returned GUIDs in a variable.
3. The QueueItem message creates a new instance of a queueitem and initialize its properties.
4. The WhoAMIRequest retrieves the current user's information.
Demonstrate
1. The ReleaseToQueueRequest message removes worker from queue item to release queued object from worker's
queue.
Clean up
1. Display an option to delete the sample data created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Specify a queue item to work on
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use PickFromQueueRequest to specify a user who will work on a queue item. You can
download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The PickFromQueueRequest message is intended to be used in a scenario where it contains data that is needed to
assign a queue item to a user and optionally remove the queue item from the queue.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Queue method creates a private queue instance and set its property values.
3. The QueueItem method creates a new instance of queueitem and initialize its properties.
Demonstrate
1. The WhoAmIRequest method retrieves the current user information.
2. The PickFromQueueRequest method creates an instance of an existing queueitem in order to specify the user that
will be working on it.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Retrieve absolute URL and site collection
URL of a location record
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve the absolute URL and the site collection URL of a SharePoint Server location
record using the RetrieveAbsoluteAndSiteCollectionUrlRequest message.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveAbsoluteAndSiteCollectionUrlRequest messages is intended to be used in a scenario that contains data
that is needed to retrieve the absolute URL nd the site collection URL for a SharePoint location record.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateRequireRecords method creates entity records that are used by the sample.
Demonstrate
1. The RetrieveAbsoluteAndSiteCollectionUrlRequest is used to retrieve the absolute URL and site collection URL
of the SharePoint record.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Execute multiple requests
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to execute multiple organization message requests by using a single web service method
call, passing ExecuteMultipleRequest as a parameter. Reducing the number of message requests that must be
transmitted over the network results in increased message processing performance.
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The ExecuteMultipleRequest message is intended to be used in a scenario where it contains data that is needed to
execute one or more messages requests as a single batch operation, and optionally return a collection of results.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. The ExecuteMultipleRequest method creates the ExecuteMultipleRequest object.
2. The ExecutingMultipleSettings method assigns settings that define execution behaviour: continue on error,
return responses.
3. The OrganizationRequestCollection method creates an empty organization request collection.
4. The CreateRequest method is added for each entity to the request collection.
5. The GetCollectionOdEntitiesToUpdate class updates the entities that are previously created.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Work with solutions
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to how to perform the following actions with solutions:
Create a publisher.
Retrieve the default publisher.
Create a solution.
Retrieve a solution.
Add an existing solution component.
Remove a solution component.
Export or package a solution.
Install or upgrade a solution.
Delete a solution.
You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a previously
used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


This sample shows how to work with solutions. This sample covers how to create a publisher, create a solution,
export and import solution and also how to delete the solution.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Publisher method defines a new publisher.
3. The Solution method creates a new solution.
4. The OptionSetMetadata method adds a solution component.
5. The ExportSolutionRequest method exports the created solution in the Setup.
6. The DeleteSolutionRequest method deletes the solution and the components.
Demonstrate
1. The querySDKSamplePublisher method checks whether the publisher is already in the system.
2. The querySampleSolutionResults method checks whether the solution is already in the system.
3. The ExportSolutionRequest method exports the solution.
4. The ImportSolutionRequest method imports the solution.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Detect solution dependencies
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to detect dependencies before you delete a solution component.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveDependentComponentsRequest , RetrieveDependenciesForDeleteRequest messages are intended to be used
in a scenario where it contains data to detect solution dependencies. You can download the sample from here.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Publisher method creates the sample publisher that will own the two solutions.
3. The Solution method creates the primary solution.
4. The OptionSetMetadata creates the global option set and associates it to the solution.
5. The ExportSolutionRequest exports the solution as managed so that we can later import it.
6. The DeleteOptionSetRequest deletes the option set previously created, so it can be imported under the managed
solution.
7. The ImportSolutionRequest re-imports the solution as managed.
Demonstrate
1. The QueryByAttribute queries all solution components for a solution.
2. The RetrieveDependentComponentsRequest retrieves all the dependencies for the component. If there are no
dependencies we can ignore this component. If there are dependencies upon this solution component, and the
solution itself is managed, then you will be unable to delete the solution.
Clean up
1. Display an option to delete the solutions created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Retrieve time zone information
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve time zone information. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a previously
used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The RetrieveAllTimeZonesForLocale method is intended to be used in a scenario where it uses the current locale id
to retrieve all the time zones.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. The RetrieveCurrentUSerSettings method retrieves the current users timezone code and locale id.
2. The RetrieveAllTimeZonesForLocale method uses the current locale id and retrieves all the time zones.
3. The GetTimeZoneCodeByLocaleAndName method retrieves the timezone by name and locale id.
4. The RetrieveTimeZoneById method retrieves the timezone by id.
5. The RetrieveTimeZonesLessThan50 method retrieves time zones less than 50.
6. The RetrieveLocalTimeFromUTCTime method retrieves the local time from UTC time.
7. The RetrieveUTCTimeFromLocalTime method retrieves the UTC time from the locale time.
Clean up
1. Display an option to delete the sample data that is created in Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Use QueryExpression with a paging cookie
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use the paging cookie in a QueryExpression query to retrieve successive pages of query
results. It uses the IOrganizationService.RetrieveMultiple method. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService.RetreiveMultiple method is intended to be used in a scenario where it retrieves a
collection of records.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates a parent account record and 10 child account records.
Demonstrate
1. The ConditionExpress defines the condition expression for retrieving records.
2. The OrderExpression method defines the order expression to retrieve the records.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Retrieve multiple with the QueryExpression
class
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve multiple entities using the IOrganizationService.RetrieveMultiple(QueryBase)
method with QueryExpression along with their related entity columns. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The QueryExpression class is intended to be used in a scenario where it contains a complex query expressed in a
hierarchy of expressions.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
Demonstrate
1. Creates multiple accounts with primary contacts.
2. The QueryExpression class creates a query expression specifying the link entity alias and the columns of the link
entity that you want to return.
Clean up
1. No clean up is required.
Sample: Retrieve multiple with the QueryByAttribute
class
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use QueryByAttribute in the RetrieveMultiple method. You can download the sample
from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The QueryByAttribute class is intended to be used in a scenario where it contains a query that is expressed as a set
of attribute and value pairs.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates 2 account records.
Demonstrate
1. The QueryByAttribute method creates query using QueryByAttribute.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Convert queries between FetchXML and
QueryExpression
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to convert queries between FetchXML and QueryExpression. You can download the
sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The QueryExpression and fetchExpression messages are intended to be used in a scenario that contains queries in
a hierarchy of expressions and FetchXML respectively.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateRequireRecords method creates an account and two contact records that are used by the sample.
3. The QueryExpression builds a query expression that we will convert into FetchXML.
4. The DoFetchXmlToQueryExpressionConversion class creates a Fetch query that we will convert into a query
expression.
5. The conversionRequest method converts the generated query expression into FetchXML and vice versa.
6. Use the converted query to make retrieve multiple request.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Retrieve records from an intersect table
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve records from an intersect table. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The QueryExpression message is intended to be used in a scenario that contains queries in a hierarchy of
expressions.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateRequireRecords method creates entity records that are used by the sample.
3. The QueryExpression message is used to retrieve the default business unit needed to create the team.
4. The WhoAmIRequest gets the GUID of the current user.
5. The Role message instantiate a role entity record and set its property values.
6. The AssociateRequest assigns the user to the Managers role.
Demonstrate
1. The QueryExpression retrieves the records from an intersect table.
2. The RetrieveMultipleRequest builds the fetch request and obtains the results.
Clean up
1. Display an option to delete the records created in the Setup.
The deletion is optional in case you want to examine the entities and data created by the sample. You can
manually delete the records to achieve the same result.
Sample: Validate and execute a saved query
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use the IOrganizationService.ValidateSavedQueryRequest message to validate a


FetchXML query, and then use the IOrganizationService.ExecuteByIdSavedQueryRequest message to execute the
query. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample and
you will need to enter information about which Common Data Service instance you want to connect to and which
credentials you want to use. This dialog will cache previous connections so that you can choose a previously used
connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The ValidateSavedQueryRequest class is intended to be used in a scenario where it contains the data that is needed
to validate a saved query (view ).
The ExecuteByIdSavedQueryRequest class is intended to be used in a scenario where it contains data that is needed
to execute a saved query (view ) that has the specified ID.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates 3 account records.
3. The SavedQuery method creates a Saved query.
4. The UserQuery method creates a User query.
Demonstrate
1. The ValidateSavedQueryRequest method creates the validate request.
2. The ExecuteByIdSavedQueryRequest method executes the saved query.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Use aggregation in FetchXML
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to retrieve aggregate record data using FetchXML.

What this sample does


The FetchXML query is intended to be used in a scenario where it creates queries to get the data.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The CreateRequiredRecords class creates 3 opportunity records and account record.
Demonstrate
1. The estimatedvalue_avg fetches the average of estimatedvalue for all the opportunities. The EntityCollection
method returns the results of the RetrieveMultiple request.
2. The opportunity_count fetches the count of all opportunites.
3. The estimatedvalue_max fetches the maximum estimatedvalue of all opportunites.
4. The estimatedvalue_min fetches the minimum estimatedvalue of all opportunities.
5. The estimatedvalue_sum fetches the sum of estimatedvalue for all opportunities.
6. The estimatedvalue_avg2 fetches the multiple aggregate values within a single query.
7. The groupby1 fetches a list of users with a count of all the opportunites they own using the groupby.
8. The byyear fetches the aggregate information about all the opportunites that have been won by year.
9. The byquarter fetches the aggregate information about the opportunities that have been won by quarter.
10. The bymonth fetches the aggregate information about the opportunities that have been won by month.
11. The byweek fetches the aggregate information about the opportunities that have been won by week.
12. The byday fetches the aggregate information about the opportunities that have been won by day.
13. The byyrqtr fetches the aggregate information about the opportunities that have been won by year and
quarter.
14. The byyrqtr2 specifies the result order.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Use FetchXML with a paging cookie
3/22/2019 • 2 minutes to read • Edit Online

This sample shows how to use the paging cookie in a FetchXML query to retrieve successive pages of query
results. It uses the IOrganizationService. RetrieveMultiple method. You can download the sample from here.

How to run this sample


1. Download or clone the Samples repo so that you have a local copy.
2. (Optional) Edit the cds/App.config file to define a connection string specifying the Common Data Service
instance you want to connect to.
3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string
in cds/App.config, any sample you run will use that connection information.
If you do not specify a connection string in cds/App.config file, a dialog will open each time you run the sample
and you will need to enter information about which Common Data Service instance you want to connect to and
which credentials you want to use. This dialog will cache previous connections so that you can choose a previously
used connection.
Those samples in this repo that require a connection to a Common Data Service instance to run will include a
linked reference to the cds/App.config file.

What this sample does


The IOrganizationService.Retrieve method is intended to be used in a scenario where it contains data that
retrieves all the records.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
1. Checks for the current version of the org.
2. The Account method creates an parent account record and also 10 child account records.
Demonstrate
1. The fetchXml creates the FetchXML string for retrieving all child accounts to a parent account. This fetch query
is using 1 placeholder to specify the parent account id for filtering out required accounts.
Clean up
1. Displays an option to delete all the data created in the sample.
The deletion is optional in case you want to examine the data created by the sample. You can manually delete the
data to achieve same results.
Sample: Access the Discovery service
3/22/2019 • 2 minutes to read • Edit Online

Work with Discovery Service


This sample code shows how to use the discovery service with SDK assemblies. You can download the sample
from here

How to run this sample


This sample will not open dialog to prompt you for connection information.
If you have set Username and Password values in the App.config connection strings it will use them. Otherwise, set
the username and password variables in the SampleProgram.Main method.

What this sample does


This sample uses the SDK Assembly DiscoveryServiceProxy to query the discovery service with a user's credentials
to determine which environments they can connect with.
If one or more environments are returned, the sample will prompt the user to choose one, and then use a
WhoAmIRequest to return the SystemUser.UserId for that environment.

How this sample works


In order to simulate the scenario described in What this sample does, the sample will do the following:
Setup
This sample requires no special setup except that there are valid user credential username and password to use.
If you know the regional data center that your environments are in, the sample will run faster if you set this value at
line 40 of the SampleProgram.cs file.
In SampleMethods.cs there is a DataCenter enumeration for each of the known data centers. Each enumeration
member is decorated with a Description notation. All of these members except Unknown have the URL for the
regional discovery service set as the description.
Demonstrate
1. Using the user credentials and the dataCenter value, the program uses the GetAllOrganizations static
method to retrieve all known environments for the user.
2. The GetAllOrganizations method detects whether the dataCenter value is set to DataCenter.Unknown . If it is
set to this member, this method will loop through all the other members in the DataCenter enum and
retrieve any environments that are found using the GetOrganizationsForDataCenter static method.
If a specific data center is set, GetAllOrganizations will simply call GetOrganizationsForDataCenter with those
values.
3. The GetOrganizationsForDataCenter method extracts the data center discovery service Url from the member
Description decoration and uses it together with the user credentials to execute the
RetrieveOrganizationsRequest discovery service message.
A System.ServiceModel.Security.SecurityAccessDeniedException is expected when the user has no
environments in a specific data center.
4. If any environments are returned by the GetAllOrganizations method, they will be listed in the console and
you will be prompted to choose one by typing a number. If your choice is valid, the selected environment
data is used to execute a WhoAmIRequest and return the SystemUser.UserId for the user in that environment.
Clean up
This sample creates no records. No cleanup is required.
Developer resources page
3/22/2019 • 2 minutes to read • Edit Online
Developer tools and resources
6/21/2019 • 2 minutes to read • Edit Online

Developers will use the following tools and resources when working with solutions using Common Data Service.

Tools available for download from NuGet


The following tools are distributed in NuGet packages. The Developer Guide: Download tools from NuGet topic
includes a PowerShell script you can use to download and extract the latest versions of these tools.

TOOL DESCRIPTION

Code generation tool CrmSvcUtil.exe A command-line code generation tool that generates early-
bound .NET Framework classes that represent the entity data
model used by the organization service.
More information:
Organization Service
Create early bound entity classes with the code generation
tool

Configuration Migration tool DataMigrationUtility.exe Used to move configuration data across environments.
Configuration data is used to define custom functionality and
is typically stored in custom entities. This tool is not designed
to move business data.
More information: Common Data Service Administrator
Guide: Move configuration data across instances and
organizations with the Configuration Migration tool

Package Deployer PackageDeployer.exe Used to deploy packages on Common Data Service instances.
A package is an installable unit that includes solutions.
More information:
Deploy Solution Packages
Create packages for the Common Data Service Package
Deployer

Plug-in Registration Tool PluginRegistration.exe A tool used to subscribe .NET assembly plug-in classes to
server events.
More information:
Create a plug-in
Register a plug-in

SolutionPackager tool SolutionPackager.exe A tool that can reversibly decompose a Common Data Service
compressed solution file into multiple XML files and other files
so that these files can be easily managed by a source control
system.
More information:
Team development of solutions
Use the SolutionPackager tool to compress and extract a
solution file

.NET SDK Assemblies


The following are assemblies .NET developers can use. The latest versions are available to download in the
corresponding NuGet packages.
Work with data
Use these assemblies to interact with the organization service and discovery services.
More information: Use the Common Data Service Organization service
NuGet Package: Microsoft.CrmSdk.CoreAssemblies

ASSEMBLY NAMESPACES

Microsoft.Crm.Sdk.Proxy.dll Microsoft.Crm.Sdk
Microsoft.Crm.Sdk.Messages

Microsoft.Xrm.Sdk.dll Microsoft.Xrm.Sdk
Microsoft.Xrm.Sdk.Client
Microsoft.Xrm.Sdk.Discovery
Microsoft.Xrm.Sdk.Messages
Microsoft.Xrm.Sdk.Metadata
Microsoft.Xrm.Sdk.Metadata.Query
Microsoft.Xrm.Sdk.Organization
Microsoft.Xrm.Sdk.Query
Microsoft.Xrm.Sdk.WebServiceClient

Create Process Designer (Workflow) extensions


Use this assembly to add custom activities to the Process designer.
More information Custom workflow activities (workflow assemblies)
NuGet Package: Microsoft.CrmSdk.Workflow

ASSEMBLY NAMESPACES

Microsoft.Xrm.Sdk.Workflow.dll Microsoft.Xrm.Sdk.Workflow
Microsoft.Xrm.Sdk.Workflow.Activities
Microsoft.Xrm.Sdk.Workflow.Designers

Build windows client applications


Use these assemblies to facilitate connecting to the organization service and to build windows client applications.
More information Build Windows client applications using the XRM tools
NuGet Packages:
Microsoft.CrmSdk.XrmTooling.CoreAssembly (Microsoft.Xrm.Tooling.Connector.dll)
Microsoft.CrmSdk.XrmTooling.WpfControls

ASSEMBLY NAMESPACES

Microsoft.Xrm.Tooling.Connector.dll Microsoft.Xrm.Tooling.Connector
Microsoft.Xrm.Tooling.Connector.Model

Microsoft.Xrm.Tooling.CrmConnectControl.dll Microsoft.Xrm.Tooling.CrmConnectControl
Microsoft.Xrm.Tooling.CrmConnectControl.Model
Microsoft.Xrm.Tooling.CrmConnectControl.Properties
Microsoft.Xrm.Tooling.CrmConnectControl.Utility

Microsoft.Xrm.Tooling.WebResourceUtility.dll Microsoft.Xrm.Tooling.WebResourceUtility

Create packages
Use these assemblies to create packages for the Package Deployer.
More information: Create packages for the Common Data Service Package Deployer
NuGet Package: Microsoft.CrmSdk.XrmTooling.PackageDeployment

ASSEMBLY NAMESPACE

Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtent Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtent
ionBase.dll ionBase

Create Custom virtual entity data providers


Use this assembly to create custom virtual entity data providers.
More information: Get started with virtual entities
NuGet Package: Microsoft.CrmSdk.Data

ASSEMBLY NAMESPACES

Microsoft.Xrm.Sdk.Data.dll Microsoft.Xrm.Sdk.Data
Microsoft.Xrm.Sdk.Data.CodeGen
Microsoft.Xrm.Sdk.Data.Converters
Microsoft.Xrm.Sdk.Data.Exceptions
Microsoft.Xrm.Sdk.Data.Expressions
Microsoft.Xrm.Sdk.Data.Infra
Microsoft.Xrm.Sdk.Data.Mappings

Extend Outlook Client


Use this assembly to interact with Microsoft Dynamics 365 for Outlook and Microsoft Common Data Service for
Microsoft Office Outlook with Offline Access.
More information: Extend Dynamics 365 for Outlook
NuGet Package: Microsoft.CrmSdk.Outlook

ASSEMBLY NAMESPACE

Microsoft.Crm.Outlook.Sdk.dll Microsoft.Crm.Outlook.Sdk
Download tools from NuGet
3/22/2019 • 2 minutes to read • Edit Online

You can download tools used in development from NuGet using the powershell script found below. These tools
include:

TOOL NUGET PACKAGE

Code generation tool CrmSvcUtil.exe Microsoft.CrmSdk.CoreTools

Configuration Migration tool DataMigrationUtility.exe Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf

Package Deployer PackageDeployer.exe Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF

Plug-in Registration Tool PluginRegistration.exe Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool

SolutionPackager tool SolutionPackager.exe Microsoft.CrmSdk.CoreTools

Download tools using PowerShell


1. In your Windows Start menu, type Windows Powershell and open it.
2. Navigate to the folder you want to install the tools to. For example if you want to install them in a
devtools folder on your D drive, type cd D:\devtools .

3. Copy and paste the following PowerShell script into the PowerShell window and press Enter.
$sourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$targetNugetExe = ".\nuget.exe"
Remove-Item .\Tools -Force -Recurse -ErrorAction Ignore
Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe
Set-Alias nuget $targetNugetExe -Scope Global -Verbose

##
##Download Plugin Registration Tool
##
./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .\Tools
md .\Tools\PluginRegistration
$prtFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match
'Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.'}
move .\Tools\$prtFolder\tools\*.* .\Tools\PluginRegistration
Remove-Item .\Tools\$prtFolder -Force -Recurse

##
##Download CoreTools
##
./nuget install Microsoft.CrmSdk.CoreTools -O .\Tools
md .\Tools\CoreTools
$coreToolsFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.CoreTools.'}
move .\Tools\$coreToolsFolder\content\bin\coretools\*.* .\Tools\CoreTools
Remove-Item .\Tools\$coreToolsFolder -Force -Recurse

##
##Download Configuration Migration
##
./nuget install Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf -O .\Tools
md .\Tools\ConfigurationMigration
$configMigFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match
'Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf.'}
move .\Tools\$configMigFolder\tools\*.* .\Tools\ConfigurationMigration
Remove-Item .\Tools\$configMigFolder -Force -Recurse

##
##Download Package Deployer
##
./nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF -O .\Tools
md .\Tools\PackageDeployment
$pdFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match
'Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf.'}
move .\Tools\$pdFolder\tools\*.* .\Tools\PackageDeployment
Remove-Item .\Tools\$pdFolder -Force -Recurse

##
##Remove NuGet.exe
##
Remove-Item nuget.exe

4. You will find the tools in the following folders:


[Your folder]\Tools\ConfigurationMigration
[Your folder]\Tools\CoreTools
[Your folder]\Tools\PackageDeployment
[Your folder]\Tools\PluginRegistration

To get the latest version of these tools, repeat these steps.

See Also
Developer tools
Visual Studio and the .NET Framework
Create early bound entity classes
Create extensions for the code generation tool
Browse the metadata for your organization
Deploy packages using Dynamics 365 Package Deployer and Windows PowerShell
Register a plug-in
Community tools for Common Data Service
3/22/2019 • 2 minutes to read • Edit Online

The Common Data Service community creates tools! Many of the most popular ones are distributed in the
XrmToolBox. XrmToolBox is a Windows application that connects to Common Data Service, providing tools to ease
customization, configuration and operation tasks. It is shipped with more than 30 plugins to make administration,
customization or configuration tasks easier and less time consuming.
The following is a selected list of community tools distributed via the XrmToolBox that you can use with Common
Data Service.

TOOL DESCRIPTION

Attribute Manager Used to rename/delete/or change the type of an attribute.

Early Bound Generator Generates Early Bound Entities/Option Sets/Actions. Uses


CrmSvcUtil from the SDK, and shows command line used to
create the classes.

Export to Excel Easily export records from the selected view/fetchxml to Excel.

FetchXML Builder Create and test FetchXml Queries

Metadata Browser Browse metadata from your Dynamics CRM organization

Plugin Trace Viewer Investigate the Plug-in Trace Log with easy filtering and
display possibilities

User Settings Utility Manage users personal settings in bulk

NOTE
Tools created by the community are not supported by Microsoft. If you have questions or issues with community tools,
contact the publisher of the tool.
Testing tools for server-side development
3/22/2019 • 2 minutes to read • Edit Online

Many developers strongly advocate including unit testing as part of their development process. Others are not
convinced. Common Data Service doesn't provide testing framework tools, but you should be aware that there are
community tools available that you can use. A popular framework for server-side development is Fake Xrm Easy.
This framework can be combined with your choice of .NET framework testing frameworks. FakeItEasy is a
common choice.

NOTE
Microsoft does not provide support for tools created by the community. If you have any issues with a community tool,
please contact the publisher.

Benefits of unit testing


Unit testing is strongly recommended but not required. When you are just getting started or if the amount of code
in your solution is relatively small, you may feel that you spend more time writing tests than the functionality
included in your solution.
The benefits of unit testing begin to accrue when your solution becomes larger and more complex. Particularly
with server-side development, there can be significant benefits in debugging locally using mocked or faked data
with a testing framework instead of having to go through all the steps described in Debug Plug-ins to generate a
profile to debug.
When a solution is developed with unit testing, developers report greater productivity and a better quality product.
See also
Testing tools for client-side development
Video: Introduction to DevOps with Dynamics 365
About the Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Use this reference to understand the available operations that can be performed for specific
entities, the default attributes of each entity and the relationships between entities.

NOTE
This reference includes only entities where:
IsPrivate equals false
This excludes entities where no external use cases exist.
IsIntersect equals false
This excludes entities used to define Many-to-many relationships.
The entity supports some kind of direct data modification operation.
This excludes entities which you can't work with directly.
To see all entity metadata information for your environment, see Common Data Service Developers
Guide : Browse the metadata for your organization.

Entity Properties
This section includes selected entity properties rather than all of them. Only those properties
expected to be most useful for developers are included. Some entity property values can be
changed.

Attributes
Attributes are listed in two separate sections: Writable attributes and Read-only
attributes. The purpose of this separation is to focus on the attributes a developer can set
when creating or updating an entity instance. Understanding these attributes helps a
developer understand what they can do with the entity beyond simply retrieving the values.
The attributes in the Writable attributes section return true for either the
IsValidForCreate or IsValidForUpdate properties, (usually both). If either of these
properties return false, this is indicated.
Read-only attributes always return false for the IsValidForCreate and IsValidForUpdate
properties.

Relationships
The EntityMetadata class includes three properties to represent relationships:

PROPERTY TYPE DESCRIPTION

OneToManyRelationships OneToManyRelationshipMetad Gets the array of one-to-many


ata[] relationships for the entity.

EntityMetadata.ManyToOneRel OneToManyRelationshipMetad Gets the array of many-to-one


ationships ata[] relationships for the entity.
PROPERTY TYPE DESCRIPTION

EntityMetadata.ManyToManyR ManyToManyRelationshipMeta Gets the array of many-to-


elationships data[] many relationships for the
entity.

NOTE
It is important to keep in mind that while each entity lists those relationships which apply to it, each
relationship is shared by both entities. The relationships exist between the entities. While One-To-
Many relationships exist, Many-to-One relationships are simply a view of a One-To-Many
relationship from the referencing entity.

One -to -many relationships


In order to represent that there are no actual Many-to -One relationships with a minimum of
confusion, the details of each relationship are only documented once. Each One-to-Many
relationship is listed with the referenced entity and includes selected relationship details and
a link to the corresponding Many-to -One relationship. Each Many-to -One relationship listed
includes only a link to the corresponding One-to-Many relationship.
For each one-to-many relationship the following properties are included:

PROPERTY DESCRIPTION

ReferencingEntity The logical name of the related entity.

ReferencingAttribute The logical name of the attribute in the related


entity that contains a reference to primary key of
the primary entity.

IsHierarchical Whether the relationship represents a self-


referential hierarchical relationship

IsCustomizable Whether the properties of the relationship can be


changed.

ReferencedEntityNavigationPropertyName The name of the Web API collection-valued


navigation property for this relationship.
More information:Common Data Service
Developer Guide Navigation properties

AssociatedMenuConfiguration Data used by model-driven apps to control


whether and how the related entity data can be
accessed in the UI from the primary entity.

CascadeConfiguration Data that describes which operations performed


on the parent entity will cascade down to related
entities.
More information: Cascade configuration

Many-to -many relationships


Each many-to-many relationship includes Entity1LogicalName and Entity2LogicalName.
For this documentation relationship details are only included in the topic for Entity1. Each
Many-to-Many relationship where the entity is Entity2 includes only a link to the details
found in the topic for Entity1.
For each many-to-many relationship the following properties are included:

PROPERTY DESCRIPTION

IntersectEntityName The logical name of the intersect entity that


supports this many-to-many relationship

Entity1LogicalName The logical name for the first entity in the


relationship.

Entity1IntersectAttribute The logical name of the intersect entity attribute


that includes a reference to the primary key of
the first entity.

Entity1NavigationPropertyName The name of the Web API collection-valued


navigation property for this relationship.
More information: Common Data Service
Developer Guide Navigation properties

Entity1AssociatedMenuConfiguration Data used by model-driven apps to control


whether and how the first entity data can be
accessed in the UI from the second entity.

Entity2LogicalName The logical name for the second entity in the


relationship.

Entity2IntersectAttribute The logical name of the intersect entity attribute


that includes a reference to the primary key of
the second entity.

Entity2NavigationPropertyName This is typically the same as the


Entity1NavigationPropertyName

Entity2AssociatedMenuConfiguration Data used by model-driven apps to control


whether and how the second entity data can be
accessed in the UI from the first entity.

IsCustomizable Whether the properties of the relationship can be


changed.
Account Entity Reference
4/3/2019 • 38 minutes to read • Edit Online

Business that represents a customer or potential customer. The company that is billed in business transactions.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/accounts(accountid)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/accounts CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/accounts(accountid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

Merge Merge Action MergeRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/accounts(accountid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/accounts RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

Rollup Rollup Function RollupRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/accounts(accountid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/accounts(accountid) Update
See Update
Entity Properties
PROPERTY VALUE

CollectionSchemaName Accounts

DisplayCollectionName Accounts

DisplayName Account

EntitySetName accounts

IsBPFEntity False

LogicalCollectionName accounts

LogicalName account

OwnershipType UserOwned

PrimaryIdAttribute accountid

PrimaryNameAttribute name

SchemaName Account

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AccountCategoryCode
AccountClassificationCode
AccountId
AccountNumber
AccountRatingCode
Address1_AddressId
Address1_AddressTypeCode
Address1_City
Address1_Country
Address1_County
Address1_Fax
Address1_FreightTermsCode
Address1_Latitude
Address1_Line1
Address1_Line2
Address1_Line3
Address1_Longitude
Address1_Name
Address1_PostalCode
Address1_PostOfficeBox
Address1_PrimaryContactName
Address1_ShippingMethodCode
Address1_StateOrProvince
Address1_Telephone1
Address1_Telephone2
Address1_Telephone3
Address1_UPSZone
Address1_UTCOffset
Address2_AddressId
Address2_AddressTypeCode
Address2_City
Address2_Country
Address2_County
Address2_Fax
Address2_FreightTermsCode
Address2_Latitude
Address2_Line1
Address2_Line2
Address2_Line3
Address2_Longitude
Address2_Name
Address2_PostalCode
Address2_PostOfficeBox
Address2_PrimaryContactName
Address2_ShippingMethodCode
Address2_StateOrProvince
Address2_Telephone1
Address2_Telephone2
Address2_Telephone3
Address2_UPSZone
Address2_UTCOffset
BusinessTypeCode
CreditLimit
CreditOnHold
CustomerSizeCode
CustomerTypeCode
Description
DoNotBulkEMail
DoNotBulkPostalMail
DoNotEMail
DoNotFax
DoNotPhone
DoNotPostalMail
DoNotSendMM
EMailAddress1
EMailAddress2
EMailAddress3
EntityImage
Fax
FollowEmail
FtpSiteURL
ImportSequenceNumber
IndustryCode
LastOnHoldTime
LastUsedInCampaign
MarketCap
MarketingOnly
Name
NumberOfEmployees
OverriddenCreatedOn
OwnerId
OwnerIdType
OwnershipCode
ParentAccountId
ParticipatesInWorkflow
PaymentTermsCode
PreferredAppointmentDayCode
PreferredAppointmentTimeCode
PreferredContactMethodCode
PreferredSystemUserId
PrimaryContactId
PrimarySatoriId
PrimaryTwitterId
ProcessId
Revenue
SharesOutstanding
ShippingMethodCode
SIC
SLAId
StageId
StateCode
StatusCode
StockExchange
Telephone1
Telephone2
Telephone3
TerritoryCode
TickerSymbol
TimeZoneRuleVersionNumber
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
WebSiteURL
YomiName
AccountCategoryCode
PROPERTY VALUE

Description Select a category to indicate whether the customer account is


standard or preferred.

DisplayName Category

IsValidForForm True

IsValidForRead True

LogicalName accountcategorycode

RequiredLevel None

Type Picklist

AccountCategoryCode Options

VALUE LABEL

1 Preferred Customer

2 Standard

AccountClassificationCode
PROPERTY VALUE

Description Select a classification code to indicate the potential value of


the customer account based on the projected return on
investment, cooperation level, sales cycle length or other
criteria.

DisplayName Classification

IsValidForForm True

IsValidForRead True

LogicalName accountclassificationcode

RequiredLevel None

Type Picklist

AccountClassificationCode Options
VALUE LABEL

1 Default Value

AccountId
PROPERTY VALUE

Description Unique identifier of the account.

DisplayName Account

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName accountid

RequiredLevel SystemRequired

Type Uniqueidentifier

AccountNumber
PROPERTY VALUE

Description Type an ID number or code for the account to quickly search


and identify the account in system views.

DisplayName Account Number

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName accountnumber

MaxLength 20

RequiredLevel None

Type String

AccountRatingCode
PROPERTY VALUE

Description Select a rating to indicate the value of the customer account.

DisplayName Account Rating

IsValidForForm True

IsValidForRead True

LogicalName accountratingcode

RequiredLevel None

Type Picklist

AccountRatingCode Options

VALUE LABEL

1 Default Value

Address1_AddressId
PROPERTY VALUE

Description Unique identifier for address 1.

DisplayName Address 1: ID

IsValidForForm False

IsValidForRead True

LogicalName address1_addressid

RequiredLevel None

Type Uniqueidentifier

Address1_AddressTypeCode
PROPERTY VALUE

Description Select the primary address type.

DisplayName Address 1: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address1_addresstypecode
PROPERTY VALUE

RequiredLevel None

Type Picklist

Address1_AddressTypeCode Options

VALUE LABEL

1 Bill To

2 Ship To

3 Primary

4 Other

Address1_City
PROPERTY VALUE

Description Type the city for the primary address.

DisplayName Address 1: City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_city

MaxLength 80

RequiredLevel None

Type String

Address1_Country
PROPERTY VALUE

Description Type the country or region for the primary address.

DisplayName Address 1: Country/Region

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName address1_country

MaxLength 80

RequiredLevel None

Type String

Address1_County
PROPERTY VALUE

Description Type the county for the primary address.

DisplayName Address 1: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_county

MaxLength 50

RequiredLevel None

Type String

Address1_Fax
PROPERTY VALUE

Description Type the fax number associated with the primary address.

DisplayName Address 1: Fax

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address1_fax

MaxLength 50

RequiredLevel None

Type String

Address1_FreightTermsCode
PROPERTY VALUE

Description Select the freight terms for the primary address to make sure
shipping orders are processed correctly.

DisplayName Address 1: Freight Terms

IsValidForForm True

IsValidForRead True

LogicalName address1_freighttermscode

RequiredLevel None

Type Picklist

Address1_FreightTermsCode Options

VALUE LABEL

1 FOB

2 No Charge

Address1_Latitude
PROPERTY VALUE

Description Type the latitude value for the primary address for use in
mapping and other applications.

DisplayName Address 1: Latitude

IsValidForForm True

IsValidForRead True

LogicalName address1_latitude

MaxValue 90
PROPERTY VALUE

MinValue -90

Precision 5

RequiredLevel None

Type Double

Address1_Line1
PROPERTY VALUE

Description Type the first line of the primary address.

DisplayName Address 1: Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line1

MaxLength 250

RequiredLevel None

Type String

Address1_Line2
PROPERTY VALUE

Description Type the second line of the primary address.

DisplayName Address 1: Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line2

MaxLength 250
PROPERTY VALUE

RequiredLevel None

Type String

Address1_Line3
PROPERTY VALUE

Description Type the third line of the primary address.

DisplayName Address 1: Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line3

MaxLength 250

RequiredLevel None

Type String

Address1_Longitude
PROPERTY VALUE

Description Type the longitude value for the primary address for use in
mapping and other applications.

DisplayName Address 1: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address1_longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None
PROPERTY VALUE

Type Double

Address1_Name
PROPERTY VALUE

Description Type a descriptive name for the primary address, such as


Corporate Headquarters.

DisplayName Address 1: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_name

MaxLength 200

RequiredLevel None

Type String

Address1_PostalCode
PROPERTY VALUE

Description Type the ZIP Code or postal code for the primary address.

DisplayName Address 1: ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postalcode

MaxLength 20

RequiredLevel None

Type String
Address1_PostOfficeBox
PROPERTY VALUE

Description Type the post office box number of the primary address.

DisplayName Address 1: Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address1_PrimaryContactName
PROPERTY VALUE

Description Type the name of the main contact at the account's primary
address.

DisplayName Address 1: Primary Contact Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_primarycontactname

MaxLength 100

RequiredLevel None

Type String

Address1_ShippingMethodCode
PROPERTY VALUE
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Address 1: Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName address1_shippingmethodcode

RequiredLevel None

Type Picklist

Address1_ShippingMethodCode Options

VALUE LABEL

1 Airborne

2 DHL

3 FedEx

4 UPS

5 Postal Mail

6 Full Load

7 Will Call

Address1_StateOrProvince
PROPERTY VALUE

Description Type the state or province of the primary address.

DisplayName Address 1: State/Province

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_stateorprovince

MaxLength 50
PROPERTY VALUE

RequiredLevel None

Type String

Address1_Telephone1
PROPERTY VALUE

Description Type the main phone number associated with the primary
address.

DisplayName Address Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone1

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone2
PROPERTY VALUE

Description Type a second phone number associated with the primary


address.

DisplayName Address 1: Telephone 2

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone2

MaxLength 50

RequiredLevel None
PROPERTY VALUE

Type String

Address1_Telephone3
PROPERTY VALUE

Description Type a third phone number associated with the primary


address.

DisplayName Address 1: Telephone 3

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone3

MaxLength 50

RequiredLevel None

Type String

Address1_UPSZone
PROPERTY VALUE

Description Type the UPS zone of the primary address to make sure
shipping charges are calculated correctly and deliveries are
made promptly, if shipped by UPS.

DisplayName Address 1: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_upszone

MaxLength 4

RequiredLevel None
PROPERTY VALUE

Type String

Address1_UTCOffset
PROPERTY VALUE

Description Select the time zone, or UTC offset, for this address so that
other people can reference it when they contact someone at
this address.

DisplayName Address 1: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address1_utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Address2_AddressId
PROPERTY VALUE

Description Unique identifier for address 2.

DisplayName Address 2: ID

IsValidForForm False

IsValidForRead True

LogicalName address2_addressid

RequiredLevel None

Type Uniqueidentifier

Address2_AddressTypeCode
PROPERTY VALUE

Description Select the secondary address type.


PROPERTY VALUE

DisplayName Address 2: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address2_addresstypecode

RequiredLevel None

Type Picklist

Address2_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address2_City
PROPERTY VALUE

Description Type the city for the secondary address.

DisplayName Address 2: City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_city

MaxLength 80

RequiredLevel None

Type String

Address2_Country
PROPERTY VALUE

Description Type the country or region for the secondary address.

DisplayName Address 2: Country/Region

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_country

MaxLength 80

RequiredLevel None

Type String

Address2_County
PROPERTY VALUE

Description Type the county for the secondary address.

DisplayName Address 2: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_county

MaxLength 50

RequiredLevel None

Type String

Address2_Fax
PROPERTY VALUE

Description Type the fax number associated with the secondary address.

DisplayName Address 2: Fax

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address2_fax

MaxLength 50

RequiredLevel None

Type String

Address2_FreightTermsCode
PROPERTY VALUE

Description Select the freight terms for the secondary address to make
sure shipping orders are processed correctly.

DisplayName Address 2: Freight Terms

IsValidForForm True

IsValidForRead True

LogicalName address2_freighttermscode

RequiredLevel None

Type Picklist

Address2_FreightTermsCode Options

VALUE LABEL

1 Default Value

Address2_Latitude
PROPERTY VALUE

Description Type the latitude value for the secondary address for use in
mapping and other applications.

DisplayName Address 2: Latitude

IsValidForForm True

IsValidForRead True

LogicalName address2_latitude

MaxValue 90
PROPERTY VALUE

MinValue -90

Precision 5

RequiredLevel None

Type Double

Address2_Line1
PROPERTY VALUE

Description Type the first line of the secondary address.

DisplayName Address 2: Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line1

MaxLength 250

RequiredLevel None

Type String

Address2_Line2
PROPERTY VALUE

Description Type the second line of the secondary address.

DisplayName Address 2: Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line2

MaxLength 250
PROPERTY VALUE

RequiredLevel None

Type String

Address2_Line3
PROPERTY VALUE

Description Type the third line of the secondary address.

DisplayName Address 2: Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line3

MaxLength 250

RequiredLevel None

Type String

Address2_Longitude
PROPERTY VALUE

Description Type the longitude value for the secondary address for use in
mapping and other applications.

DisplayName Address 2: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address2_longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None
PROPERTY VALUE

Type Double

Address2_Name
PROPERTY VALUE

Description Type a descriptive name for the secondary address, such as


Corporate Headquarters.

DisplayName Address 2: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_name

MaxLength 200

RequiredLevel None

Type String

Address2_PostalCode
PROPERTY VALUE

Description Type the ZIP Code or postal code for the secondary address.

DisplayName Address 2: ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_postalcode

MaxLength 20

RequiredLevel None

Type String
Address2_PostOfficeBox
PROPERTY VALUE

Description Type the post office box number of the secondary address.

DisplayName Address 2: Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address2_PrimaryContactName
PROPERTY VALUE

Description Type the name of the main contact at the account's


secondary address.

DisplayName Address 2: Primary Contact Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_primarycontactname

MaxLength 100

RequiredLevel None

Type String

Address2_ShippingMethodCode
PROPERTY VALUE
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Address 2: Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName address2_shippingmethodcode

RequiredLevel None

Type Picklist

Address2_ShippingMethodCode Options

VALUE LABEL

1 Default Value

Address2_StateOrProvince
PROPERTY VALUE

Description Type the state or province of the secondary address.

DisplayName Address 2: State/Province

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_stateorprovince

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone1
PROPERTY VALUE

Description Type the main phone number associated with the secondary
address.
PROPERTY VALUE

DisplayName Address 2: Telephone 1

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone1

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone2
PROPERTY VALUE

Description Type a second phone number associated with the secondary


address.

DisplayName Address 2: Telephone 2

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone2

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone3
PROPERTY VALUE

Description Type a third phone number associated with the secondary


address.

DisplayName Address 2: Telephone 3


PROPERTY VALUE

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone3

MaxLength 50

RequiredLevel None

Type String

Address2_UPSZone
PROPERTY VALUE

Description Type the UPS zone of the secondary address to make sure
shipping charges are calculated correctly and deliveries are
made promptly, if shipped by UPS.

DisplayName Address 2: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_upszone

MaxLength 4

RequiredLevel None

Type String

Address2_UTCOffset
PROPERTY VALUE

Description Select the time zone, or UTC offset, for this address so that
other people can reference it when they contact someone at
this address.

DisplayName Address 2: UTC Offset


PROPERTY VALUE

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address2_utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

BusinessTypeCode
PROPERTY VALUE

Description Select the legal designation or other business type of the


account for contracts or reporting purposes.

DisplayName Business Type

IsValidForForm True

IsValidForRead True

LogicalName businesstypecode

RequiredLevel None

Type Picklist

BusinessTypeCode Options

VALUE LABEL

1 Default Value

CreditLimit
PROPERTY VALUE

Description Type the credit limit of the account. This is a useful reference
when you address invoice and accounting issues with the
customer.

DisplayName Credit Limit

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName creditlimit

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

CreditOnHold
PROPERTY VALUE

Description Select whether the credit for the account is on hold. This is a
useful reference while addressing the invoice and accounting
issues with the customer.

DisplayName Credit Hold

IsValidForForm True

IsValidForRead True

LogicalName creditonhold

RequiredLevel None

Type Boolean

CreditOnHold Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CustomerSizeCode
PROPERTY VALUE

Description Select the size category or range of the account for


segmentation and reporting purposes.
PROPERTY VALUE

DisplayName Customer Size

IsValidForForm True

IsValidForRead True

LogicalName customersizecode

RequiredLevel None

Type Picklist

CustomerSizeCode Options

VALUE LABEL

1 Default Value

CustomerTypeCode
PROPERTY VALUE

Description Select the category that best describes the relationship


between the account and your organization.

DisplayName Relationship Type

IsValidForForm True

IsValidForRead True

LogicalName customertypecode

RequiredLevel None

Type Picklist

CustomerTypeCode Options

VALUE LABEL

1 Competitor

2 Consultant

3 Customer

4 Investor

5 Partner

6 Influencer
VALUE LABEL

7 Press

8 Prospect

9 Reseller

10 Supplier

11 Vendor

12 Other

Description
PROPERTY VALUE

Description Type additional information to describe the account, such as


an excerpt from the company's website.

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

DoNotBulkEMail
PROPERTY VALUE

Description Select whether the account allows bulk email sent through
campaigns. If Do Not Allow is selected, the account can be
added to marketing lists, but is excluded from email.

DisplayName Do not allow Bulk Emails

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName donotbulkemail

RequiredLevel None

Type Boolean

DoNotBulkEMail Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotBulkPostalMail
PROPERTY VALUE

Description Select whether the account allows bulk postal mail sent
through marketing campaigns or quick campaigns. If Do Not
Allow is selected, the account can be added to marketing lists,
but will be excluded from the postal mail.

DisplayName Do not allow Bulk Mails

IsValidForForm True

IsValidForRead True

LogicalName donotbulkpostalmail

RequiredLevel None

Type Boolean

DoNotBulkPostalMail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
DoNotEMail
PROPERTY VALUE

Description Select whether the account allows direct email sent from
Microsoft Dynamics 365.
PROPERTY VALUE

DisplayName Do not allow Emails

IsValidForForm True

IsValidForRead True

LogicalName donotemail

RequiredLevel None

Type Boolean

DoNotEMail Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotFax
PROPERTY VALUE

Description Select whether the account allows faxes. If Do Not Allow is


selected, the account will be excluded from fax activities
distributed in marketing campaigns.

DisplayName Do not allow Faxes

IsValidForForm True

IsValidForRead True

LogicalName donotfax

RequiredLevel None

Type Boolean

DoNotFax Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotPhone
PROPERTY VALUE

Description Select whether the account allows phone calls. If Do Not Allow
is selected, the account will be excluded from phone call
activities distributed in marketing campaigns.

DisplayName Do not allow Phone Calls

IsValidForForm True

IsValidForRead True

LogicalName donotphone

RequiredLevel None

Type Boolean

DoNotPhone Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotPostalMail
PROPERTY VALUE

Description Select whether the account allows direct mail. If Do Not Allow
is selected, the account will be excluded from letter activities
distributed in marketing campaigns.

DisplayName Do not allow Mails

IsValidForForm True

IsValidForRead True

LogicalName donotpostalmail

RequiredLevel None

Type Boolean

DoNotPostalMail Options

VALUE LABEL

1 Do Not Allow

0 Allow
DefaultValue: False
DoNotSendMM
PROPERTY VALUE

Description Select whether the account accepts marketing materials, such


as brochures or catalogs.

DisplayName Send Marketing Materials

IsValidForForm True

IsValidForRead True

LogicalName donotsendmm

RequiredLevel None

Type Boolean

DoNotSendMM Options

VALUE LABEL

1 Do Not Send

0 Send

DefaultValue: False
EMailAddress1
PROPERTY VALUE

Description Type the primary email address for the account.

DisplayName Email

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress1

MaxLength 100

RequiredLevel None

Type String
EMailAddress2
PROPERTY VALUE

Description Type the secondary email address for the account.

DisplayName Email Address 2

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress2

MaxLength 100

RequiredLevel None

Type String

EMailAddress3
PROPERTY VALUE

Description Type an alternate email address for the account.

DisplayName Email Address 3

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress3

MaxLength 100

RequiredLevel None

Type String

EntityImage
PROPERTY VALUE

Description Shows the default image for the record.


PROPERTY VALUE

DisplayName Default Image

IsPrimaryImage True

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

Fax
PROPERTY VALUE

Description Type the fax number for the account.

DisplayName Fax

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName fax

MaxLength 50

RequiredLevel None

Type String

FollowEmail
PROPERTY VALUE

Description Information about whether to allow following email activity


like opens, attachment views and link clicks for emails sent to
the account.

DisplayName Follow Email Activity


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName followemail

RequiredLevel None

Type Boolean

FollowEmail Options

VALUE LABEL

1 Allow

0 Do Not Allow

DefaultValue: True
FtpSiteURL
PROPERTY VALUE

Description Type the URL for the account's FTP site to enable users to
access data and share documents.

DisplayName FTP Site

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName ftpsiteurl

MaxLength 200

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.
PROPERTY VALUE

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IndustryCode
PROPERTY VALUE

Description Select the account's primary industry for use in marketing


segmentation and demographic analysis.

DisplayName Industry

IsValidForForm True

IsValidForRead True

LogicalName industrycode

RequiredLevel None

Type Picklist

IndustryCode Options

VALUE LABEL

1 Accounting

2 Agriculture and Non-petrol Natural Resource Extraction

3 Broadcasting Printing and Publishing

4 Brokers
VALUE LABEL

5 Building Supply Retail

6 Business Services

7 Consulting

8 Consumer Services

9 Design, Direction and Creative Management

10 Distributors, Dispatchers and Processors

11 Doctor's Offices and Clinics

12 Durable Manufacturing

13 Eating and Drinking Places

14 Entertainment Retail

15 Equipment Rental and Leasing

16 Financial

17 Food and Tobacco Processing

18 Inbound Capital Intensive Processing

19 Inbound Repair and Services

20 Insurance

21 Legal Services

22 Non-Durable Merchandise Retail

23 Outbound Consumer Service

24 Petrochemical Extraction and Distribution

25 Service Retail

26 SIG Affiliations

27 Social Services

28 Special Outbound Trade Contractors

29 Specialty Realty
VALUE LABEL

30 Transportation

31 Utility Creation and Distribution

32 Vehicle Retail

33 Wholesale

LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

LastUsedInCampaign
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date when the account was last included in a
marketing campaign or quick campaign.

DisplayName Last Date Included in Campaign

Format DateOnly

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName lastusedincampaign
PROPERTY VALUE

RequiredLevel None

Type DateTime

MarketCap
PROPERTY VALUE

Description Type the market capitalization of the account to identify the


company's equity, used as an indicator in financial
performance analysis.

DisplayName Market Capitalization

IsValidForForm True

IsValidForRead True

LogicalName marketcap

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

MarketingOnly
PROPERTY VALUE

Description Whether is only for marketing

DisplayName Marketing Only

IsValidForForm True

IsValidForRead True

LogicalName marketingonly

RequiredLevel None

Type Boolean

MarketingOnly Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
Name
PROPERTY VALUE

Description Type the company or business name.

DisplayName Account Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 160

RequiredLevel ApplicationRequired

Type String

NumberOfEmployees
PROPERTY VALUE

Description Type the number of employees that work at the account for
use in marketing segmentation and demographic analysis.

DisplayName Number of Employees

Format None

IsValidForForm True

IsValidForRead True

LogicalName numberofemployees

MaxValue 1000000000

MinValue 0
PROPERTY VALUE

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwnershipCode
PROPERTY VALUE

Description Select the account's ownership structure, such as public or


private.

DisplayName Ownership

IsValidForForm True

IsValidForRead True

LogicalName ownershipcode

RequiredLevel None

Type Picklist

OwnershipCode Options

VALUE LABEL

1 Public

2 Private

3 Subsidiary

4 Other

ParentAccountId
PROPERTY VALUE

Description Choose the parent account associated with this account to


show parent and child businesses in reporting and analytics.
PROPERTY VALUE

DisplayName Parent Account

IsValidForForm True

IsValidForRead True

LogicalName parentaccountid

RequiredLevel None

Targets account

Type Lookup

ParticipatesInWorkflow
PROPERTY VALUE

Description For system use only. Legacy Microsoft Dynamics CRM 3.0
workflow data.

DisplayName Participates in Workflow

IsValidForForm False

IsValidForRead True

LogicalName participatesinworkflow

RequiredLevel None

Type Boolean

ParticipatesInWorkflow Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
PaymentTermsCode
PROPERTY VALUE

Description Select the payment terms to indicate when the customer


needs to pay the total amount.

DisplayName Payment Terms


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName paymenttermscode

RequiredLevel None

Type Picklist

PaymentTermsCode Options

VALUE LABEL

1 Net 30

2 2% 10, Net 30

3 Net 45

4 Net 60

PreferredAppointmentDayCode
PROPERTY VALUE

Description Select the preferred day of the week for service appointments.

DisplayName Preferred Day

IsValidForForm True

IsValidForRead True

LogicalName preferredappointmentdaycode

RequiredLevel None

Type Picklist

PreferredAppointmentDayCode Options

VALUE LABEL

0 Sunday

1 Monday

2 Tuesday

3 Wednesday
VALUE LABEL

4 Thursday

5 Friday

6 Saturday

PreferredAppointmentTimeCode
PROPERTY VALUE

Description Select the preferred time of day for service appointments.

DisplayName Preferred Time

IsValidForForm True

IsValidForRead True

LogicalName preferredappointmenttimecode

RequiredLevel None

Type Picklist

PreferredAppointmentTimeCode Options

VALUE LABEL

1 Morning

2 Afternoon

3 Evening

PreferredContactMethodCode
PROPERTY VALUE

Description Select the preferred method of contact.

DisplayName Preferred Method of Contact

IsValidForForm True

IsValidForRead True

LogicalName preferredcontactmethodcode

RequiredLevel None

Type Picklist
PreferredContactMethodCode Options

VALUE LABEL

1 Any

2 Email

3 Phone

4 Fax

5 Mail

PreferredSystemUserId
PROPERTY VALUE

Description Choose the preferred service representative for reference


when you schedule service activities for the account.

DisplayName Preferred User

IsValidForForm True

IsValidForRead True

LogicalName preferredsystemuserid

RequiredLevel None

Targets systemuser

Type Lookup

PrimaryContactId
PROPERTY VALUE

Description Choose the primary contact for the account to provide quick
access to contact details.

DisplayName Primary Contact

IsValidForForm True

IsValidForRead True

LogicalName primarycontactid

RequiredLevel None

Targets contact
PROPERTY VALUE

Type Lookup

PrimarySatoriId
PROPERTY VALUE

Description Primary Satori ID for Account

DisplayName Primary Satori ID

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName primarysatoriid

MaxLength 200

RequiredLevel None

Type String

PrimaryTwitterId
PROPERTY VALUE

Description Primary Twitter ID for Account

DisplayName Primary Twitter ID

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName primarytwitterid

MaxLength 128

RequiredLevel None

Type String

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

Revenue
PROPERTY VALUE

Description Type the annual revenue for the account, used as an indicator
in financial performance analysis.

DisplayName Annual Revenue

IsValidForForm True

IsValidForRead True

LogicalName revenue

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

SharesOutstanding
PROPERTY VALUE

Description Type the number of shares available to the public for the
account. This number is used as an indicator in financial
performance analysis.

DisplayName Shares Outstanding


PROPERTY VALUE

Format None

IsValidForForm True

IsValidForRead True

LogicalName sharesoutstanding

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

ShippingMethodCode
PROPERTY VALUE

Description Select a shipping method for deliveries sent to the account's


address to designate the preferred carrier or other delivery
option.

DisplayName Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName shippingmethodcode

RequiredLevel None

Type Picklist

ShippingMethodCode Options

VALUE LABEL

1 Default Value

SIC
PROPERTY VALUE

Description Type the Standard Industrial Classification (SIC) code that


indicates the account's primary industry of business, for use in
marketing segmentation and demographic analysis.

DisplayName SIC Code


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName sic

MaxLength 20

RequiredLevel None

Type String

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the Account record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the account is active or inactive. Inactive


accounts are read-only and can't be edited unless they are
reactivated.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the account's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status
StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

StockExchange
PROPERTY VALUE

Description Type the stock exchange at which the account is listed to


track their stock and financial performance of the company.

DisplayName Stock Exchange

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName stockexchange

MaxLength 20

RequiredLevel None

Type String

Telephone1
PROPERTY VALUE

Description Type the main phone number for this account.

DisplayName Main Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone1

MaxLength 50

RequiredLevel None
PROPERTY VALUE

Type String

Telephone2
PROPERTY VALUE

Description Type a second phone number for this account.

DisplayName Other Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone2

MaxLength 50

RequiredLevel None

Type String

Telephone3
PROPERTY VALUE

Description Type a third phone number for this account.

DisplayName Telephone 3

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone3

MaxLength 50

RequiredLevel None

Type String

TerritoryCode
PROPERTY VALUE

Description Select a region or territory for the account for use in


segmentation and analysis.

DisplayName Territory Code

IsValidForForm True

IsValidForRead True

LogicalName territorycode

RequiredLevel None

Type Picklist

TerritoryCode Options

VALUE LABEL

1 Default Value

TickerSymbol
PROPERTY VALUE

Description Type the stock exchange symbol for the account to track
financial performance of the company. You can click the code
entered in this field to access the latest trading information
from MSN Money.

DisplayName Ticker Symbol

FormatName TickerSymbol

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName tickersymbol

MaxLength 10

RequiredLevel None

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

WebSiteURL
PROPERTY VALUE

Description Type the account's website URL to get quick details about the
company profile.

DisplayName Website

FormatName Url

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName websiteurl

MaxLength 200

RequiredLevel None

Type String

YomiName
PROPERTY VALUE

Description Type the phonetic spelling of the company name, if specified


in Japanese, to make sure the name is pronounced correctly
in phone calls and other communications.

DisplayName Yomi Account Name

FormatName PhoneticGuide

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName yominame

MaxLength 160

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
Address1_Composite
Address2_Composite
Aging30
Aging30_Base
Aging60
Aging60_Base
Aging90
Aging90_Base
CreatedBy
CreatedByExternalParty
CreatedByExternalPartyName
CreatedByExternalPartyYomiName
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CreditLimit_Base
EntityImage_Timestamp
EntityImage_URL
EntityImageId
ExchangeRate
IsPrivate
MarketCap_Base
MasterAccountIdName
MasterAccountIdYomiName
MasterId
Merged
ModifiedBy
ModifiedByExternalParty
ModifiedByExternalPartyName
ModifiedByExternalPartyYomiName
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParentAccountIdName
ParentAccountIdYomiName
PreferredSystemUserIdName
PreferredSystemUserIdYomiName
PrimaryContactIdName
PrimaryContactIdYomiName
Revenue_Base
SLAInvokedId
SLAInvokedIdName
SLAName
TimeSpentByMeOnEmailAndMeetings
TransactionCurrencyIdName
VersionNumber
Address1_Composite
PROPERTY VALUE

Description Shows the complete primary address.

DisplayName Address 1

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_composite

MaxLength 1000

RequiredLevel None

Type Memo

Address2_Composite
PROPERTY VALUE

Description Shows the complete secondary address.

DisplayName Address 2

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_composite

MaxLength 1000

RequiredLevel None

Type Memo
Aging30
PROPERTY VALUE

Description For system use only.

DisplayName Aging 30

IsValidForForm True

IsValidForRead True

LogicalName aging30

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

Aging30_Base
PROPERTY VALUE

Description The base currency equivalent of the aging 30 field.

DisplayName Aging 30 (Base)

IsValidForForm True

IsValidForRead True

LogicalName aging30_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Aging60
PROPERTY VALUE

Description For system use only.

DisplayName Aging 60

IsValidForForm True

IsValidForRead True

LogicalName aging60

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

Aging60_Base
PROPERTY VALUE

Description The base currency equivalent of the aging 60 field.

DisplayName Aging 60 (Base)

IsValidForForm True

IsValidForRead True

LogicalName aging60_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Aging90
PROPERTY VALUE

Description For system use only.

DisplayName Aging 90

IsValidForForm True

IsValidForRead True

LogicalName aging90

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

Aging90_Base
PROPERTY VALUE

Description The base currency equivalent of the aging 90 field.

DisplayName Aging 90 (Base)

IsValidForForm True

IsValidForRead True

LogicalName aging90_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByExternalParty
PROPERTY VALUE

Description Shows the external party who created the record.

DisplayName Created By (External Party)

IsValidForForm True

IsValidForRead True

LogicalName createdbyexternalparty

RequiredLevel None

Targets externalparty

Type Lookup

CreatedByExternalPartyName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyexternalpartyname

MaxLength 100

RequiredLevel None

Type String

CreatedByExternalPartyYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyexternalpartyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime
CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

CreditLimit_Base
PROPERTY VALUE

Description Shows the credit limit converted to the system's default base
currency for reporting purposes.

DisplayName Credit Limit (Base)

IsValidForForm True

IsValidForRead True

LogicalName creditlimit_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

IsPrivate
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName isprivate

RequiredLevel None

Type Boolean

IsPrivate Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
MarketCap_Base
PROPERTY VALUE

Description Shows the market capitalization converted to the system's


default base currency.

DisplayName Market Capitalization (Base)

IsValidForForm True

IsValidForRead True

LogicalName marketcap_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

MasterAccountIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName masteraccountidname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

MasterAccountIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName masteraccountidyominame

MaxLength 100

RequiredLevel None

Type String

MasterId
PROPERTY VALUE

Description Shows the master account that the account was merged with.

DisplayName Master ID

IsValidForForm False

IsValidForRead True

LogicalName masterid

RequiredLevel None

Targets account

Type Lookup

Merged
PROPERTY VALUE

Description Shows whether the account has been merged with another
account.

DisplayName Merged

IsValidForForm False

IsValidForRead True

LogicalName merged

RequiredLevel None

Type Boolean

Merged Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByExternalParty
PROPERTY VALUE

Description Shows the external party who modified the record.

DisplayName Modified By (External Party)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedbyexternalparty

RequiredLevel None

Targets externalparty

Type Lookup

ModifiedByExternalPartyName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyexternalpartyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByExternalPartyYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedbyexternalpartyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)


PROPERTY VALUE

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Shows the business unit that the record owner belongs to.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the account.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup
OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the account.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ParentAccountIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentaccountidname

MaxLength 100

RequiredLevel None

Type String

ParentAccountIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentaccountidyominame

MaxLength 100

RequiredLevel None

Type String

PreferredSystemUserIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName preferredsystemuseridname

MaxLength 100

RequiredLevel None

Type String

PreferredSystemUserIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName preferredsystemuseridyominame

MaxLength 100

RequiredLevel None

Type String

PrimaryContactIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName primarycontactidname

MaxLength 100

RequiredLevel None

Type String

PrimaryContactIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName primarycontactidyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

Revenue_Base
PROPERTY VALUE

Description Shows the annual revenue converted to the system's default


base currency. The calculations use the exchange rate specified
in the Currencies area.

DisplayName Annual Revenue (Base)

IsValidForForm True

IsValidForRead True

LogicalName revenue_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this case. This field is for internal
use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None
PROPERTY VALUE

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None

Type String
TimeSpentByMeOnEmailAndMeetings
PROPERTY VALUE

Description Total time spent for emails (read and write) and meetings by
me in relation to account record.

DisplayName Time Spent by me

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName timespentbymeonemailandmeetings

MaxLength 1250

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE
PROPERTY VALUE

Description Version number of the account.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
account_principalobjectattributeaccess
Account_Faxes
slakpiinstance_account
account_PostFollows
Account_Tasks
account_connections1
SocialActivity_PostAuthorAccount_accounts
Account_DuplicateBaseRecord
SocialActivity_PostAuthor_accounts
Account_SyncErrors
Account_MailboxTrackingFolder
Account_BulkDeleteFailures
Account_ActivityPointers
Account_Email_SendersAccount
Account_Appointments
Socialprofile_customer_accounts
Account_Emails
account_activity_parties
Account_Phonecalls
Account_SocialActivities
Account_DuplicateMatchingRecord
account_actioncard
Account_AsyncOperations
Account_CustomerAddress
Account_Annotation
Account_Letters
Account_RecurringAppointmentMasters
Account_Email_EmailSender
Account_ProcessSessions
account_parent_account
contact_customer_accounts
account_master_account
Account_SharepointDocumentLocation
account_connections2
account_principalobjectattributeaccess
Same as principalobjectattributeaccess entity account_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName account_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_Faxes
Same as fax entity Account_Faxes Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Faxes
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

slakpiinstance_account
Same as slakpiinstance entity slakpiinstance_account Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName slakpiinstance_account

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

account_PostFollows
Same as postfollow entity account_PostFollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName account_PostFollows
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_Tasks
Same as task entity Account_Tasks Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Tasks

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

account_connections1
Same as connection entity account_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName account_connections1
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

SocialActivity_PostAuthorAccount_accounts
Same as socialactivity entity SocialActivity_PostAuthorAccount_accounts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute postauthoraccount

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName SocialActivity_PostAuthorAccount_accounts

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_DuplicateBaseRecord
Same as duplicaterecord entity Account_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_DuplicateBaseRecord
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

SocialActivity_PostAuthor_accounts
Same as socialactivity entity SocialActivity_PostAuthor_accounts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute postauthor

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName SocialActivity_PostAuthor_accounts

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_SyncErrors
Same as syncerror entity Account_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_SyncErrors
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_MailboxTrackingFolder
Same as mailboxtrackingfolder entity Account_MailboxTrackingFolder Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_MailboxTrackingFolder

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_BulkDeleteFailures
Same as bulkdeletefailure entity Account_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_BulkDeleteFailures
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_ActivityPointers
Same as activitypointer entity Account_ActivityPointers Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_ActivityPointers

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 20

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_Email_SendersAccount
Same as email entity Account_Email_SendersAccount Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute sendersaccount

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_Email_SendersAccount
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_Appointments
Same as appointment entity Account_Appointments Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Appointments

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Socialprofile_customer_accounts
Same as socialprofile entity Socialprofile_customer_accounts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialprofile

ReferencingAttribute customerid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Socialprofile_customer_accounts
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 50

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_Emails
Same as email entity Account_Emails Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Emails

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

account_activity_parties
Same as activityparty entity account_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute partyid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName account_activity_parties
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_Phonecalls
Same as phonecall entity Account_Phonecalls Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Phonecalls

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_SocialActivities
Same as socialactivity entity Account_SocialActivities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_SocialActivities
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_DuplicateMatchingRecord
Same as duplicaterecord entity Account_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

account_actioncard
Same as actioncard entity account_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName account_actioncard
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_AsyncOperations
Same as asyncoperation entity Account_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_CustomerAddress
Same as customeraddress entity Account_CustomerAddress Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity customeraddress

ReferencingAttribute parentid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_CustomerAddress
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 10

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_Annotation
Same as annotation entity Account_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_Letters
Same as letter entity Account_Letters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_Letters
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_RecurringAppointmentMasters
Same as recurringappointmentmaster entity Account_RecurringAppointmentMasters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_RecurringAppointmentMasters

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Account_Email_EmailSender
Same as email entity Account_Email_EmailSender Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute emailsender

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_Email_EmailSender
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_ProcessSessions
Same as processsession entity Account_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Account_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

account_parent_account
Same as account entity account_parent_account Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity account

ReferencingAttribute parentaccountid

IsHierarchical True

IsCustomizable True

ReferencedEntityNavigationPropertyName account_parent_account
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 40

CascadeConfiguration Assign: Cascade


Delete: RemoveLink
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

contact_customer_accounts
Same as contact entity contact_customer_accounts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity contact

ReferencingAttribute parentcustomerid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName contact_customer_accounts

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 50

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

account_master_account
Same as account entity account_master_account Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity account

ReferencingAttribute masterid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName account_master_account
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Account_SharepointDocumentLocation
Same as sharepointdocumentlocation entity Account_SharepointDocumentLocation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sharepointdocumentlocation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Account_SharepointDocumentLocation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

account_connections2
Same as connection entity account_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName account_connections2
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
account_primary_contact
account_master_account
system_user_accounts
lk_accountbase_modifiedby
account_parent_account
business_unit_accounts
transactioncurrency_account
user_accounts
lk_accountbase_createdonbehalfby
processstage_account
manualsla_account
lk_accountbase_createdby
sla_account
lk_accountbase_modifiedonbehalfby
team_accounts
account_primary_contact
See contact Entity account_primary_contact One-To-Many relationship.
account_master_account
See account Entity account_master_account One-To-Many relationship.
system_user_accounts
See systemuser Entity system_user_accounts One-To-Many relationship.
lk_accountbase_modifiedby
See systemuser Entity lk_accountbase_modifiedby One-To-Many relationship.
account_parent_account
See account Entity account_parent_account One-To-Many relationship.
business_unit_accounts
See businessunit Entity business_unit_accounts One-To-Many relationship.
transactioncurrency_account
See transactioncurrency Entity transactioncurrency_account One-To-Many relationship.
user_accounts
See systemuser Entity user_accounts One-To-Many relationship.
lk_accountbase_createdonbehalfby
See systemuser Entity lk_accountbase_createdonbehalfby One-To-Many relationship.
processstage_account
See processstage Entity processstage_account One-To-Many relationship.
manualsla_account
See sla Entity manualsla_account One-To-Many relationship.
lk_accountbase_createdby
See systemuser Entity lk_accountbase_createdby One-To-Many relationship.
sla_account
See sla Entity sla_account One-To-Many relationship.
lk_accountbase_modifiedonbehalfby
See systemuser Entity lk_accountbase_modifiedonbehalfby One-To-Many relationship.
team_accounts
See team Entity team_accounts One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
account EntityType
ACIViewMapper Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Customized messages for an entity that has been renamed.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/aciviewmappers Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/aciviewmappers(acivi Delete
ewmapperid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/aciviewmappers(acivi Retrieve
ewmapperid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/aciviewmappers RetrieveMultiple
See Query Data

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/aciviewmappers(acivi
ewmapperid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/aciviewmappers(acivi Update
ewmapperid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName aciviewmappers

DisplayCollectionName ACIViewMappers

DisplayName ACIViewMapper

EntitySetName aciviewmappers

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName aciviewmappers

LogicalName aciviewmapper

OwnershipType OrganizationOwned

PrimaryIdAttribute aciviewmapperid

PrimaryNameAttribute

SchemaName ACIViewMapper

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ACIViewMapperId
StatusCode
UTCConversionTimeZoneCode
ViewName
WebApplicationEndPoint
ACIViewMapperId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName ACIViewMapper

IsValidForForm False

IsValidForRead True

LogicalName aciviewmapperid

RequiredLevel SystemRequired

Type Uniqueidentifier

StatusCode
PROPERTY VALUE

Description Reason for the status of the Unit Group.

DisplayName Status Reason

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

ViewName
PROPERTY VALUE

Description

DisplayName View Name

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName viewname

MaxLength 1250

RequiredLevel None

Type String

WebApplicationEndPoint
PROPERTY VALUE

Description End point of web application

DisplayName Web Application EndPoint

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName webapplicationendpoint

MaxLength 1250

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
statecode
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the display string.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String
CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the display string was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


displaystring.
PROPERTY VALUE

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the display
string.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the display string was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
displaystring.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


display string.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

statecode
PROPERTY VALUE

Description Status of the ACIViewMapper

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

statecode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808
PROPERTY VALUE

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_ACIViewMapper_modifiedby
organization_aciviewmapper
lk_ACIViewMapper_modifiedonbehalfby
lk_ACIViewMapper_createdonbehalfby
lk_ACIViewMapper_createdby
lk_ACIViewMapper_modifiedby
See systemuser Entity lk_ACIViewMapper_modifiedby One-To-Many relationship.
organization_aciviewmapper
See organization Entity organization_aciviewmapper One-To-Many relationship.
lk_ACIViewMapper_modifiedonbehalfby
See systemuser Entity lk_ACIViewMapper_modifiedonbehalfby One-To-Many relationship.
lk_ACIViewMapper_createdonbehalfby
See systemuser Entity lk_ACIViewMapper_createdonbehalfby One-To-Many relationship.
lk_ACIViewMapper_createdby
See systemuser Entity lk_ACIViewMapper_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
aciviewmapper EntityType
ActionCard Entity Reference
4/3/2019 • 8 minutes to read • Edit Online

Action card entity to show action cards.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/actioncards Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/actioncards(actionca Delete
rdid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/actioncards(actionca Retrieve
rdid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/actioncards RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/actioncards(actionca Update
rdid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ActionCards

DisplayCollectionName Action Cards

DisplayName Action Card

EntitySetName actioncards

IsBPFEntity False

LogicalCollectionName actioncard

LogicalName actioncard

OwnershipType UserOwned
PROPERTY VALUE

PrimaryIdAttribute actioncardid

PrimaryNameAttribute title

SchemaName ActionCard

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActionCardId
CardType
CardTypeId
Data
Description
ExpiryDate
ImportSequenceNumber
OverriddenCreatedOn
OwnerId
OwnerIdType
ParentRegardingObjectId
ParentRegardingObjectTypeCode
Priority
RecordId
RecordIdObjectTypeCode
RecordIdObjectTypeCode2
ReferenceTokens
RegardingObjectId
RegardingObjectIdName
RegardingObjectTypeCode
Source
StartDate
State
Title
TransactionCurrencyId
Visibility
ActionCardId
PROPERTY VALUE

Description Unique identifier of the action card.

DisplayName Action Card

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName actioncardid

RequiredLevel SystemRequired

Type Uniqueidentifier

CardType
PROPERTY VALUE

Description The CardType ENUM value.

DisplayName CardType ENUM

Format None

IsValidForForm True

IsValidForRead True

LogicalName cardtype

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

CardTypeId
PROPERTY VALUE

Description Unique identifier of the card type.

DisplayName Card Type

IsValidForForm True

IsValidForRead True

LogicalName cardtypeid

RequiredLevel SystemRequired

Targets cardtype
PROPERTY VALUE

Type Lookup

Data
PROPERTY VALUE

Description Json formatted string for generic purpose.

DisplayName Data Associated with Card Commandbar Actions

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName data

MaxLength 8192

RequiredLevel None

Type Memo

Description
PROPERTY VALUE

Description Card Description

DisplayName Card Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 8192

RequiredLevel None

Type Memo

ExpiryDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the Expiry Date

DisplayName Expiry Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName expirydate

RequiredLevel SystemRequired

Type DateTime

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.


PROPERTY VALUE

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the action
card.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype
PROPERTY VALUE

RequiredLevel SystemRequired

Type EntityName

ParentRegardingObjectId
PROPERTY VALUE

Description ParentRegardingObjectId of the ActionCard

DisplayName ParentRegardingObjectId

IsValidForForm False

IsValidForRead True

LogicalName parentregardingobjectid

RequiredLevel None

Targets

Type Lookup

ParentRegardingObjectTypeCode
PROPERTY VALUE

Description ParentRegardingObjectTypeCode of the ActionCard

DisplayName ParentRegardingObjectTypeCode

IsValidForForm False

IsValidForRead True

LogicalName parentregardingobjecttypecode

RequiredLevel None

Type EntityName

Priority
PROPERTY VALUE

Description Priority of the ActionCard

DisplayName Priority

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName priority

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

RecordId
PROPERTY VALUE

Description Shows the record ID.

DisplayName RecordId

IsValidForForm True

IsValidForRead True

LogicalName recordid

RequiredLevel None

Targets

Type Lookup

RecordIdObjectTypeCode
PROPERTY VALUE

Description Shows the Object Type Code.

DisplayName RecordIdObjectTypeCode

IsValidForForm False

IsValidForRead True

LogicalName recordidobjecttypecode

RequiredLevel None

Type EntityName
RecordIdObjectTypeCode2
PROPERTY VALUE

Description RecordIdObjectTypeCode2 of the ActionCard

DisplayName RecordIdObjectTypeCode2

Format None

IsValidForForm False

IsValidForRead True

LogicalName recordidobjecttypecode2

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ReferenceTokens
PROPERTY VALUE

Description For internal use only.

DisplayName Data Associated constructing title and body

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName referencetokens

MaxLength 8192

RequiredLevel None

Type Memo

RegardingObjectId
PROPERTY VALUE

Description Choose the record that the card relates to.


PROPERTY VALUE

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,appointment,contact,email,fax,letter,phonecall,recurrin
gappointmentmaster,task

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 4000

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

Source
PROPERTY VALUE

Description Source for the Action Card

DisplayName Action Card Source

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName source

RequiredLevel SystemRequired

Type Picklist

Source Options

VALUE LABEL

1 CRM

2 Exchange

StartDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the Start Date

DisplayName Start Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName startdate
PROPERTY VALUE

RequiredLevel SystemRequired

Type DateTime

State
PROPERTY VALUE

Description State of the Action Card

DisplayName Action Card State

IsValidForForm True

IsValidForRead True

LogicalName state

RequiredLevel SystemRequired

Type Picklist

State Options

VALUE LABEL

0 Active

1 Dismissed

2 Completed

Title
PROPERTY VALUE

Description Title of the ActionCard

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 200
PROPERTY VALUE

RequiredLevel None

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the action


card.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

Visibility
PROPERTY VALUE

Description Select whether the visibility should be set to public/private.

DisplayName Visibiliy Status of ActionCard

IsValidForForm True

IsValidForRead True

LogicalName visibility

RequiredLevel None

Type Boolean

Visibility Options

VALUE LABEL

1 Private

0 Public

DefaultValue: False
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CardTypeIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RecordIdName
TransactionCurrencyIdName
VersionNumber
CardTypeIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName cardtypeidname

MaxLength 256

RequiredLevel None
PROPERTY VALUE

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the action card.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when action card was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the action
card.

DisplayName Created By (Delegate)

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the action card
with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the action card.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup
ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when action card was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified action
card.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the action
card.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup
OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the action card.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the action card.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

RecordIdName
PROPERTY VALUE

Description Shows the record ID Name.

DisplayName RecordIdName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName recordidname

MaxLength 400

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the action card.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808
PROPERTY VALUE

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
ActionCardUserState_ActionCard
Same as actioncarduserstate entity ActionCardUserState_ActionCard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncarduserstate

ReferencingAttribute actioncardid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ActionCardUserState_ActionCard

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
contact_actioncard
lk_actioncardbase_modifiedby
letter_actioncard
phonecall_actioncard
task_actioncard
email_actioncard
lk_actioncardbase_createdonbehalfby
business_unit_actioncards
recurringappointmentmaster_actioncard
lk_actioncardbase_createdby
transactioncurrency_actioncard
account_actioncard
appointment_actioncard
fax_actioncard
lk_actioncardbase_modifiedonbehalfby
contact_actioncard
See contact Entity contact_actioncard One-To-Many relationship.
lk_actioncardbase_modifiedby
See systemuser Entity lk_actioncardbase_modifiedby One-To-Many relationship.
letter_actioncard
See letter Entity letter_actioncard One-To-Many relationship.
phonecall_actioncard
See phonecall Entity phonecall_actioncard One-To-Many relationship.
task_actioncard
See task Entity task_actioncard One-To-Many relationship.
email_actioncard
See email Entity email_actioncard One-To-Many relationship.
lk_actioncardbase_createdonbehalfby
See systemuser Entity lk_actioncardbase_createdonbehalfby One-To-Many relationship.
business_unit_actioncards
See businessunit Entity business_unit_actioncards One-To-Many relationship.
recurringappointmentmaster_actioncard
See recurringappointmentmaster Entity recurringappointmentmaster_actioncard One-To-Many relationship.
lk_actioncardbase_createdby
See systemuser Entity lk_actioncardbase_createdby One-To-Many relationship.
transactioncurrency_actioncard
See transactioncurrency Entity transactioncurrency_actioncard One-To-Many relationship.
account_actioncard
See account Entity account_actioncard One-To-Many relationship.
appointment_actioncard
See appointment Entity appointment_actioncard One-To-Many relationship.
fax_actioncard
See fax Entity fax_actioncard One-To-Many relationship.
lk_actioncardbase_modifiedonbehalfby
See systemuser Entity lk_actioncardbase_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
actioncard EntityType
ActionCardUserState Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/actioncarduserstates Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/actioncarduserstates( Delete
actioncarduserstateid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/actioncarduserstates( Retrieve
actioncarduserstateid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/actioncarduserstates RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/actioncarduserstates( Update
actioncarduserstateid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ActionCardUserStates

DisplayCollectionName ActionCardUserStates

DisplayName ActionCardUserState

EntitySetName actioncarduserstates

IsBPFEntity False

LogicalCollectionName actioncarduserstates

LogicalName actioncarduserstate

OwnershipType None
PROPERTY VALUE

PrimaryIdAttribute actioncarduserstateid

PrimaryNameAttribute

SchemaName ActionCardUserState

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActionCardId
ActionCardIdName
ActionCardIdObjectTypeCode
ActionCardUserStateId
OwnerId
OwnerIdType
StartDate
State
TimeZoneRuleVersionNumber
TransactionCurrencyId
UTCConversionTimeZoneCode
ActionCardId
PROPERTY VALUE

Description Parent ActionCard Id.

DisplayName ActionCardId

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName actioncardid

RequiredLevel None

Targets actioncard

Type Lookup

ActionCardIdName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName actioncardidname

MaxLength 100

RequiredLevel None

Type String

ActionCardIdObjectTypeCode
PROPERTY VALUE

Description ActionCard Id ObjectType Code

DisplayName ActionCardIdObjectTypeCode

IsValidForForm False

IsValidForRead True

LogicalName actioncardidobjecttypecode

RequiredLevel None

Type EntityName

ActionCardUserStateId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName ActionCardUserState

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName actioncarduserstateid

RequiredLevel SystemRequired

Type Uniqueidentifier

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the state of
this action card.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

StartDate
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Shows the Start Date

DisplayName Start Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName startdate

RequiredLevel SystemRequired

Type DateTime

State
PROPERTY VALUE

Description State of the Action Card

DisplayName Action Card State

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName state

RequiredLevel SystemRequired

Type Picklist

State Options

VALUE LABEL

0 Active

1 Dismissed

2 Completed

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Exchange rate for the currency associated with the


ActionCardUserState with respect to the base currency.

DisplayName Currency

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ExchangeRate
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
TransactionCurrencyIdName
VersionNumber
ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the


ActionCardUserState with respect to the base currency.

DisplayName ExchangeRate

IsValidForForm False

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets actioncard

Type Lookup

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807
PROPERTY VALUE

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
ActionCardUserState_ActionCard
TransactionCurrency_ActionCardUserState
ActionCardUserState_ActionCard
See actioncard Entity ActionCardUserState_ActionCard One-To-Many relationship.
TransactionCurrency_ActionCardUserState
See transactioncurrency Entity TransactionCurrency_ActionCardUserState One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
actioncarduserstate EntityType
ActivityMimeAttachment Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

MIME attachment for an activity.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/activitymimeattachm Create
ents
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/activitymimeattachm Delete
ents(activitymimeattachmentid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/activitymimeattachm Retrieve
ents(activitymimeattachmentid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/activitymimeattachm RetrieveMultiple
ents
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/activitymimeattachm Update
ents(activitymimeattachmentid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ActivityMimeAttachments

DisplayCollectionName Attachments

DisplayName Attachment

EntitySetName activitymimeattachments

IsBPFEntity False

LogicalCollectionName activitymimeattachments

LogicalName activitymimeattachment
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute activitymimeattachmentid

PrimaryNameAttribute filename

SchemaName ActivityMimeAttachment

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityId
ActivityMimeAttachmentId
ActivityMimeAttachmentIdUnique
AttachmentContentId
AttachmentId
AttachmentNumber
Body
FileName
MimeType
ObjectId
ObjectTypeCode
Subject
ActivityId
PROPERTY VALUE

Description Unique identifier of the activity with which the attachment is


associated.

DisplayName Regarding

IsValidForForm False

IsValidForRead True

LogicalName activityid

RequiredLevel None

Targets activitypointer

Type Lookup

ActivityMimeAttachmentId
PROPERTY VALUE

Description Unique identifier of the attachment.

DisplayName Activity Mime Attachment

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activitymimeattachmentid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActivityMimeAttachmentIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activitymimeattachmentidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

AttachmentContentId
PROPERTY VALUE

Description For internal use only

DisplayName Content Id

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName attachmentcontentid

MaxLength 250

RequiredLevel None

Type String

AttachmentId
PROPERTY VALUE

Description Unique identifier of the attachment with which this


activitymimeattachment is associated.

DisplayName Attachment

IsValidForForm False

IsValidForRead True

LogicalName attachmentid

RequiredLevel ApplicationRequired

Targets attachment

Type Lookup

AttachmentNumber
PROPERTY VALUE

Description Number of the attachment.

DisplayName Attachment Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName attachmentnumber

MaxValue 1000000000

MinValue 0

RequiredLevel SystemRequired
PROPERTY VALUE

Type Integer

Body
PROPERTY VALUE

Description Contents of the attachment.

DisplayName Body

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName body

MaxLength 1073741823

RequiredLevel None

Type String

FileName
PROPERTY VALUE

Description File name of the attachment.

DisplayName File Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName filename

MaxLength 255

RequiredLevel None

Type String

MimeType
PROPERTY VALUE

Description MIME type of the attachment.

DisplayName Mime Type

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName mimetype

MaxLength 256

RequiredLevel None

Type String

ObjectId
PROPERTY VALUE

Description Unique identifier of the record with which the attachment is


associated

DisplayName Item

IsValidForForm False

IsValidForRead True

LogicalName objectid

RequiredLevel SystemRequired

Targets activitypointer,template

Type Lookup

ObjectTypeCode
PROPERTY VALUE

Description Object Type Code of the entity that is associated with the
attachment.

DisplayName Entity

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName objecttypecode

RequiredLevel SystemRequired

Type EntityName

Subject
PROPERTY VALUE

Description Descriptive subject for the attachment.

DisplayName Subject

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName subject

MaxLength 2000

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivitySubject
AnonymousLink
ComponentState
FileSize
IsFollowed
IsManaged
OverwriteTime
OwnerId
OwnerIdName
OwnerIdType
OwningBusinessUnit
OwningUser
SolutionId
SupportingSolutionId
VersionNumber
ActivitySubject
PROPERTY VALUE

Description Descriptive subject for the activity.

DisplayName ActivitySubject

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName activitysubject

MaxLength 2000

RequiredLevel None

Type String

AnonymousLink
PROPERTY VALUE

Description anonymous link

DisplayName For internal use only.

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName anonymouslink

MaxLength 2000

RequiredLevel None

Type String

ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

FileSize
PROPERTY VALUE

Description File size of the attachment.

DisplayName File Size (Bytes)

Format None

IsValidForForm False

IsValidForRead True

LogicalName filesize

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

IsFollowed
PROPERTY VALUE

Description Indicates if this attachment is followed.

DisplayName Followed

IsValidForForm True

IsValidForRead True

LogicalName isfollowed

RequiredLevel None

Type Boolean

IsFollowed Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the


activity_mime_attachment.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the activity
mime attachment.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit
PROPERTY VALUE

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the activity mime
attachment.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False
PROPERTY VALUE

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the activity mime attachment.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
ActivityMimeAttachment_AsyncOperations
ActivityMimeAttachment_BulkDeleteFailures
ActivityMimeAttachment_SyncErrors
ActivityMimeAttachment_AsyncOperations
Same as asyncoperation entity ActivityMimeAttachment_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName ActivityMimeAttachment_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ActivityMimeAttachment_BulkDeleteFailures
Same as bulkdeletefailure entity ActivityMimeAttachment_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ActivityMimeAttachment_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ActivityMimeAttachment_SyncErrors
Same as syncerror entity ActivityMimeAttachment_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName ActivityMimeAttachment_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
appointment_activity_mime_attachment
template_activity_mime_attachments
email_activity_mime_attachment
activity_pointer_activity_mime_attachment
appointment_activity_mime_attachment
See appointment Entity appointment_activity_mime_attachment One-To-Many relationship.
template_activity_mime_attachments
See template Entity template_activity_mime_attachments One-To-Many relationship.
email_activity_mime_attachment
See email Entity email_activity_mime_attachment One-To-Many relationship.
activity_pointer_activity_mime_attachment
See activitypointer Entity activity_pointer_activity_mime_attachment One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
activitymimeattachment EntityType
ActivityParty Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Person or group associated with an activity. An activity can have multiple activity parties.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/activityparties RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName ActivityParties

DisplayCollectionName Activity Parties

DisplayName Activity Party

EntitySetName activityparties

IsBPFEntity False

LogicalCollectionName activityparties

LogicalName activityparty

OwnershipType None

PrimaryIdAttribute activitypartyid

PrimaryNameAttribute partyidname

SchemaName ActivityParty

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityId
ActivityPartyId
AddressUsed
Effort
ExchangeEntryId
ParticipationTypeMask
PartyId
PartyIdName
PartyObjectTypeCode
ActivityId
PROPERTY VALUE

Description Unique identifier of the activity associated with the activity


party. (A "party" is any person who is associated with an
activity.)

DisplayName Activity

IsValidForForm False

IsValidForRead True

LogicalName activityid

RequiredLevel SystemRequired

Targets activitypointer

Type Lookup

ActivityPartyId
PROPERTY VALUE

Description Unique identifier of the activity party.

DisplayName Activity Party

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activitypartyid

RequiredLevel SystemRequired

Type Uniqueidentifier

AddressUsed
PROPERTY VALUE

Description Email address to which an email is delivered, and which is


associated with the target entity.
PROPERTY VALUE

DisplayName Address

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName addressused

MaxLength 200

RequiredLevel None

Type String

Effort
PROPERTY VALUE

Description Amount of effort used by the resource in a service


appointment activity.

DisplayName Effort

IsValidForForm False

IsValidForRead True

LogicalName effort

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Double

ExchangeEntryId
PROPERTY VALUE

Description For internal use only.

DisplayName Exchange Entry


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangeentryid

MaxLength 1024

RequiredLevel None

Type String

ParticipationTypeMask
PROPERTY VALUE

Description Role of the person in the activity, such as sender, to, cc, bcc,
required, optional, organizer, regarding, or owner.

DisplayName Participation Type

IsValidForForm False

IsValidForRead True

LogicalName participationtypemask

RequiredLevel SystemRequired

Type Picklist

ParticipationTypeMask Options

VALUE LABEL

1 Sender

2 To Recipient

3 CC Recipient

4 BCC Recipient

5 Required attendee

6 Optional attendee
VALUE LABEL

7 Organizer

8 Regarding

9 Owner

10 Resource

11 Customer

PartyId
PROPERTY VALUE

Description Unique identifier of the party associated with the activity.

DisplayName Party

IsValidForForm False

IsValidForRead True

LogicalName partyid

RequiredLevel None

Targets account,contact,knowledgearticle,queue,systemuser

Type Lookup

PartyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName partyidname

MaxLength 400
PROPERTY VALUE

RequiredLevel None

Type String

PartyObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName partyobjecttypecode

RequiredLevel SystemRequired

Type EntityName

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AddressUsedEmailColumnNumber
DoNotEmail
DoNotFax
DoNotPhone
DoNotPostalMail
InstanceTypeCode
IsPartyDeleted
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
ScheduledEnd
ScheduledStart
VersionNumber
AddressUsedEmailColumnNumber
PROPERTY VALUE

Description Email address column number from associated party.

DisplayName Email column number of party


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName addressusedemailcolumnnumber

MaxValue 2147483647

MinValue 1

RequiredLevel None

Type Integer

DoNotEmail
PROPERTY VALUE

Description Information about whether to allow sending email to the


activity party.

DisplayName Do not allow Emails

IsValidForForm False

IsValidForRead True

LogicalName donotemail

RequiredLevel None

Type Boolean

DoNotEmail Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotFax
PROPERTY VALUE

Description Information about whether to allow sending faxes to the


activity party.
PROPERTY VALUE

DisplayName Do not allow Faxes

IsValidForForm False

IsValidForRead True

LogicalName donotfax

RequiredLevel None

Type Boolean

DoNotFax Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotPhone
PROPERTY VALUE

Description Information about whether to allow phone calls to the lead.

DisplayName Do not allow Phone Calls

IsValidForForm False

IsValidForRead True

LogicalName donotphone

RequiredLevel None

Type Boolean

DoNotPhone Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotPostalMail
PROPERTY VALUE

Description Information about whether to allow sending postal mail to


the lead.

DisplayName Do not allow Postal Mails

IsValidForForm False

IsValidForRead True

LogicalName donotpostalmail

RequiredLevel None

Type Boolean

DoNotPostalMail Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
InstanceTypeCode
PROPERTY VALUE

Description Type of instance of a recurring series.

DisplayName Appointment Type

IsValidForForm False

IsValidForRead True

LogicalName instancetypecode

RequiredLevel SystemRequired

Type Picklist

InstanceTypeCode Options

VALUE LABEL

0 Not Recurring

1 Recurring Master

2 Recurring Instance
VALUE LABEL

3 Recurring Exception

4 Recurring Future Exception

IsPartyDeleted
PROPERTY VALUE

Description Information about whether the underlying entity record is


deleted.

DisplayName Is Party Deleted

IsValidForForm False

IsValidForRead True

LogicalName ispartydeleted

RequiredLevel SystemRequired

Type Boolean

IsPartyDeleted Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the


activity_party.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team
PROPERTY VALUE

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName owningbusinessunit

RequiredLevel None

Type Uniqueidentifier

OwningUser
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName owninguser
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Scheduled end time of the activity.

DisplayName Scheduled End

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime

ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Scheduled start time of the activity.

DisplayName Scheduled Start

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None

Type DateTime

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
ActivityParty_SyncErrors
Same as syncerror entity ActivityParty_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ActivityParty_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
account_activity_parties
letter_activity_parties
phonecall_activity_parties
task_activity_parties
recurringappointmentmaster_activity_parties
contact_activity_parties
system_user_activity_parties
appointment_activity_parties
socialactivity_activity_parties
queue_activity_parties
knowledgearticle_activity_parties
email_activity_parties
fax_activity_parties
activitypointer_activity_parties
account_activity_parties
See account Entity account_activity_parties One-To-Many relationship.
letter_activity_parties
See letter Entity letter_activity_parties One-To-Many relationship.
phonecall_activity_parties
See phonecall Entity phonecall_activity_parties One-To-Many relationship.
task_activity_parties
See task Entity task_activity_parties One-To-Many relationship.
recurringappointmentmaster_activity_parties
See recurringappointmentmaster Entity recurringappointmentmaster_activity_parties One-To-Many relationship.
contact_activity_parties
See contact Entity contact_activity_parties One-To-Many relationship.
system_user_activity_parties
See systemuser Entity system_user_activity_parties One-To-Many relationship.
appointment_activity_parties
See appointment Entity appointment_activity_parties One-To-Many relationship.
socialactivity_activity_parties
See socialactivity Entity socialactivity_activity_parties One-To-Many relationship.
queue_activity_parties
See queue Entity queue_activity_parties One-To-Many relationship.
knowledgearticle_activity_parties
See knowledgearticle Entity knowledgearticle_activity_parties One-To-Many relationship.
email_activity_parties
See email Entity email_activity_parties One-To-Many relationship.
fax_activity_parties
See fax Entity fax_activity_parties One-To-Many relationship.
activitypointer_activity_parties
See activitypointer Entity activitypointer_activity_parties One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
activityparty EntityType
ActivityPointer Entity Reference
4/3/2019 • 14 minutes to read • Edit Online

Task performed, or to be performed, by a user. An activity is any action for which an entry can be made on a
calendar.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/activitypointers(activ Retrieve
ityid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/activitypointers RetrieveMultiple
See Query Data

Rollup Rollup Function RollupRequest

Entity Properties
PROPERTY VALUE

CollectionSchemaName ActivityPointers

DisplayCollectionName Activities

DisplayName Activity

EntitySetName activitypointers

IsBPFEntity False

LogicalCollectionName activitypointers

LogicalName activitypointer

OwnershipType UserOwned

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

SchemaName ActivityPointer

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityAdditionalParams
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
Community
DeliveryPriorityCode
Description
ExchangeItemId
ExchangeWebLink
IsBilled
IsMapiPrivate
IsWorkflowCreated
LastOnHoldTime
LeftVoiceMail
OwnerId
OwnerIdType
PriorityCode
ProcessId
RegardingObjectId
RegardingObjectIdName
RegardingObjectIdYomiName
RegardingObjectTypeCode
ScheduledDurationMinutes
ScheduledEnd
ScheduledStart
SLAId
SortDate
StageId
StateCode
StatusCode
Subject
TimeZoneRuleVersionNumber
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
ActivityAdditionalParams
PROPERTY VALUE

Description Additional information provided by the external application as


JSON. For internal use only.

DisplayName Activity Additional Parameters


PROPERTY VALUE

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName activityadditionalparams

MaxLength 8192

RequiredLevel None

Type Memo

ActivityId
PROPERTY VALUE

Description Unique identifier of the activity.

DisplayName Activity

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
PROPERTY VALUE

Description Actual duration of the activity in minutes.

DisplayName Actual Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName actualdurationminutes
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ActualEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Actual end time of the activity.

DisplayName Actual End

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

ActualStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Actual start time of the activity.

DisplayName Actual Start

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime
Community
PROPERTY VALUE

Description Shows how contact about the social activity originated, such
as from Twitter or Facebook. This field is read-only.

DisplayName Social Channel

IsValidForForm False

IsValidForRead True

LogicalName community

RequiredLevel None

Type Picklist

Community Options

VALUE LABEL

0 Other

1 Facebook

2 Twitter

DeliveryPriorityCode
PROPERTY VALUE

Description Priority of delivery of the activity to the email server.

DisplayName Delivery Priority

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName deliveryprioritycode

RequiredLevel None

Type Picklist

DeliveryPriorityCode Options

VALUE LABEL

0 Low
VALUE LABEL

1 Normal

2 High

Description
PROPERTY VALUE

Description Description of the activity.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

ExchangeItemId
PROPERTY VALUE

Description The message id of activity which is returned from Exchange


Server.

DisplayName Exchange Item ID

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangeitemid

MaxLength 200

RequiredLevel None
PROPERTY VALUE

Type String

ExchangeWebLink
PROPERTY VALUE

Description Shows the web link of Activity of type email.

DisplayName Exchange WebLink

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangeweblink

MaxLength 1250

RequiredLevel None

Type String

IsBilled
PROPERTY VALUE

Description Information regarding whether the activity was billed as part


of resolving a case.

DisplayName Is Billed

IsValidForForm False

IsValidForRead True

LogicalName isbilled

RequiredLevel None

Type Boolean

IsBilled Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
IsMapiPrivate
PROPERTY VALUE

Description For internal use only.

DisplayName Is Private

IsValidForForm False

IsValidForRead True

LogicalName ismapiprivate

RequiredLevel None

Type Boolean

IsMapiPrivate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsWorkflowCreated
PROPERTY VALUE

Description Information regarding whether the activity was created from a


workflow rule.

DisplayName Is Workflow Created

IsValidForForm False

IsValidForRead True

LogicalName isworkflowcreated

RequiredLevel None

Type Boolean

IsWorkflowCreated Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

LeftVoiceMail
PROPERTY VALUE

Description Left the voice mail

DisplayName Left Voice Mail

IsValidForForm True

IsValidForRead True

LogicalName leftvoicemail

RequiredLevel None

Type Boolean

LeftVoiceMail Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the activity.

DisplayName Owner

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PriorityCode
PROPERTY VALUE

Description Priority of the activity.


PROPERTY VALUE

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode

RequiredLevel None

Type Picklist

PriorityCode Options

VALUE LABEL

0 Low

1 Normal

2 High

ProcessId
PROPERTY VALUE

Description Unique identifier of the Process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Unique identifier of the object with which the activity is


associated.

DisplayName Regarding

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,contact,interactionforemail,knowledgearticle,knowledg
ebaserecord

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 400

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName regardingobjectidyominame

MaxLength 400

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

ScheduledDurationMinutes
PROPERTY VALUE

Description Scheduled duration of the activity, specified in minutes.

DisplayName Scheduled Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName scheduleddurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Scheduled end time of the activity.

DisplayName Due Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime

ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Scheduled start time of the activity.

DisplayName Start Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None

Type DateTime

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the case record.

DisplayName SLA

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SortDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time by which the activities are sorted.

DisplayName Sort Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

StageId
PROPERTY VALUE

Description Unique identifier of the Stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Status of the activity.

DisplayName Activity Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 1 Open

1 Completed 2 Completed

2 Canceled 3 Canceled

3 Scheduled 4 Scheduled

StatusCode
PROPERTY VALUE

Description Reason for the status of the activity.

DisplayName Status Reason

IsValidForForm False

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Open 0
VALUE LABEL STATE

2 Completed 1

3 Canceled 2

4 Scheduled 3

Subject
PROPERTY VALUE

Description Subject associated with the activity.

DisplayName Subject

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subject

MaxLength 400

RequiredLevel ApplicationRequired

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None
PROPERTY VALUE

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the


activitypointer.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivityTypeCode
allparties
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
DeliveryLastAttemptedOn
ExchangeRate
InstanceTypeCode
IsRegularActivity
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
PostponeActivityProcessingUntil
SenderMailboxId
SenderMailboxIdName
SentOn
SeriesId
SLAInvokedId
SLAInvokedIdName
SLAName
TransactionCurrencyIdName
VersionNumber
ActivityTypeCode
PROPERTY VALUE

Description Type of activity.

DisplayName Activity Type

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode

RequiredLevel SystemRequired

Type EntityName

allparties
PROPERTY VALUE

Description All activity parties associated with this activity.

DisplayName All Activity Parties

IsValidForForm False

IsValidForRead True

LogicalName allparties

RequiredLevel None

Targets account,contact,queue,systemuser,team

Type PartyList
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the activity.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the activity was created.

DisplayName Date Created

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


activitypointer.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

DeliveryLastAttemptedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the delivery of the activity was last
attempted.

DisplayName Date Delivery Last Attempted

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName deliverylastattemptedon

RequiredLevel None

Type DateTime

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the


activitypointer with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

InstanceTypeCode
PROPERTY VALUE

Description Type of instance of a recurring series.

DisplayName Recurring Instance Type

IsValidForForm False

IsValidForRead True

LogicalName instancetypecode

RequiredLevel SystemRequired

Type Picklist

InstanceTypeCode Options

VALUE LABEL

0 Not Recurring

1 Recurring Master

2 Recurring Instance

3 Recurring Exception

4 Recurring Future Exception

IsRegularActivity
PROPERTY VALUE

Description Information regarding whether the activity is a regular activity


type or event type.

DisplayName Is Regular Activity

IsValidForForm False

IsValidForRead True

LogicalName isregularactivity

RequiredLevel SystemRequired

Type Boolean

IsRegularActivity Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: True
ModifiedBy
PROPERTY VALUE

Description Unique identifier of user who last modified the activity.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when activity was last modified.

DisplayName Last Updated

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
activitypointer.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the activity.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team that owns the activity.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user that owns the activity.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

PostponeActivityProcessingUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Delay activity processing until

Format DateAndTime

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName postponeactivityprocessinguntil

RequiredLevel None

Type DateTime

SenderMailboxId
PROPERTY VALUE

Description Unique identifier of the mailbox associated with the sender of


the email message.

DisplayName Sender's Mailbox

IsValidForForm False

IsValidForRead True

LogicalName sendermailboxid

RequiredLevel None

Targets mailbox

Type Lookup

SenderMailboxIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sendermailboxidname

MaxLength 100

RequiredLevel None

Type String
SentOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the activity was sent.

DisplayName Date Sent

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName senton

RequiredLevel None

Type DateTime

SeriesId
PROPERTY VALUE

Description Uniqueidentifier specifying the id of recurring series of an


instance.

DisplayName Series Id

IsValidForForm False

IsValidForRead True

LogicalName seriesid

RequiredLevel None

Type Uniqueidentifier

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this case. This field is for internal
use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName slainvokedid

RequiredLevel None

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the activity.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt
One-To-Many Relationships
Listed by SchemaName.
activity_pointer_fax
activity_pointer_recurrencerule
activity_pointer_letter
activitypointer_connections1
activity_pointer_phonecall
activity_pointer_email
activitypointer_activity_parties
activity_pointer_activity_mime_attachment
activity_pointer_appointment
activitypointer_connections2
slakpiinstance_activitypointer
ActivityPointer_QueueItem
activity_pointer_task
activity_pointer_socialactivity
ActivityPointer_AsyncOperations
ActivityPointer_BulkDeleteFailures
activity_pointer_recurringappointmentmaster
activity_pointer_fax
Same as fax entity activity_pointer_fax Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_fax

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_recurrencerule
Same as recurrencerule entity activity_pointer_recurrencerule Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity recurrencerule

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_recurrencerule

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: Cascade
Unshare: Cascade

activity_pointer_letter
Same as letter entity activity_pointer_letter Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_letter

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activitypointer_connections1
Same as connection entity activitypointer_connections1 Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activitypointer_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_phonecall
Same as phonecall entity activity_pointer_phonecall Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_phonecall

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_email
Same as email entity activity_pointer_email Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_email

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activitypointer_activity_parties
Same as activityparty entity activitypointer_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activitypointer_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_activity_mime_attachment
Same as activitymimeattachment entity activity_pointer_activity_mime_attachment Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity activitymimeattachment

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_activity_mime_attachment

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_appointment
Same as appointment entity activity_pointer_appointment Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_appointment

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activitypointer_connections2
Same as connection entity activitypointer_connections2 Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activitypointer_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_activitypointer
Same as slakpiinstance entity slakpiinstance_activitypointer Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName slakpiinstance_activitypointer

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ActivityPointer_QueueItem
Same as queueitem entity ActivityPointer_QueueItem Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ActivityPointer_QueueItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_task
Same as task entity activity_pointer_task Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_task

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_socialactivity
Same as socialactivity entity activity_pointer_socialactivity Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_socialactivity

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ActivityPointer_AsyncOperations
Same as asyncoperation entity ActivityPointer_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ActivityPointer_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ActivityPointer_BulkDeleteFailures
Same as bulkdeletefailure entity ActivityPointer_BulkDeleteFailures Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ActivityPointer_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activity_pointer_recurringappointmentmaster
Same as recurringappointmentmaster entity activity_pointer_recurringappointmentmaster Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activity_pointer_recurringappointmentmaster

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
interactionforemail_ActivityPointers
KnowledgeBaseRecord_ActivityPointers
KnowledgeArticle_ActivityPointers
activitypointer_sendermailboxid_mailbox
lk_activitypointer_createdonbehalfby
Contact_ActivityPointers
lk_activitypointer_modifiedonbehalfby
TransactionCurrency_ActivityPointer
sla_activitypointer
business_unit_activitypointer
Account_ActivityPointers
manualsla_activitypointer
team_activity
lk_activitypointer_modifiedby
lk_activitypointer_createdby
user_activity
interactionforemail_ActivityPointers
See interactionforemail Entity interactionforemail_ActivityPointers One-To-Many relationship.
KnowledgeBaseRecord_ActivityPointers
See knowledgebaserecord Entity KnowledgeBaseRecord_ActivityPointers One-To-Many relationship.
KnowledgeArticle_ActivityPointers
See knowledgearticle Entity KnowledgeArticle_ActivityPointers One-To-Many relationship.
activitypointer_sendermailboxid_mailbox
See mailbox Entity activitypointer_sendermailboxid_mailbox One-To-Many relationship.
lk_activitypointer_createdonbehalfby
See systemuser Entity lk_activitypointer_createdonbehalfby One-To-Many relationship.
Contact_ActivityPointers
See contact Entity Contact_ActivityPointers One-To-Many relationship.
lk_activitypointer_modifiedonbehalfby
See systemuser Entity lk_activitypointer_modifiedonbehalfby One-To-Many relationship.
TransactionCurrency_ActivityPointer
See transactioncurrency Entity TransactionCurrency_ActivityPointer One-To-Many relationship.
sla_activitypointer
See sla Entity sla_activitypointer One-To-Many relationship.
business_unit_activitypointer
See businessunit Entity business_unit_activitypointer One-To-Many relationship.
Account_ActivityPointers
See account Entity Account_ActivityPointers One-To-Many relationship.
manualsla_activitypointer
See sla Entity manualsla_activitypointer One-To-Many relationship.
team_activity
See team Entity team_activity One-To-Many relationship.
lk_activitypointer_modifiedby
See systemuser Entity lk_activitypointer_modifiedby One-To-Many relationship.
lk_activitypointer_createdby
See systemuser Entity lk_activitypointer_createdby One-To-Many relationship.
user_activity
See systemuser Entity user_activity One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
activitypointer EntityType
Annotation Entity Reference
4/3/2019 • 8 minutes to read • Edit Online

Note that is attached to one or more objects, including other notes.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/annotations(annotat
ionid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/annotations Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/annotations(annotat Delete
ionid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/annotations(annotat Retrieve
ionid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/annotations RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

Rollup Rollup Function RollupRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/annotations(annotat Update
ionid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Annotations

DisplayCollectionName Notes

DisplayName Note

EntitySetName annotations

IsBPFEntity False

LogicalCollectionName annotations

LogicalName annotation

OwnershipType UserOwned

PrimaryIdAttribute annotationid

PrimaryNameAttribute subject

SchemaName Annotation

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AnnotationId
DocumentBody
FileName
ImportSequenceNumber
IsDocument
LangId
MimeType
NoteText
ObjectId
ObjectIdTypeCode
ObjectTypeCode
OverriddenCreatedOn
OwnerId
OwnerIdType
StepId
Subject
AnnotationId
PROPERTY VALUE

Description Unique identifier of the note.


PROPERTY VALUE

DisplayName Note

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName annotationid

RequiredLevel SystemRequired

Type Uniqueidentifier

DocumentBody
PROPERTY VALUE

Description Contents of the note's attachment.

DisplayName Document

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName documentbody

MaxLength 1073741823

RequiredLevel None

Type String

FileName
PROPERTY VALUE

Description File name of the note.

DisplayName File Name

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName filename

MaxLength 255

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsDocument
PROPERTY VALUE

Description Specifies whether the note is an attachment.

DisplayName Is Document

IsValidForForm False

IsValidForRead True

LogicalName isdocument
PROPERTY VALUE

RequiredLevel SystemRequired

Type Boolean

IsDocument Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LangId
PROPERTY VALUE

Description Language identifier for the note.

DisplayName Language ID

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName langid

MaxLength 2

RequiredLevel None

Type String

MimeType
PROPERTY VALUE

Description MIME type of the note's attachment.

DisplayName Mime Type

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName mimetype

MaxLength 256

RequiredLevel None

Type String

NoteText
PROPERTY VALUE

Description Text of the note.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName notetext

MaxLength 100000

RequiredLevel None

Type Memo

ObjectId
PROPERTY VALUE

Description Unique identifier of the object with which the note is


associated.

DisplayName Regarding

IsValidForForm False

IsValidForRead True

LogicalName objectid

RequiredLevel None
PROPERTY VALUE

Targets account,appointment,calendar,channelaccessprofile,channelacc
essprofilerule,channelaccessprofileruleitem,contact,convertrule,
duplicaterule,email,emailserverprofile,fax,goal,kbarticle,knowled
gearticle,knowledgebaserecord,letter,mailbox,msdyn_solutionc
omponentdatasource,msdyn_solutionhistorydatasource,phone
call,recurringappointmentmaster,routingrule,routingruleitem,s
harepointdocument,sla,socialactivity,task,workflow

Type Lookup

ObjectIdTypeCode
PROPERTY VALUE

Description

DisplayName Regarding Object Type

IsValidForForm False

IsValidForRead True

LogicalName objectidtypecode

RequiredLevel None

Type EntityName

ObjectTypeCode
PROPERTY VALUE

Description Type of entity with which the note is associated.

DisplayName Object Type

IsValidForForm False

IsValidForRead True

LogicalName objecttypecode

RequiredLevel None

Type EntityName

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the note.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype
PROPERTY VALUE

RequiredLevel SystemRequired

Type EntityName

StepId
PROPERTY VALUE

Description workflow step id associated with the note.

DisplayName Step Id

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName stepid

MaxLength 32

RequiredLevel None

Type String

Subject
PROPERTY VALUE

Description Subject associated with the note.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName subject

MaxLength 500

RequiredLevel ApplicationRequired

Type String
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
FilePointer
FileSize
IsPrivate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
Prefix
StoragePointer
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the note.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the note was created.


PROPERTY VALUE

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


annotation.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

FilePointer
PROPERTY VALUE

Description File pointer of the attachment.

DisplayName File Pointer

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName filepointer

MaxLength 255
PROPERTY VALUE

RequiredLevel None

Type String

FileSize
PROPERTY VALUE

Description File size of the note.

DisplayName File Size (Bytes)

Format None

IsValidForForm False

IsValidForRead True

LogicalName filesize

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

IsPrivate
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName isprivate

RequiredLevel None

Type Boolean

IsPrivate Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the note.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the note was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
annotation.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the note.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the note.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the note.

DisplayName Owning User


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

Prefix
PROPERTY VALUE

Description Prefix of the file pointer in blob storage.

DisplayName Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName prefix

MaxLength 10

RequiredLevel None

Type String

StoragePointer
PROPERTY VALUE

Description Storage pointer.

DisplayName Storage Pointer

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead False
PROPERTY VALUE

LogicalName storagepointer

MaxLength 10

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the note.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
Annotation_SyncErrors
Annotation_AsyncOperations
Annotation_BulkDeleteFailures
Annotation_ProcessSessions
Annotation_SyncErrors
Same as syncerror entity Annotation_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName Annotation_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Annotation_AsyncOperations
Same as asyncoperation entity Annotation_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Annotation_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Annotation_BulkDeleteFailures
Same as bulkdeletefailure entity Annotation_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName Annotation_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Annotation_ProcessSessions
Same as processsession entity Annotation_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Annotation_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
msdyn_solutioncomponentdatasource_Annotations
msdyn_solutionhistorydatasource_Annotations
knowledgearticle_Annotations
KnowledgeBaseRecord_Annotations
lk_annotationbase_modifiedonbehalfby
Mailbox_Annotation
team_annotations
annotation_owning_user
PhoneCall_Annotation
Contact_Annotation
SocialActivity_Annotation
sla_Annotation
Calendar_Annotation
Email_Annotation
Task_Annotation
lk_annotationbase_createdby
EmailServerProfile_Annotation
Account_Annotation
RecurringAppointmentMaster_Annotation
business_unit_annotations
lk_annotationbase_modifiedby
Letter_Annotation
Fax_Annotation
Workflow_Annotation
Appointment_Annotation
lk_annotationbase_createdonbehalfby
Goal_Annotation
KbArticle_Annotation
DuplicateRule_Annotation
msdyn_solutioncomponentdatasource_Annotations
Added by: Microsoft Dynamics 365 Settings APIs Solution
See msdyn_solutioncomponentdatasource Entity msdyn_solutioncomponentdatasource_Annotations One-To-
Many relationship.
msdyn_solutionhistorydatasource_Annotations
Added by: Microsoft Dynamics 365 Solution History APIs Solution
See msdyn_solutionhistorydatasource Entity msdyn_solutionhistorydatasource_Annotations One-To-Many
relationship.
knowledgearticle_Annotations
See knowledgearticle Entity knowledgearticle_Annotations One-To-Many relationship.
KnowledgeBaseRecord_Annotations
See knowledgebaserecord Entity KnowledgeBaseRecord_Annotations One-To-Many relationship.
lk_annotationbase_modifiedonbehalfby
See systemuser Entity lk_annotationbase_modifiedonbehalfby One-To-Many relationship.
Mailbox_Annotation
See mailbox Entity Mailbox_Annotation One-To-Many relationship.
team_annotations
See team Entity team_annotations One-To-Many relationship.
annotation_owning_user
See systemuser Entity annotation_owning_user One-To-Many relationship.
PhoneCall_Annotation
See phonecall Entity PhoneCall_Annotation One-To-Many relationship.
Contact_Annotation
See contact Entity Contact_Annotation One-To-Many relationship.
SocialActivity_Annotation
See socialactivity Entity SocialActivity_Annotation One-To-Many relationship.
sla_Annotation
See sla Entity sla_Annotation One-To-Many relationship.
Calendar_Annotation
See calendar Entity Calendar_Annotation One-To-Many relationship.
Email_Annotation
See email Entity Email_Annotation One-To-Many relationship.
Task_Annotation
See task Entity Task_Annotation One-To-Many relationship.
lk_annotationbase_createdby
See systemuser Entity lk_annotationbase_createdby One-To-Many relationship.
EmailServerProfile_Annotation
See emailserverprofile Entity EmailServerProfile_Annotation One-To-Many relationship.
Account_Annotation
See account Entity Account_Annotation One-To-Many relationship.
RecurringAppointmentMaster_Annotation
See recurringappointmentmaster Entity RecurringAppointmentMaster_Annotation One-To-Many relationship.
business_unit_annotations
See businessunit Entity business_unit_annotations One-To-Many relationship.
lk_annotationbase_modifiedby
See systemuser Entity lk_annotationbase_modifiedby One-To-Many relationship.
Letter_Annotation
See letter Entity Letter_Annotation One-To-Many relationship.
Fax_Annotation
See fax Entity Fax_Annotation One-To-Many relationship.
Workflow_Annotation
See workflow Entity Workflow_Annotation One-To-Many relationship.
Appointment_Annotation
See appointment Entity Appointment_Annotation One-To-Many relationship.
lk_annotationbase_createdonbehalfby
See systemuser Entity lk_annotationbase_createdonbehalfby One-To-Many relationship.
Goal_Annotation
See goal Entity Goal_Annotation One-To-Many relationship.
KbArticle_Annotation
See kbarticle Entity KbArticle_Annotation One-To-Many relationship.
DuplicateRule_Annotation
See duplicaterule Entity DuplicateRule_Annotation One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
annotation EntityType
AnnualFiscalCalendar Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Year long fiscal calendar of an organization. A span of time during which the financial activities of an organization
are calculated.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/annualfiscalcalendars Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/annualfiscalcalendars Delete
(userfiscalcalendarid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/annualfiscalcalendars Retrieve
(userfiscalcalendarid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/annualfiscalcalendars RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/annualfiscalcalendars Update
(userfiscalcalendarid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName AnnualFiscalCalendars

DisplayCollectionName Annual Fiscal Calendars

DisplayName Annual Fiscal Calendar

EntitySetName annualfiscalcalendars

IsBPFEntity False

LogicalCollectionName annualfiscalcalendars

LogicalName annualfiscalcalendar
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute userfiscalcalendarid

PrimaryNameAttribute

SchemaName AnnualFiscalCalendar

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
EffectiveOn
Period1
SalesPersonId
TimeZoneRuleVersionNumber
TransactionCurrencyId
UserFiscalCalendarId
UTCConversionTimeZoneCode
EffectiveOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the fiscal calendar sales quota takes
effect.

DisplayName

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName effectiveon

RequiredLevel SystemRequired

Type DateTime

Period1
PROPERTY VALUE

Description Sales quota for the first period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName annual

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

SalesPersonId
PROPERTY VALUE

Description Unique identifier of the sales person associated with the sales
quota.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName salespersonid

RequiredLevel SystemRequired

Targets systemuser

Type Lookup

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the annual


fiscal calendar.

DisplayName Currency

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName transactioncurrencyid

RequiredLevel ApplicationRequired

Targets transactioncurrency

Type Lookup

UserFiscalCalendarId
PROPERTY VALUE

Description Unique identifier of the user associated with the annual fiscal
calendar.

DisplayName

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName userfiscalcalendarid

RequiredLevel SystemRequired

Type Uniqueidentifier

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
BusinessUnitId
BusinessUnitIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
FiscalPeriodType
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
Period1_Base
SalesPersonIdName
SalesPersonIdYomiName
TransactionCurrencyIdName
BusinessUnitId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName businessunitid

RequiredLevel ApplicationRequired

Targets businessunit

Type Lookup

BusinessUnitIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName businessunitidname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the quota for the
annual fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the quota for the annual fiscal calendar
was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


annualfiscalcalendar.

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the annual
fiscal calendar with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

FiscalPeriodType
PROPERTY VALUE

Description Type of fiscal period used in the sales quota.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName fiscalperiodtype

MaxValue 2147483647
PROPERTY VALUE

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the quota for
the annual fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String
ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the annual fiscal calendar was last
modified.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
annualfiscalcalendar.
PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

Period1_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the first period
in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName annual_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

SalesPersonIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName salespersonidname

MaxLength 100

RequiredLevel SystemRequired

Type String

SalesPersonIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName salespersonidyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

One-To-Many Relationships
Listed by SchemaName.
AnnualFiscalCalendar_AsyncOperations
AnnualFiscalCalendar_BulkDeleteFailures
AnnualFiscalCalendar_AsyncOperations
Same as asyncoperation entity AnnualFiscalCalendar_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName AnnualFiscalCalendar_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

AnnualFiscalCalendar_BulkDeleteFailures
Same as bulkdeletefailure entity AnnualFiscalCalendar_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName AnnualFiscalCalendar_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
transactioncurrency_annualfiscalcalendar
lk_annualfiscalcalendar_salespersonid
lk_annualfiscalcalendar_modifiedonbehalfby
lk_annualfiscalcalendar_modifiedby
lk_annualfiscalcalendar_createdonbehalfby
lk_annualfiscalcalendar_createdby
transactioncurrency_annualfiscalcalendar
See transactioncurrency Entity transactioncurrency_annualfiscalcalendar One-To-Many relationship.
lk_annualfiscalcalendar_salespersonid
See systemuser Entity lk_annualfiscalcalendar_salespersonid One-To-Many relationship.
lk_annualfiscalcalendar_modifiedonbehalfby
See systemuser Entity lk_annualfiscalcalendar_modifiedonbehalfby One-To-Many relationship.
lk_annualfiscalcalendar_modifiedby
See systemuser Entity lk_annualfiscalcalendar_modifiedby One-To-Many relationship.
lk_annualfiscalcalendar_createdonbehalfby
See systemuser Entity lk_annualfiscalcalendar_createdonbehalfby One-To-Many relationship.
lk_annualfiscalcalendar_createdby
See systemuser Entity lk_annualfiscalcalendar_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
annualfiscalcalendar EntityType
AppConfig Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Contains a mapping between an app configuration instance and an app, which defines the properties that can be
customized for the app. Optionally, also contains navigation setting for an app. For internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/appconfigs Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/appconfigs(appconfi Delete
gid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/appconfigs(appconfi Retrieve
gid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/appconfigs RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/appconfigs(appconfi Update
gid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName AppConfigs

DisplayCollectionName App Configuration

DisplayName App Configuration

EntitySetName appconfigs

IsBPFEntity False

LogicalCollectionName appconfigs
PROPERTY VALUE

LogicalName appconfig

OwnershipType OrganizationOwned

PrimaryIdAttribute appconfigid

PrimaryNameAttribute

SchemaName AppConfig

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AppConfigIdUnique
AppConfigImportXml
AppModuleId
IntroducedVersion
StateCode
StatusCode
AppConfigIdUnique
PROPERTY VALUE

Description System-populated app configuration unique ID.

DisplayName App Config ID Unique

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName appconfigidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

AppConfigImportXml
PROPERTY VALUE

Description The App Config diff computed for managed solutions


containing the AppConfig entity. For internal use only.

DisplayName
PROPERTY VALUE

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName appconfigimportxml

MaxLength 1073741823

RequiredLevel None

Type Memo

AppModuleId
PROPERTY VALUE

Description Choose the app module to associate with the app


configuration.

DisplayName App Module ID

IsValidForForm False

IsValidForRead True

LogicalName appmoduleid

RequiredLevel SystemRequired

Targets appmodule

Type Lookup

IntroducedVersion
PROPERTY VALUE

Description Version in which the similarity rule is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 100

RequiredLevel None

Type String

StateCode
PROPERTY VALUE

Description Shows whether the app configuration is Active or Inactive.


Inactive records are read-only and can't be edited unless they
are reactivated.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel None

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AppConfigId
ComponentState
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportSequenceNumber
IsManaged
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverriddenCreatedOn
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
AppConfigId
PROPERTY VALUE

Description System-populated app configuration ID.


PROPERTY VALUE

DisplayName App Config ID

IsValidForForm False

IsValidForRead True

LogicalName appconfigid

RequiredLevel SystemRequired

Type Uniqueidentifier

ComponentState
PROPERTY VALUE

Description For internal use only

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ImportSequenceNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsManaged
PROPERTY VALUE

Description Is Managed

DisplayName Indicates whether this is part of a managed solution.


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel ApplicationRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String
OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization.

DisplayName OrganizationId

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was migrated. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.
PROPERTY VALUE

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Internal use only

DisplayName Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired
PROPERTY VALUE

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Supporting Solution ID

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
navigationsetting_appconfig
appconfig_appconfiginstance
navigationsetting_appconfig
Same as navigationsetting entity navigationsetting_appconfig Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity navigationsetting

ReferencingAttribute appconfigid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName appconfig_navigationsetting

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

appconfig_appconfiginstance
Same as appconfiginstance entity appconfig_appconfiginstance Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appconfiginstance

ReferencingAttribute appconfigid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName appconfig_appconfiginstance

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_appconfig_createdby
lk_appconfig_modifiedonbehalfby
lk_appconfig_createdonbehalfby
organization_appconfig
appmodule_appconfig
lk_appconfig_modifiedby
lk_appconfig_createdby
See systemuser Entity lk_appconfig_createdby One-To-Many relationship.
lk_appconfig_modifiedonbehalfby
See systemuser Entity lk_appconfig_modifiedonbehalfby One-To-Many relationship.
lk_appconfig_createdonbehalfby
See systemuser Entity lk_appconfig_createdonbehalfby One-To-Many relationship.
organization_appconfig
See organization Entity organization_appconfig One-To-Many relationship.
appmodule_appconfig
See appmodule Entity appmodule_appconfig One-To-Many relationship.
lk_appconfig_modifiedby
See systemuser Entity lk_appconfig_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
appconfig EntityType
AppConfigInstance Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Contains a property or a list of properties from the app configuration master list that can be customized for any
app in Dynamics 365. For internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/appconfiginstances Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/appconfiginstances(a Delete
ppconfiginstanceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/appconfiginstances(a Retrieve
ppconfiginstanceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/appconfiginstances RetrieveMultiple
See Query Data

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/appconfiginstances(a Update
ppconfiginstanceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName AppConfigInstances

DisplayCollectionName App Configuration Instance

DisplayName App Configuration Instance

EntitySetName appconfiginstances

IsBPFEntity False

LogicalCollectionName appconfiginstances
PROPERTY VALUE

LogicalName appconfiginstance

OwnershipType OrganizationOwned

PrimaryIdAttribute appconfiginstanceid

PrimaryNameAttribute

SchemaName AppConfigInstance

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AppConfigId
AppConfigIdUnique
AppConfigInstanceIdUnique
AppConfigMasterId
ComponentType
IntroducedVersion
ObjectId
Value
AppConfigId
PROPERTY VALUE

Description System-calculated App Configuration unique identifier.

DisplayName App Config ID

IsValidForForm False

IsValidForRead True

LogicalName appconfigid

RequiredLevel ApplicationRequired

Targets appconfig

Type Lookup

AppConfigIdUnique
PROPERTY VALUE

Description Enter the App Configuration unique identifier of AppConfig


entity for which this customization belongs.
PROPERTY VALUE

DisplayName App Config ID Unique

IsValidForForm False

IsValidForRead True

LogicalName appconfigidunique

RequiredLevel None

Type Uniqueidentifier

AppConfigInstanceIdUnique
PROPERTY VALUE

Description System-populated App Configuration Instance unique


identifier.

DisplayName AppConfigInstanceIdUnique

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName appconfiginstanceidunique

RequiredLevel None

Type Uniqueidentifier

AppConfigMasterId
PROPERTY VALUE

Description System-calculated App Configuration Master identifier.

DisplayName App Config Master ID

IsValidForForm False

IsValidForRead True

LogicalName appconfigmasterid

RequiredLevel ApplicationRequired

Targets appconfigmaster
PROPERTY VALUE

Type Lookup

ComponentType
PROPERTY VALUE

Description ComponentType

DisplayName Enter the componenet type of the artifact (Form/View etc.) for
which customization is to be created.

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName componenttype

MaxLength 100

RequiredLevel None

Type String

IntroducedVersion
PROPERTY VALUE

Description Shows the version in which the App Configuration Instance is


introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ObjectId
PROPERTY VALUE

Description ObjectId

DisplayName Enter the object identifier for the artifact (Form/View etc.) for
which customization is to be created.

IsValidForForm False

IsValidForRead True

LogicalName objectid

RequiredLevel None

Type Uniqueidentifier

Value
PROPERTY VALUE

Description Enter a value for the customization property that is valid as


per the validator XML specified in the app configuration
master record.

DisplayName Value

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName value

MaxLength 100

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AppConfigInstanceId
ComponentState
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportSequenceNumber
IsManaged
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverriddenCreatedOn
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
AppConfigInstanceId
PROPERTY VALUE

Description System-Populated App Configuration instance identifier.

DisplayName AppConfig Instance ID

IsValidForForm False

IsValidForRead True

LogicalName appconfiginstanceid

RequiredLevel SystemRequired

Type Uniqueidentifier

ComponentState
PROPERTY VALUE

Description System-Populated Published or UnPublished state of App


Configuration Instance.

DisplayName Component State

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String
ImportSequenceNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsManaged
PROPERTY VALUE

Description Is Managed

DisplayName Shows whether the App Configuration Instance is managed or


not.

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel ApplicationRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Modified On
PROPERTY VALUE

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description System-calculated field for Organization identifier.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was migrated. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Shows the last overwrite time for the App Configuration
Instance.

DisplayName Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Set the solution idenfitier for associated solution.

DisplayName SolutionId

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description Set the supporting solution idenfitier for associated solution.

DisplayName SupportingSolutionId

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
appconfig_appconfiginstance
lk_appconfiginstance_modifiedby
lk_appconfiginstance_createdby
lk_appconfiginstance_createdonbehalfby
lk_appconfiginstance_modifiedonbehalfby
organization_appconfiginstance
appconfigmaster_appconfiginstance
appconfig_appconfiginstance
See appconfig Entity appconfig_appconfiginstance One-To-Many relationship.
lk_appconfiginstance_modifiedby
See systemuser Entity lk_appconfiginstance_modifiedby One-To-Many relationship.
lk_appconfiginstance_createdby
See systemuser Entity lk_appconfiginstance_createdby One-To-Many relationship.
lk_appconfiginstance_createdonbehalfby
See systemuser Entity lk_appconfiginstance_createdonbehalfby One-To-Many relationship.
lk_appconfiginstance_modifiedonbehalfby
See systemuser Entity lk_appconfiginstance_modifiedonbehalfby One-To-Many relationship.
organization_appconfiginstance
See organization Entity organization_appconfiginstance One-To-Many relationship.
appconfigmaster_appconfiginstance
See appconfigmaster Entity appconfigmaster_appconfiginstance One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
appconfiginstance EntityType
AppConfigMaster Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Contains the master list of all properties that can be customized for apps in Dynamics 365. For internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/appconfigmasters(ap Retrieve
pconfigmasterid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/appconfigmasters RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName AppConfigMasters

DisplayCollectionName App Config Master

DisplayName App Config Master

EntitySetName appconfigmasters

IsBPFEntity False

LogicalCollectionName appconfigmasters

LogicalName appconfigmaster

OwnershipType OrganizationOwned

PrimaryIdAttribute appconfigmasterid

PrimaryNameAttribute name

SchemaName AppConfigMaster

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Name
PROPERTY VALUE

Description Enter the name of the App Configuration and Setting property
with which this customization will be identified.

DisplayName Name

FormatName Text

IsLocalizable True

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AppConfigMasterId
ConfigType
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
DefaultValue
ImportSequenceNumber
IsNavigationSetting
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverriddenCreatedOn
ParentAppConfigMasterId
Validator
VersionNumber
AppConfigMasterId
PROPERTY VALUE

Description System-Populated App Configuration instance identifier.

DisplayName AppConfigMasterId

IsValidForForm False

IsValidForRead True

LogicalName appconfigmasterid

RequiredLevel SystemRequired

Type Uniqueidentifier

ConfigType
PROPERTY VALUE

Description Enter the App Configuration and Setting property data type.

DisplayName ConfigType

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName configtype

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

DefaultValue
PROPERTY VALUE

Description Enter the default value of the App Configuration and Setting
property.

DisplayName DefaultValue

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultvalue

MaxLength 100

RequiredLevel SystemRequired

Type String

ImportSequenceNumber
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsNavigationSetting
PROPERTY VALUE

Description Enter whether this App Configuration and Setting is


Navigation Setting.

DisplayName Is Nagivation Setting

Format None

IsValidForForm False

IsValidForRead True

LogicalName isnavigationsetting

MaxValue 1

MinValue 0

RequiredLevel None

Type Integer

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Modified On

Format DateAndTime

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String
ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description System-calculated field for Organization identifier.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was migrated. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ParentAppConfigMasterId
PROPERTY VALUE

Description ParentAppConfigMasterId

DisplayName Enter the parent of App Configuration customization property.

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName parentappconfigmasterid

MaxLength 100

RequiredLevel SystemRequired

Type String

Validator
PROPERTY VALUE

Description Validator

DisplayName Enter the validator configuration xml which will validate


against its value when creating AppConfigInstance.

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName validator

MaxLength 4000

RequiredLevel SystemRequired

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807
PROPERTY VALUE

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
appconfigmaster_appconfiginstance
Same as appconfiginstance entity appconfigmaster_appconfiginstance Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appconfiginstance

ReferencingAttribute appconfigmasterid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName appconfigmaster_appconfiginstance

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_appconfigmaster_modifiedby
lk_appconfigmaster_createdonbehalfby
lk_appconfigmaster_createdby
lk_appconfigmaster_modifiedonbehalfby
organization_appconfigmaster
lk_appconfigmaster_modifiedby
See systemuser Entity lk_appconfigmaster_modifiedby One-To-Many relationship.
lk_appconfigmaster_createdonbehalfby
See systemuser Entity lk_appconfigmaster_createdonbehalfby One-To-Many relationship.
lk_appconfigmaster_createdby
See systemuser Entity lk_appconfigmaster_createdby One-To-Many relationship.
lk_appconfigmaster_modifiedonbehalfby
See systemuser Entity lk_appconfigmaster_modifiedonbehalfby One-To-Many relationship.
organization_appconfigmaster
See organization Entity organization_appconfigmaster One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
appconfigmaster EntityType
AppModule Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

A role-based, modular business app that provides task-based functionality for a particular area of work.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

AddAppComponents AddAppComponents Action AddAppComponentsRequest

Create POST [org CreateRequest or


URI]/api/data/v9.0/appmodules Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/appmodules(appmo Delete
duleid)
See Delete

RemoveAppComponents RemoveAppComponents Action RemoveAppComponentsRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/appmodules(appmo Retrieve
duleid)
See Retrieve

RetrieveAppComponents RetrieveAppComponents Function RetrieveAppComponentsRequest

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/appmodules RetrieveMultiple
See Query Data

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/appmodules(appmo Update
duleid)
See Update

ValidateApp ValidateApp Function ValidateAppRequest

Entity Properties
PROPERTY VALUE

CollectionSchemaName AppModules

DisplayCollectionName Model-driven Apps


PROPERTY VALUE

DisplayName Model-driven App

EntitySetName appmodules

IsBPFEntity False

LogicalCollectionName appmodules

LogicalName appmodule

OwnershipType OrganizationOwned

PrimaryIdAttribute appmoduleid

PrimaryNameAttribute name

SchemaName AppModule

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AppModuleId
AppModuleIdUnique
AppModuleVersion
AppModuleXmlManaged
ClientType
ConfigXML
Description
EventHandlers
FormFactor
ImportSequenceNumber
IntroducedVersion
IsDefault
IsFeatured
Name
NavigationType
OverriddenCreatedOn
PublishedOn
PublisherId
UniqueName
URL
WebResourceId
WelcomePageId
AppModuleId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName AppModuleId

IsValidForForm False

IsValidForRead True

LogicalName appmoduleid

RequiredLevel SystemRequired

Type Uniqueidentifier

AppModuleIdUnique
PROPERTY VALUE

Description Unique identifier of the App Module used when synchronizing


customizations for the Microsoft Dynamics 365 client for
Outlook

DisplayName App Module Unique Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName appmoduleidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

AppModuleVersion
PROPERTY VALUE

Description App Module Version

DisplayName App Module Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName appmoduleversion

MaxLength 48

RequiredLevel None

Type String

AppModuleXmlManaged
PROPERTY VALUE

Description App Module Xml Managed

DisplayName

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName appmodulexmlmanaged

MaxLength 1073741823

RequiredLevel None

Type Memo

ClientType
PROPERTY VALUE

Description Client Type such as Web or UCI

DisplayName Client Type

Format None

IsValidForForm False

IsValidForRead True

LogicalName clienttype

MaxValue 31

MinValue 1
PROPERTY VALUE

RequiredLevel ApplicationRequired

Type Integer

ConfigXML
PROPERTY VALUE

Description Contains configuration XML

DisplayName

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName configxml

MaxLength 1073741823

RequiredLevel None

Type Memo

Description
PROPERTY VALUE

Description Description for entity

DisplayName Description

FormatName Text

IsLocalizable True

IsValidForForm False

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type String
EventHandlers
PROPERTY VALUE

Description App Module Event Handlers

DisplayName Event Handlers

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName eventhandlers

MaxLength 1073741823

RequiredLevel None

Type String

FormFactor
PROPERTY VALUE

Description Form Factor

DisplayName Form Factor

Format None

IsValidForForm False

IsValidForRead True

LogicalName formfactor

MaxValue 8

MinValue 1

RequiredLevel ApplicationRequired

Type Integer

ImportSequenceNumber
PROPERTY VALUE
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IntroducedVersion
PROPERTY VALUE

Description Version in which the similarity rule is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 100

RequiredLevel None

Type String

IsDefault
PROPERTY VALUE

Description Is Default

DisplayName Is Default

IsValidForForm False

IsValidForRead True

LogicalName isdefault

RequiredLevel ApplicationRequired

Type Boolean

IsDefault Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsFeatured
PROPERTY VALUE

Description Is Featured

DisplayName IsFeatured

IsValidForForm False

IsValidForRead True

LogicalName isfeatured

RequiredLevel SystemRequired

Type Boolean

IsFeatured Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Name
PROPERTY VALUE

Description Name of App Module

DisplayName Name

FormatName Text

IsLocalizable True

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

NavigationType
PROPERTY VALUE

Description App navigation type

DisplayName Navigation type

IsValidForForm False

IsValidForRead True

LogicalName navigationtype

RequiredLevel SystemRequired

Type Picklist

NavigationType Options

VALUE LABEL

0 Single session

1 Multi session

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

PublishedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was published.

DisplayName Published On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName publishedon

RequiredLevel None

Type DateTime

PublisherId
PROPERTY VALUE

Description Unique identifier of the publisher.

DisplayName Publisher

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName publisherid

RequiredLevel ApplicationRequired

Targets publisher

Type Lookup

UniqueName
PROPERTY VALUE

Description Unique Name of App Module

DisplayName Unique Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName uniquename

MaxLength 100

RequiredLevel SystemRequired

Type String

URL
PROPERTY VALUE

Description Contains URL

DisplayName URL

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName url

MaxLength 200
PROPERTY VALUE

RequiredLevel None

Type String

WebResourceId
PROPERTY VALUE

Description Unique identifier of the Web Resource

DisplayName Web Resource Id

IsValidForForm False

IsValidForRead True

LogicalName webresourceid

RequiredLevel SystemRequired

Type Uniqueidentifier

WelcomePageId
PROPERTY VALUE

Description Unique identifier of the Web Resource as Welcome Page Id

DisplayName Welcome Page Id

IsValidForForm False

IsValidForRead True

LogicalName welcomepageid

RequiredLevel None

Type Uniqueidentifier

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
Descriptor
IsManaged
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
PublisherIdName
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.


PROPERTY VALUE

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String
CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

Descriptor
PROPERTY VALUE

Description App Module Descriptor

DisplayName Descriptor

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName descriptor

MaxLength 1073741823

RequiredLevel None

Type String

IsManaged
PROPERTY VALUE

Description Is Managed
PROPERTY VALUE

DisplayName IsManaged

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel ApplicationRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the app.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Internal use only

DisplayName Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PublisherIdName
PROPERTY VALUE

Description name of the publisher.

DisplayName Publisher

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName publisheridname

MaxLength 100

RequiredLevel None

Type String

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
appmodule_appconfig
appmodule_appmodulecomponent
appmodule_appconfig
Same as appconfig entity appmodule_appconfig Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appconfig

ReferencingAttribute appmoduleid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName appmodule_appconfig

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

appmodule_appmodulecomponent
Same as appmodulecomponent entity appmodule_appmodulecomponent Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appmodulecomponent

ReferencingAttribute appmoduleidunique

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName appmodule_appmodulecomponent

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade
Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
organization_appmodule
lk_appmodule_modifiedby
publisher_appmodule
lk_appmodule_modifiedonbehalfby
lk_appmodule_createdby
lk_appmodule_createdonbehalfby
organization_appmodule
See organization Entity organization_appmodule One-To-Many relationship.
lk_appmodule_modifiedby
See systemuser Entity lk_appmodule_modifiedby One-To-Many relationship.
publisher_appmodule
See publisher Entity publisher_appmodule One-To-Many relationship.
lk_appmodule_modifiedonbehalfby
See systemuser Entity lk_appmodule_modifiedonbehalfby One-To-Many relationship.
lk_appmodule_createdby
See systemuser Entity lk_appmodule_createdby One-To-Many relationship.
lk_appmodule_createdonbehalfby
See systemuser Entity lk_appmodule_createdonbehalfby One-To-Many relationship.

Many-To-Many Relationships
Relationship details provided where the AppModule entity is the first entity in the relationship. Listed by
SchemaName.
appmoduleroles_association
IntersectEntityName: appmoduleroles
Entity 1

PROPERTY VALUE

IntersectAttribute appmoduleid

IsCustomizable False

LogicalName appmodule

NavigationPropertyName appmoduleroles_association

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

Entity 2
PROPERTY VALUE

LogicalName role

IntersectAttribute roleid

NavigationPropertyName appmoduleroles_association

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

See also
About the Entity Reference
Web API Reference
appmodule EntityType
AppModuleComponent Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

A component available in a business app such as entity, dashboard, form, view, chart, and business process.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/appmodulecompone Retrieve
nts(appmodulecomponentid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/appmodulecompone RetrieveMultiple
nts
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName App Module Components

DisplayCollectionName App Module Components

DisplayName App Module Component

EntitySetName appmodulecomponents

IsBPFEntity False

LogicalCollectionName appmodulecomponents

LogicalName appmodulecomponent

OwnershipType None

PrimaryIdAttribute appmodulecomponentid

PrimaryNameAttribute

SchemaName AppModuleComponent

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AppModuleComponentId
AppModuleComponentIdUnique
AppModuleIdUnique
ComponentType
IntroducedVersion
IsDefault
IsMetadata
ObjectId
RootAppModuleComponentId
RootComponentBehavior
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
AppModuleComponentId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName App Module Component

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName appmodulecomponentid

RequiredLevel SystemRequired

Type Uniqueidentifier

AppModuleComponentIdUnique
PROPERTY VALUE

Description Unique identifier of the Application Component used when


synchronizing customizations for the Microsoft Dynamics 365
client for Outlook

DisplayName Application Component Unique Id

IsValidForForm False

IsValidForRead True

LogicalName appmodulecomponentidunique

RequiredLevel SystemRequired

Type Uniqueidentifier
AppModuleIdUnique
PROPERTY VALUE

Description The App Module Id Unique

DisplayName AppModule

IsValidForForm False

IsValidForRead True

LogicalName appmoduleidunique

RequiredLevel ApplicationRequired

Targets appmodule

Type Lookup

ComponentType
PROPERTY VALUE

Description The object type code of the component.

DisplayName Object Type Code

IsValidForForm False

IsValidForRead True

LogicalName componenttype

RequiredLevel ApplicationRequired

Type Picklist

ComponentType Options

VALUE LABEL

1 Entities

26 Views

29 Business Process Flows

48 Command (Ribbon) for Forms, Grids, sub grids

59 Charts

60 Forms
VALUE LABEL

62 Sitemap

IntroducedVersion
PROPERTY VALUE

Description Version in which the application component record is


introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

IsDefault
PROPERTY VALUE

Description Is Default

DisplayName Is Default

IsValidForForm False

IsValidForRead True

LogicalName isdefault

RequiredLevel ApplicationRequired

Type Boolean

IsDefault Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMetadata
PROPERTY VALUE

Description Is Metadata

DisplayName Is Metadata

IsValidForForm False

IsValidForRead True

LogicalName ismetadata

RequiredLevel None

Type Boolean

IsMetadata Options

VALUE LABEL

1 Metadata

0 Data

DefaultValue: False
ObjectId
PROPERTY VALUE

Description Object Id

DisplayName Object

IsValidForForm False

IsValidForRead True

LogicalName objectid

RequiredLevel None

Type Uniqueidentifier

RootAppModuleComponentId
PROPERTY VALUE

Description The parent ID of the subcomponent, which will be a root

DisplayName Root App Module Component

IsValidForForm False

IsValidForRead True

LogicalName rootappmodulecomponentid

RequiredLevel None

Type Uniqueidentifier

RootComponentBehavior
PROPERTY VALUE

Description Indicates the include behavior of the root component.

DisplayName Root Component Behavior

IsValidForForm False

IsValidForRead True

LogicalName rootcomponentbehavior

RequiredLevel None

Type Picklist

RootComponentBehavior Options

VALUE LABEL

0 Include Subcomponents

1 Do not include subcomponents

2 Include As Shell Only

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AppModuleIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
VersionNumber
AppModuleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName appmoduleidname

MaxLength 256

RequiredLevel None

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel ApplicationRequired

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the Application
Component with respect to the base currency.

DisplayName ExchangeRate

IsValidForForm False

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000
PROPERTY VALUE

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String
ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.
PROPERTY VALUE

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None
PROPERTY VALUE

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
appmodule_appmodulecomponent
lk_appmodulecomponent_createdonbehalfby
lk_appmodulecomponent_modifiedonbehalfby
lk_appmodulecomponent_createdby
lk_appmodulecomponent_modifiedby
appmodule_appmodulecomponent
See appmodule Entity appmodule_appmodulecomponent One-To-Many relationship.
lk_appmodulecomponent_createdonbehalfby
See systemuser Entity lk_appmodulecomponent_createdonbehalfby One-To-Many relationship.
lk_appmodulecomponent_modifiedonbehalfby
See systemuser Entity lk_appmodulecomponent_modifiedonbehalfby One-To-Many relationship.
lk_appmodulecomponent_createdby
See systemuser Entity lk_appmodulecomponent_createdby One-To-Many relationship.
lk_appmodulecomponent_modifiedby
See systemuser Entity lk_appmodulecomponent_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
appmodulecomponent EntityType
Appointment Entity Reference
4/3/2019 • 17 minutes to read • Edit Online

Commitment representing a time interval with start/end times and duration.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/appointments(activit
yid)
Update ownerid property.

Book Book Action BookRequest

Create POST [org CreateRequest or


URI]/api/data/v9.0/appointments Create
See Create

CreateException CreateException Action CreateExceptionRequest

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/appointments(activit Delete
yid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Reschedule Reschedule Action RescheduleRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/appointments(activit Retrieve
yid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/appointments RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest


MESSAGE WEB API OPERATION SDK ASSEMBLY

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/appointments(activit
yid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/appointments(activit Update
yid)
See Update

Validate Validate Action ValidateRequest

ValidateSavedQuery ValidateSavedQuery Action ValidateSavedQueryRequest

Entity Properties
PROPERTY VALUE

CollectionSchemaName Appointments

DisplayCollectionName Appointments

DisplayName Appointment

EntitySetName appointments

IsBPFEntity False

LogicalCollectionName appointments

LogicalName appointment

OwnershipType UserOwned

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

SchemaName Appointment

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityAdditionalParams
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
AttachmentErrors
Category
Description
GlobalObjectId
ImportSequenceNumber
IsAllDayEvent
IsBilled
IsDraft
IsMapiPrivate
IsWorkflowCreated
LastOnHoldTime
Location
OptionalAttendees
Organizer
OutlookOwnerApptId
OverriddenCreatedOn
OwnerId
OwnerIdType
PriorityCode
ProcessId
RegardingObjectId
RegardingObjectTypeCode
requiredattendees
ScheduledDurationMinutes
ScheduledEnd
ScheduledStart
SLAId
SortDate
StageId
StateCode
StatusCode
Subcategory
Subject
SubscriptionId
TimeZoneRuleVersionNumber
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
ActivityAdditionalParams
PROPERTY VALUE

Description For internal use only.

DisplayName Additional Parameters

Format TextArea
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName activityadditionalparams

MaxLength 8192

RequiredLevel None

Type Memo

ActivityId
PROPERTY VALUE

Description Unique identifier of the appointment.

DisplayName Appointment

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
PROPERTY VALUE

Description Shows the value selected in the Duration field on the


appointment at the time that the appointment is closed as
completed. The duration is used to report the time spent on
the activity.

DisplayName Actual Duration

Format Duration

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName actualdurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ActualEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual end date and time of the appointment. By
default, it displays the date and time when the activity was
completed or canceled, but can be edited to capture the
actual duration of the appointment.

DisplayName Actual End

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

ActualStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual start date and time for the appointment. By
default, it displays the date and time when the activity was
created, but can be edited to capture the actual duration of
the appointment.

DisplayName Actual Start

Format DateAndTime

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime

AttachmentErrors
PROPERTY VALUE

Description Select the error code to identify issues with the outlook item
recipients or attachments, such as blocked attachments.

DisplayName AttachmentErrors

IsValidForForm True

IsValidForRead True

LogicalName attachmenterrors

RequiredLevel None

Type Picklist

AttachmentErrors Options

VALUE LABEL

0 None

1 The appointment was saved as a Microsoft Dynamics 365


appointment record, but not all the attachments could be
saved with it. An attachment cannot be saved if it is blocked
or if its file type is invalid.

Category
PROPERTY VALUE

Description Type a category to identify the appointment type, such as


sales demo, prospect call, or service call, to tie the
appointment to a business group or function.

DisplayName Category

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName category

MaxLength 250

RequiredLevel None

Type String

Description
PROPERTY VALUE

Description Type additional information to describe the purpose of the


appointment.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 1048576

RequiredLevel None

Type Memo

GlobalObjectId
PROPERTY VALUE

Description Shows the ID of the appointment in Microsoft Office Outlook.


The ID is used to synchronize the appointment between
Microsoft Dynamics 365 and the correct Exchange account.

DisplayName Outlook Appointment

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName globalobjectid

MaxLength 300

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsAllDayEvent
PROPERTY VALUE

Description Select whether the appointment is an all-day event to make


sure that the required resources are scheduled for the full day.

DisplayName All Day Event

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName isalldayevent

RequiredLevel None

Type Boolean

IsAllDayEvent Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsBilled
PROPERTY VALUE

Description Information regarding whether the appointment was billed as


part of resolving a case.

DisplayName Is Billed

IsValidForForm False

IsValidForRead True

LogicalName isbilled

RequiredLevel None

Type Boolean

IsBilled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsDraft
PROPERTY VALUE

Description Information regarding whether the appointment is a draft.

DisplayName IsDraft
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName isdraft

RequiredLevel SystemRequired

Type Boolean

IsDraft Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMapiPrivate
PROPERTY VALUE

Description For internal use only.

DisplayName Is Private

IsValidForForm False

IsValidForRead True

LogicalName ismapiprivate

RequiredLevel None

Type Boolean

IsMapiPrivate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsWorkflowCreated
PROPERTY VALUE
PROPERTY VALUE

Description Information regarding whether the appointment was created


from a workflow rule.

DisplayName Is Workflow Created

IsValidForForm False

IsValidForRead True

LogicalName isworkflowcreated

RequiredLevel None

Type Boolean

IsWorkflowCreated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

Location
PROPERTY VALUE
PROPERTY VALUE

Description Type the location where the appointment will take place, such
as a conference room or customer office.

DisplayName Location

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName location

MaxLength 200

RequiredLevel None

Type String

OptionalAttendees
PROPERTY VALUE

Description Enter the account, contact, lead, user, or other equipment


resources that are not needed at the appointment, but can
optionally attend.

DisplayName Optional Attendees

IsValidForForm True

IsValidForRead True

LogicalName optionalattendees

RequiredLevel None

Targets account,contact,knowledgearticle,queue,systemuser,unresolve
daddress

Type PartyList

Organizer
PROPERTY VALUE

Description Enter the user who is in charge of coordinating or leading the


appointment to make sure the appointment is displayed in
the user's My Activities view.
PROPERTY VALUE

DisplayName Organizer

IsValidForForm True

IsValidForRead True

LogicalName organizer

RequiredLevel None

Targets systemuser

Type PartyList

OutlookOwnerApptId
PROPERTY VALUE

Description Unique identifier of the Microsoft Office Outlook appointment


owner that correlates to the PR_OWNER_APPT_ID MAPI
property.

DisplayName Outlook Appointment Owner

Format None

IsValidForForm False

IsValidForRead True

LogicalName outlookownerapptid

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName
PriorityCode
PROPERTY VALUE

Description Select the priority so that preferred customers or critical issues


are handled quickly.

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode

RequiredLevel None

Type Picklist

PriorityCode Options

VALUE LABEL

0 Low

1 Normal

2 High

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Choose the record that the appointment relates to.

DisplayName Regarding
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,contact,knowledgearticle,knowledgebaserecord

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

requiredattendees
PROPERTY VALUE

Description Enter the account, contact, lead, user, or other equipment


resources that are required to attend the appointment.

DisplayName Required Attendees

IsValidForForm True

IsValidForRead True

LogicalName requiredattendees

RequiredLevel None

Targets account,contact,knowledgearticle,queue,systemuser,unresolve
daddress

Type PartyList
ScheduledDurationMinutes
PROPERTY VALUE

Description Shows the expected duration of the appointment, in minutes.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName scheduleddurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time for the activity to be
completed to provide details about the timing of the
appointment.

DisplayName End Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel ApplicationRequired

Type DateTime

ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Enter the expected start date and time for the activity to
provide details about the timing of the appointment.

DisplayName Start Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledstart

RequiredLevel ApplicationRequired

Type DateTime

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the appointment record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SortDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time by which the activities are sorted.

DisplayName Sort Date

Format DateAndTime

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the appointment is open, completed, or


canceled. Completed and canceled appointments are read-
only and can't be edited.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options
VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 1 Open

1 Completed 3 Completed

2 Canceled 4 Canceled

3 Scheduled 5 Scheduled

StatusCode
PROPERTY VALUE

Description Select the appointment's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Free 0

2 Tentative 0

3 Completed 1

4 Canceled 2

5 Busy 3

6 Out of Office 3

Subcategory
PROPERTY VALUE

Description Type a subcategory to identify the appointment type and


relate the activity to a specific product, sales region, business
group, or other function.

DisplayName Sub-Category
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subcategory

MaxLength 250

RequiredLevel None

Type String

Subject
PROPERTY VALUE

Description Type a short description about the objective or primary topic


of the appointment.

DisplayName Subject

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subject

MaxLength 200

RequiredLevel ApplicationRequired

Type String

SubscriptionId
PROPERTY VALUE

Description For internal use only.

DisplayName Subscription

IsValidForForm False
PROPERTY VALUE

IsValidForRead False

IsValidForUpdate False

LogicalName subscriptionid

RequiredLevel None

Type Uniqueidentifier

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None
PROPERTY VALUE

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivityTypeCode
AttachmentCount
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
InstanceTypeCode
IsRegularActivity
IsUnsafe
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedFieldsMask
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OriginalStartDate
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RegardingObjectIdName
RegardingObjectIdYomiName
SafeDescription
SeriesId
SLAInvokedId
SLAInvokedIdName
SLAName
TransactionCurrencyIdName
VersionNumber
ActivityTypeCode
PROPERTY VALUE

Description Type of activity.

DisplayName Activity Type


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode

RequiredLevel SystemRequired

Type EntityName

AttachmentCount
PROPERTY VALUE

Description Shows the number of attachments on the appointment.

DisplayName Attachment Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName attachmentcount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String
CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

InstanceTypeCode
PROPERTY VALUE

Description Type of instance of a recurring series.

DisplayName Appointment Type

IsValidForForm False

IsValidForRead True

LogicalName instancetypecode

RequiredLevel SystemRequired

Type Picklist

InstanceTypeCode Options

VALUE LABEL

0 Not Recurring

1 Recurring Master

2 Recurring Instance

3 Recurring Exception

4 Recurring Future Exception

IsRegularActivity
PROPERTY VALUE

Description Information regarding whether the activity is a regular activity


type or event type.
PROPERTY VALUE

DisplayName Is Regular Activity

IsValidForForm False

IsValidForRead True

LogicalName isregularactivity

RequiredLevel SystemRequired

Type Boolean

IsRegularActivity Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsUnsafe
PROPERTY VALUE

Description For internal use only.

DisplayName IsUnsafe

Format None

IsValidForForm False

IsValidForRead True

LogicalName isunsafe

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.


PROPERTY VALUE

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedFieldsMask
PROPERTY VALUE

Description For internal use only.

DisplayName Modified Fields Mask

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedfieldsmask

MaxLength 1073741823

RequiredLevel None

Type Memo

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OriginalStartDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description The original start date of the appointment.


PROPERTY VALUE

DisplayName Original Start Date

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName originalstartdate

RequiredLevel None

Type DateTime

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Shows the business unit that the record owner belongs to.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team that owns the appointment.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user that owns the appointment.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

SafeDescription
PROPERTY VALUE

Description Safe body text of the appointment.

DisplayName Safe Description

Format Email

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName safedescription

MaxLength 1073741823

RequiredLevel None

Type Memo

SeriesId
PROPERTY VALUE

Description Shows the ID of the recurring series of an instance.

DisplayName Series Id

IsValidForForm False

IsValidForRead True

LogicalName seriesid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this appointment. This field is for
internal use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the appointment.

DisplayName Version Number


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
appointment_PostFollows
Appointment_DuplicateMatchingRecord
Appointment_ProcessSessions
appointment_connections1
appointment_activity_parties
Appointment_Annotation
appointment_connections2
Appointment_DuplicateBaseRecord
slakpiinstance_appointment
Appointment_SyncErrors
Appointment_AsyncOperations
appointment_actioncard
appointment_principalobjectattributeaccess
appointment_activity_mime_attachment
Appointment_QueueItem
Appointment_BulkDeleteFailures
appointment_PostFollows
Same as postfollow entity appointment_PostFollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName appointment_PostFollows

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_DuplicateMatchingRecord
Same as duplicaterecord entity Appointment_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Appointment_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_ProcessSessions
Same as processsession entity Appointment_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName Appointment_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

appointment_connections1
Same as connection entity appointment_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName appointment_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

appointment_activity_parties
Same as activityparty entity appointment_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName appointment_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_Annotation
Same as annotation entity Appointment_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Appointment_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

appointment_connections2
Same as connection entity appointment_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName appointment_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_DuplicateBaseRecord
Same as duplicaterecord entity Appointment_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Appointment_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_appointment
Same as slakpiinstance entity slakpiinstance_appointment Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName slakpiinstance_appointment

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_SyncErrors
Same as syncerror entity Appointment_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Appointment_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Appointment_AsyncOperations
Same as asyncoperation entity Appointment_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName Appointment_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

appointment_actioncard
Same as actioncard entity appointment_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName appointment_actioncard

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

appointment_principalobjectattributeaccess
Same as principalobjectattributeaccess entity appointment_principalobjectattributeaccess Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName appointment_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

appointment_activity_mime_attachment
Same as activitymimeattachment entity appointment_activity_mime_attachment Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitymimeattachment

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName appointment_activity_mime_attachment

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_QueueItem
Same as queueitem entity Appointment_QueueItem Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute objectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName Appointment_QueueItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Appointment_BulkDeleteFailures
Same as bulkdeletefailure entity Appointment_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Appointment_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
KnowledgeBaseRecord_Appointments
business_unit_appointment_activities
lk_appointment_modifiedby
TransactionCurrency_Appointment
lk_appointment_modifiedonbehalfby
lk_appointment_createdby
sla_appointment
Contact_Appointments
lk_appointment_createdonbehalfby
KnowledgeArticle_Appointments
Account_Appointments
manualsla_appointment
team_appointment
user_appointment
recurringappointmentmaster_appointment
processstage_appointments
activity_pointer_appointment
KnowledgeBaseRecord_Appointments
See knowledgebaserecord Entity KnowledgeBaseRecord_Appointments One-To-Many relationship.
business_unit_appointment_activities
See businessunit Entity business_unit_appointment_activities One-To-Many relationship.
lk_appointment_modifiedby
See systemuser Entity lk_appointment_modifiedby One-To-Many relationship.
TransactionCurrency_Appointment
See transactioncurrency Entity TransactionCurrency_Appointment One-To-Many relationship.
lk_appointment_modifiedonbehalfby
See systemuser Entity lk_appointment_modifiedonbehalfby One-To-Many relationship.
lk_appointment_createdby
See systemuser Entity lk_appointment_createdby One-To-Many relationship.
sla_appointment
See sla Entity sla_appointment One-To-Many relationship.
Contact_Appointments
See contact Entity Contact_Appointments One-To-Many relationship.
lk_appointment_createdonbehalfby
See systemuser Entity lk_appointment_createdonbehalfby One-To-Many relationship.
KnowledgeArticle_Appointments
See knowledgearticle Entity KnowledgeArticle_Appointments One-To-Many relationship.
Account_Appointments
See account Entity Account_Appointments One-To-Many relationship.
manualsla_appointment
See sla Entity manualsla_appointment One-To-Many relationship.
team_appointment
See team Entity team_appointment One-To-Many relationship.
user_appointment
See systemuser Entity user_appointment One-To-Many relationship.
recurringappointmentmaster_appointment
See recurringappointmentmaster Entity recurringappointmentmaster_appointment One-To-Many relationship.
processstage_appointments
See processstage Entity processstage_appointments One-To-Many relationship.
activity_pointer_appointment
See activitypointer Entity activity_pointer_appointment One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
appointment EntityType
AsyncOperation Entity Reference
4/3/2019 • 15 minutes to read • Edit Online

Process whose execution can proceed independently or in the background.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/asyncoperations Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/asyncoperations(asy Delete
ncoperationid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/asyncoperations(asy Retrieve
ncoperationid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/asyncoperations RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/asyncoperations(asy Update
ncoperationid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName AsyncOperations

DisplayCollectionName System Jobs

DisplayName System Job

EntitySetName asyncoperations

IsBPFEntity False

LogicalCollectionName asyncoperations
PROPERTY VALUE

LogicalName asyncoperation

OwnershipType UserOwned

PrimaryIdAttribute asyncoperationid

PrimaryNameAttribute name

SchemaName AsyncOperation

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AsyncOperationId
CorrelationId
CorrelationUpdatedTime
Data
DependencyToken
Depth
FriendlyMessage
HostId
MessageName
Name
OperationType
OwnerId
OwnerIdType
OwningExtensionId
OwningExtensionIdName
OwningExtensionTypeCode
ParentPluginExecutionId
PostponeUntil
PrimaryEntityType
RecurrencePattern
RecurrenceStartTime
RegardingObjectId
RegardingObjectIdName
RegardingObjectIdYomiName
RegardingObjectTypeCode
RequestId
RootExecutionContext
StateCode
StatusCode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
WorkflowActivationId
AsyncOperationId
PROPERTY VALUE

Description Unique identifier of the system job.

DisplayName System Job

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName asyncoperationid

RequiredLevel SystemRequired

Type Uniqueidentifier

CorrelationId
PROPERTY VALUE

Description Unique identifier used to correlate between multiple SDK


requests and system jobs.

DisplayName Correlation Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName correlationid

RequiredLevel SystemRequired

Type Uniqueidentifier

CorrelationUpdatedTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Last time the correlation depth was updated.

DisplayName Correlation Updated Time

Format DateAndTime
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName correlationupdatedtime

RequiredLevel SystemRequired

Type DateTime

Data
PROPERTY VALUE

Description Unstructured data associated with the system job.

DisplayName Data

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName data

MaxLength 1073741823

RequiredLevel None

Type Memo

DependencyToken
PROPERTY VALUE

Description Execution of all operations with the same dependency token


is serialized.

DisplayName Dependency Token

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName dependencytoken

MaxLength 256

RequiredLevel None

Type String

Depth
PROPERTY VALUE

Description Number of SDK calls made since the first call.

DisplayName Depth

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName depth

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

FriendlyMessage
PROPERTY VALUE

Description Message provided by the system job.

DisplayName Friendly message

Format Text

IsLocalizable False

IsValidForCreate False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName friendlymessage

MaxLength 100000

RequiredLevel None

Type Memo

HostId
PROPERTY VALUE

Description Unique identifier of the host that owns this system job.

DisplayName Host

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName hostid

MaxLength 256

RequiredLevel None

Type String

MessageName
PROPERTY VALUE

Description Name of the message that started this system job.

DisplayName Message Name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName messagename

MaxLength 160

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the system job.

DisplayName System Job Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName name

MaxLength 256

RequiredLevel None

Type String

OperationType
PROPERTY VALUE

Description Type of the system job.

DisplayName System Job Type

IsValidForForm True

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName operationtype

RequiredLevel None

Type Picklist

OperationType Options

VALUE LABEL

1 System Event

2 Bulk Email

3 Import File Parse

4 Transform Parse Data

5 Import

6 Activity Propagation

7 Duplicate Detection Rule Publish

8 Bulk Duplicate Detection

9 SQM Data Collection

10 Workflow

11 Quick Campaign

12 Matchcode Update

13 Bulk Delete

14 Deletion Service

15 Index Management

16 Collect Organization Statistics

17 Import Subprocess

18 Calculate Organization Storage Size

19 Collect Organization Database Statistics

20 Collection Organization Size Statistics

21 Database Tuning
VALUE LABEL

22 Calculate Organization Maximum Storage Size

23 Bulk Delete Subprocess

24 Update Statistic Intervals

25 Organization Full Text Catalog Index

26 Database log backup

27 Update Contract States

28 DBCC SHRINKDATABASE maintenance job

29 DBCC SHRINKFILE maintenance job

30 Reindex all indices maintenance job

31 Storage Limit Notification

32 Cleanup inactive workflow assemblies

35 Recurring Series Expansion

38 Import Sample Data

40 Goal Roll Up

41 Audit Partition Creation

42 Check For Language Pack Updates

43 Provision Language Pack

44 Update Organization Database

45 Update Solution

46 Regenerate Entity Row Count Snapshot Data

47 Regenerate Read Share Snapshot Data

49 Post to Yammer

50 Outgoing Activity

51 Incoming Email Processing

52 Mailbox Test Access


VALUE LABEL

53 Encryption Health Check

54 Execute Async Request

56 Update Entitlement States

57 Calculate Rollup Field

58 Mass Calculate Rollup Field

59 Import Translation

62 Convert Date And Time Behavior

63 EntityKey Index Creation

65 Update Knowledge Article States

68 Resource Booking Sync

69 Relationship Assistant Cards

71 Cleanup Solution Components

72 App Module Metadata Operation

73 ALM Anomaly Detection Operation

75 Flow Notification

76 Ribbon Client Metadata Operation

79 CallbackRegistration Expander Operation

90 CascadeAssign

91 CascadeDelete

92 Event Expander Operation

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the system
job.

DisplayName Owner

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningExtensionId
PROPERTY VALUE

Description Unique identifier of the owning extension with which the


system job is associated.

DisplayName Owning Extension

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName owningextensionid

RequiredLevel None

Targets sdkmessageprocessingstep
PROPERTY VALUE

Type Lookup

OwningExtensionIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName owningextensionidname

MaxLength 256

RequiredLevel None

Type String

OwningExtensionTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName owningextensiontypecode

RequiredLevel None

Type EntityName

ParentPluginExecutionId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName parentpluginexecutionid

RequiredLevel None

Type Uniqueidentifier

PostponeUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Indicates whether the system job should run only after the
specified date and time.

DisplayName Postpone Until

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName postponeuntil

RequiredLevel None

Type DateTime

PrimaryEntityType
PROPERTY VALUE

Description Type of entity with which the system job is primarily


associated.

DisplayName Primary Entity Type

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName primaryentitytype

RequiredLevel None

Type EntityName

RecurrencePattern
PROPERTY VALUE

Description Pattern of the system job's recurrence.

DisplayName Recurrence Pattern

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName recurrencepattern

MaxLength 256

RequiredLevel None

Type String

RecurrenceStartTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Starting time in UTC for the recurrence pattern.

DisplayName Recurrence Start

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName recurrencestarttime

RequiredLevel None
PROPERTY VALUE

Type DateTime

RegardingObjectId
PROPERTY VALUE

Description Unique identifier of the object with which the system job is
associated.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectid

RequiredLevel None

Targets account,activitymimeattachment,activitypointer,annotation,an
nualfiscalcalendar,appointment,attributemap,businessunit,busi
nessunitnewsarticle,calendar,channelaccessprofile,channelacce
ssprofilerule,connection,connectionrole,contact,convertrule,cu
stomeraddress,customerrelationship,displaystring,email,emails
erverprofile,entitymap,externalparty,externalpartyitem,fax,fixed
monthlyfiscalcalendar,goal,goalrollupquery,holidaywrapper,im
port,importdata,importfile,importlog,importmap,interactionfor
email,isvconfig,kbarticle,kbarticlecomment,kbarticletemplate,k
nowledgearticle,knowledgebaserecord,letter,mailbox,mailmerg
etemplate,metric,monthlyfiscalcalendar,msdyn_connector,orga
nization,phonecall,position,post,postfollow,privilege,quarterlyfi
scalcalendar,queue,queueitem,recurringappointmentmaster,rel
ationshiprole,relationshiprolemap,report,role,rollupfield,routin
grule,routingruleitem,savedquery,semiannualfiscalcalendar,sha
repointdocumentlocation,sharepointsite,similarityrule,sla,social
activity,socialprofile,subject,systemform,systemuser,task,team,
template,territory,theme,transactioncurrency,userform,userma
pping,userquery

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidname

MaxLength 256

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidyominame

MaxLength 160

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

RequestId
PROPERTY VALUE

Description Unique identifier of the request that generated the system


job.

DisplayName Request

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName requestid

RequiredLevel None

Type Uniqueidentifier

RootExecutionContext
PROPERTY VALUE

Description Root execution context of the job that trigerred async job.

DisplayName RootExecutionContext

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rootexecutioncontext

MaxLength 1073741823

RequiredLevel None
PROPERTY VALUE

Type Memo

StateCode
PROPERTY VALUE

Description Status of the system job.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Ready 0 Ready

1 Suspended 10 Suspended

2 Locked 20 Locked

3 Completed 30 Completed

StatusCode
PROPERTY VALUE

Description Reason for the status of the system job.

DisplayName Status Reason

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None
PROPERTY VALUE

Type Status

StatusCode Options

VALUE LABEL STATE

0 Waiting For Resources 0

10 Waiting 1

20 In Progress 2

21 Pausing 2

22 Canceling 2

30 Succeeded 3

31 Failed 3

32 Canceled 3

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

WorkflowActivationId
PROPERTY VALUE

Description Unique identifier of the workflow activation related to the


system job.

DisplayName Workflow Activation Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName workflowactivationid

RequiredLevel None

Targets workflow

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CompletedOn
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ErrorCode
ExecutionTimeSpan
IsWaitingForEvent
Message
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RetryCount
Sequence
StartedOn
Subtype
WorkflowActivationIdName
WorkflowIsBlocked
WorkflowStageName
WorkflowState
CompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the system job was completed.

DisplayName Completed On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName completedon
PROPERTY VALUE

RequiredLevel None

Type DateTime

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the system job.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel SystemRequired

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 160

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 160

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the system job was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


asyncoperation.

DisplayName Created By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ErrorCode
PROPERTY VALUE

Description Error code returned from a canceled system job.

DisplayName Error Code

Format None

IsValidForForm True

IsValidForRead True

LogicalName errorcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ExecutionTimeSpan
PROPERTY VALUE

Description Time that the system job has taken to execute.

DisplayName ExecutionTimeSpan

IsValidForForm False

IsValidForRead True

LogicalName executiontimespan

MaxValue 1000000000

MinValue 0

Precision 2
PROPERTY VALUE

RequiredLevel SystemRequired

Type Double

IsWaitingForEvent
PROPERTY VALUE

Description Indicates that the system job is waiting for an event.

DisplayName Waiting for Event

IsValidForForm False

IsValidForRead True

LogicalName iswaitingforevent

RequiredLevel None

Type Boolean

IsWaitingForEvent Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Message
PROPERTY VALUE

Description Message related to the system job.

DisplayName Message

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName message

MaxLength 100000
PROPERTY VALUE

RequiredLevel None

Type Memo

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the system
job.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel SystemRequired

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description Name of the user who last modified the record.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 160

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description YomiName of the user who last modified the record.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 160

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the system job was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
asyncoperation.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 160

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 160
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the system
job.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel SystemRequired

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the record.


PROPERTY VALUE

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

RetryCount
PROPERTY VALUE

Description Number of times to retry the system job.

DisplayName Retry Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName retrycount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

Sequence
PROPERTY VALUE

Description Order in which operations were submitted.

DisplayName Sequence

IsValidForForm False

IsValidForRead True

LogicalName sequence
PROPERTY VALUE

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel SystemRequired

Type BigInt

StartedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the system job was started.

DisplayName Started On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName startedon

RequiredLevel None

Type DateTime

Subtype
PROPERTY VALUE

Description The Subtype of the Async Job

DisplayName Subtype

Format None

IsValidForForm False

IsValidForRead True

LogicalName subtype

MaxValue 255

MinValue 0

RequiredLevel None
PROPERTY VALUE

Type Integer

WorkflowActivationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName workflowactivationidname

MaxLength 160

RequiredLevel None

Type String

WorkflowIsBlocked
PROPERTY VALUE

Description Indicates whether the workflow instance was blocked when it


was persisted.

DisplayName Workflow Is Blocked

IsValidForForm False

IsValidForRead False

LogicalName workflowisblocked

RequiredLevel None

Type Boolean

WorkflowIsBlocked Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
WorkflowStageName
PROPERTY VALUE

Description Name of a workflow stage.

DisplayName Workflow Stage

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName workflowstagename

MaxLength 256

RequiredLevel None

Type String

WorkflowState
PROPERTY VALUE

Description State of the workflow job.

DisplayName Workflow State

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName workflowstate

MaxLength 1073741823

RequiredLevel None

Type String
One-To-Many Relationships
Listed by SchemaName.
AsyncOperation_MailboxTrackingFolder
AsyncOperation_BulkDeleteOperation
lk_workflowlog_asyncoperation_childworkflow
AsyncOperation_Emails
AsyncOperation_DuplicateBaseRecord
lk_workflowlog_asyncoperations
AsyncOperation_SocialActivities
AsyncOperation_MailboxTrackingFolder
Same as mailboxtrackingfolder entity AsyncOperation_MailboxTrackingFolder Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName AsyncOperation_MailboxTrackingFolder

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

AsyncOperation_BulkDeleteOperation
Same as bulkdeleteoperation entity AsyncOperation_BulkDeleteOperation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeleteoperation

ReferencingAttribute asyncoperationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName AsyncOperation_BulkDeleteOperation
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_workflowlog_asyncoperation_childworkflow
Same as workflowlog entity lk_workflowlog_asyncoperation_childworkflow Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog

ReferencingAttribute childworkflowinstanceid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_workflowlog_asyncoperation_childworkflow

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

AsyncOperation_Emails
Same as email entity AsyncOperation_Emails Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName AsyncOperation_Emails
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

AsyncOperation_DuplicateBaseRecord
Same as duplicaterecord entity AsyncOperation_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute asyncoperationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName AsyncOperation_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_workflowlog_asyncoperations
Same as workflowlog entity lk_workflowlog_asyncoperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog

ReferencingAttribute asyncoperationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_workflowlog_asyncoperations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

AsyncOperation_SocialActivities
Same as socialactivity entity AsyncOperation_SocialActivities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName AsyncOperation_SocialActivities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
Territory_AsyncOperations
msdyn_connector_AsyncOperations
theme_AsyncOperations
usermapping_AsyncOperations
interactionforemail_AsyncOperations
knowledgearticle_AsyncOperations
post_AsyncOperations
position_AsyncOperations
KnowledgeBaseRecord_AsyncOperations
lk_asyncoperation_createdby
MonthlyFiscalCalendar_AsyncOperations
lk_asyncoperation_workflowactivationid
Report_AsyncOperations
SocialActivity_AsyncOperations
Connection_Role_AsyncOperations
Team_AsyncOperations
AnnualFiscalCalendar_AsyncOperations
SharePointDocumentLocation_AsyncOperations
PhoneCall_AsyncOperations
mailbox_asyncoperations
PostFollow_AsyncOperations
Appointment_AsyncOperations
slabase_AsyncOperations
SavedQuery_AsyncOperations
DisplayString_AsyncOperations
KbArticleComment_AsyncOperations
ActivityPointer_AsyncOperations
Subject_AsyncOperations
goalrollupquery_AsyncOperations
Role_AsyncOperations
SystemForm_AsyncOperations
Annotation_AsyncOperations
Privilege_AsyncOperations
ActivityMimeAttachment_AsyncOperations
Goal_AsyncOperations
Fax_AsyncOperations
QuarterlyFiscalCalendar_AsyncOperations
SharePointSite_AsyncOperations
UserQuery_AsyncOperations
ImportMap_AsyncOperations
BusinessUnit_AsyncOperations
Queue_AsyncOperations
QueueItem_AsyncOperations
team_asyncoperation
lk_asyncoperation_modifiedby
UserForm_AsyncOperations
TransactionCurrency_AsyncOperations
rollupfield_AsyncOperations
Letter_AsyncOperations
KbArticle_AsyncOperations
RecurringAppointmentMaster_AsyncOperations
Task_AsyncOperations
BusinessUnitNewsArticle_AsyncOperations
Connection_AsyncOperations
SystemUser_AsyncOperations
KbArticleTemplate_AsyncOperations
SdkMessageProcessingStep_AsyncOperations
Template_AsyncOperations
CustomerAddress_AsyncOperations
Contact_AsyncOperations
emailserverprofile_asyncoperations
lk_asyncoperation_createdonbehalfby
Import_AsyncOperations
system_user_asyncoperation
business_unit_asyncoperation
ImportLog_AsyncOperations
metric_AsyncOperations
SocialProfile_AsyncOperations
lk_asyncoperation_modifiedonbehalfby
Account_AsyncOperations
Email_AsyncOperations
FixedMonthlyFiscalCalendar_AsyncOperations
SemiAnnualFiscalCalendar_AsyncOperations
MailMergeTemplate_AsyncOperations
Organization_AsyncOperations
Calendar_AsyncOperations
ImportFile_AsyncOperations
Territory_AsyncOperations
Added by: Application Common Solution
See territory Entity Territory_AsyncOperations One-To-Many relationship.
msdyn_connector_AsyncOperations
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_AsyncOperations One-To-Many relationship.
theme_AsyncOperations
See theme Entity theme_AsyncOperations One-To-Many relationship.
usermapping_AsyncOperations
See usermapping Entity usermapping_AsyncOperations One-To-Many relationship.
interactionforemail_AsyncOperations
See interactionforemail Entity interactionforemail_AsyncOperations One-To-Many relationship.
knowledgearticle_AsyncOperations
See knowledgearticle Entity knowledgearticle_AsyncOperations One-To-Many relationship.
post_AsyncOperations
See post Entity post_AsyncOperations One-To-Many relationship.
position_AsyncOperations
See position Entity position_AsyncOperations One-To-Many relationship.
KnowledgeBaseRecord_AsyncOperations
See knowledgebaserecord Entity KnowledgeBaseRecord_AsyncOperations One-To-Many relationship.
lk_asyncoperation_createdby
See systemuser Entity lk_asyncoperation_createdby One-To-Many relationship.
MonthlyFiscalCalendar_AsyncOperations
See monthlyfiscalcalendar Entity MonthlyFiscalCalendar_AsyncOperations One-To-Many relationship.
lk_asyncoperation_workflowactivationid
See workflow Entity lk_asyncoperation_workflowactivationid One-To-Many relationship.
Report_AsyncOperations
See report Entity Report_AsyncOperations One-To-Many relationship.
SocialActivity_AsyncOperations
See socialactivity Entity SocialActivity_AsyncOperations One-To-Many relationship.
Connection_Role_AsyncOperations
See connectionrole Entity Connection_Role_AsyncOperations One-To-Many relationship.
Team_AsyncOperations
See team Entity Team_AsyncOperations One-To-Many relationship.
AnnualFiscalCalendar_AsyncOperations
See annualfiscalcalendar Entity AnnualFiscalCalendar_AsyncOperations One-To-Many relationship.
SharePointDocumentLocation_AsyncOperations
See sharepointdocumentlocation Entity SharePointDocumentLocation_AsyncOperations One-To-Many
relationship.
PhoneCall_AsyncOperations
See phonecall Entity PhoneCall_AsyncOperations One-To-Many relationship.
mailbox_asyncoperations
See mailbox Entity mailbox_asyncoperations One-To-Many relationship.
PostFollow_AsyncOperations
See postfollow Entity PostFollow_AsyncOperations One-To-Many relationship.
Appointment_AsyncOperations
See appointment Entity Appointment_AsyncOperations One-To-Many relationship.
slabase_AsyncOperations
See sla Entity slabase_AsyncOperations One-To-Many relationship.
SavedQuery_AsyncOperations
See savedquery Entity SavedQuery_AsyncOperations One-To-Many relationship.
DisplayString_AsyncOperations
See displaystring Entity DisplayString_AsyncOperations One-To-Many relationship.
KbArticleComment_AsyncOperations
See kbarticlecomment Entity KbArticleComment_AsyncOperations One-To-Many relationship.
ActivityPointer_AsyncOperations
See activitypointer Entity ActivityPointer_AsyncOperations One-To-Many relationship.
Subject_AsyncOperations
See subject Entity Subject_AsyncOperations One-To-Many relationship.
goalrollupquery_AsyncOperations
See goalrollupquery Entity goalrollupquery_AsyncOperations One-To-Many relationship.
Role_AsyncOperations
See role Entity Role_AsyncOperations One-To-Many relationship.
SystemForm_AsyncOperations
See systemform Entity SystemForm_AsyncOperations One-To-Many relationship.
Annotation_AsyncOperations
See annotation Entity Annotation_AsyncOperations One-To-Many relationship.
Privilege_AsyncOperations
See privilege Entity Privilege_AsyncOperations One-To-Many relationship.
ActivityMimeAttachment_AsyncOperations
See activitymimeattachment Entity ActivityMimeAttachment_AsyncOperations One-To-Many relationship.
Goal_AsyncOperations
See goal Entity Goal_AsyncOperations One-To-Many relationship.
Fax_AsyncOperations
See fax Entity Fax_AsyncOperations One-To-Many relationship.
QuarterlyFiscalCalendar_AsyncOperations
See quarterlyfiscalcalendar Entity QuarterlyFiscalCalendar_AsyncOperations One-To-Many relationship.
SharePointSite_AsyncOperations
See sharepointsite Entity SharePointSite_AsyncOperations One-To-Many relationship.
UserQuery_AsyncOperations
See userquery Entity UserQuery_AsyncOperations One-To-Many relationship.
ImportMap_AsyncOperations
See importmap Entity ImportMap_AsyncOperations One-To-Many relationship.
BusinessUnit_AsyncOperations
See businessunit Entity BusinessUnit_AsyncOperations One-To-Many relationship.
Queue_AsyncOperations
See queue Entity Queue_AsyncOperations One-To-Many relationship.
QueueItem_AsyncOperations
See queueitem Entity QueueItem_AsyncOperations One-To-Many relationship.
team_asyncoperation
See team Entity team_asyncoperation One-To-Many relationship.
lk_asyncoperation_modifiedby
See systemuser Entity lk_asyncoperation_modifiedby One-To-Many relationship.
UserForm_AsyncOperations
See userform Entity UserForm_AsyncOperations One-To-Many relationship.
TransactionCurrency_AsyncOperations
See transactioncurrency Entity TransactionCurrency_AsyncOperations One-To-Many relationship.
rollupfield_AsyncOperations
See rollupfield Entity rollupfield_AsyncOperations One-To-Many relationship.
Letter_AsyncOperations
See letter Entity Letter_AsyncOperations One-To-Many relationship.
KbArticle_AsyncOperations
See kbarticle Entity KbArticle_AsyncOperations One-To-Many relationship.
RecurringAppointmentMaster_AsyncOperations
See recurringappointmentmaster Entity RecurringAppointmentMaster_AsyncOperations One-To-Many
relationship.
Task_AsyncOperations
See task Entity Task_AsyncOperations One-To-Many relationship.
BusinessUnitNewsArticle_AsyncOperations
See businessunitnewsarticle Entity BusinessUnitNewsArticle_AsyncOperations One-To-Many relationship.
Connection_AsyncOperations
See connection Entity Connection_AsyncOperations One-To-Many relationship.
SystemUser_AsyncOperations
See systemuser Entity SystemUser_AsyncOperations One-To-Many relationship.
KbArticleTemplate_AsyncOperations
See kbarticletemplate Entity KbArticleTemplate_AsyncOperations One-To-Many relationship.
SdkMessageProcessingStep_AsyncOperations
See sdkmessageprocessingstep Entity SdkMessageProcessingStep_AsyncOperations One-To-Many relationship.
Template_AsyncOperations
See template Entity Template_AsyncOperations One-To-Many relationship.
CustomerAddress_AsyncOperations
See customeraddress Entity CustomerAddress_AsyncOperations One-To-Many relationship.
Contact_AsyncOperations
See contact Entity Contact_AsyncOperations One-To-Many relationship.
emailserverprofile_asyncoperations
See emailserverprofile Entity emailserverprofile_asyncoperations One-To-Many relationship.
lk_asyncoperation_createdonbehalfby
See systemuser Entity lk_asyncoperation_createdonbehalfby One-To-Many relationship.
Import_AsyncOperations
See import Entity Import_AsyncOperations One-To-Many relationship.
system_user_asyncoperation
See systemuser Entity system_user_asyncoperation One-To-Many relationship.
business_unit_asyncoperation
See businessunit Entity business_unit_asyncoperation One-To-Many relationship.
ImportLog_AsyncOperations
See importlog Entity ImportLog_AsyncOperations One-To-Many relationship.
metric_AsyncOperations
See metric Entity metric_AsyncOperations One-To-Many relationship.
SocialProfile_AsyncOperations
See socialprofile Entity SocialProfile_AsyncOperations One-To-Many relationship.
lk_asyncoperation_modifiedonbehalfby
See systemuser Entity lk_asyncoperation_modifiedonbehalfby One-To-Many relationship.
Account_AsyncOperations
See account Entity Account_AsyncOperations One-To-Many relationship.
Email_AsyncOperations
See email Entity Email_AsyncOperations One-To-Many relationship.
FixedMonthlyFiscalCalendar_AsyncOperations
See fixedmonthlyfiscalcalendar Entity FixedMonthlyFiscalCalendar_AsyncOperations One-To-Many relationship.
SemiAnnualFiscalCalendar_AsyncOperations
See semiannualfiscalcalendar Entity SemiAnnualFiscalCalendar_AsyncOperations One-To-Many relationship.
MailMergeTemplate_AsyncOperations
See mailmergetemplate Entity MailMergeTemplate_AsyncOperations One-To-Many relationship.
Organization_AsyncOperations
See organization Entity Organization_AsyncOperations One-To-Many relationship.
Calendar_AsyncOperations
See calendar Entity Calendar_AsyncOperations One-To-Many relationship.
ImportFile_AsyncOperations
See importfile Entity ImportFile_AsyncOperations One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
asyncoperation EntityType
Audit Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Track changes to records for analysis, record keeping, and compliance.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

DeleteAuditData DeleteAuditData Action DeleteAuditDataRequest

DeleteRecordChangeHistory DeleteRecordChangeHistory Action DeleteRecordChangeHistoryRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/audits(auditid) Retrieve
See Retrieve

RetrieveAttributeChangeHistory RetrieveAttributeChangeHistory RetrieveAttributeChangeHistoryRequest


Function

RetrieveAuditDetails RetrieveAuditDetails Function RetrieveAuditDetailsRequest

RetrieveAuditPartitionList RetrieveAuditPartitionList Function RetrieveAuditPartitionListRequest

RetrieveMultiple GET [org URI]/api/data/v9.0/audits RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrieveRecordChangeHistory RetrieveRecordChangeHistory Function RetrieveRecordChangeHistoryRequest

Entity Properties
PROPERTY VALUE

CollectionSchemaName Audit

DisplayCollectionName Audits

DisplayName Auditing

EntitySetName audits

IsBPFEntity False

LogicalCollectionName audits

LogicalName audit

OwnershipType None
PROPERTY VALUE

PrimaryIdAttribute auditid

PrimaryNameAttribute

SchemaName Audit

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
RegardingObjectId
RegardingObjectIdName
UserAdditionalInfo
RegardingObjectId
PROPERTY VALUE

Description Unique identifier of the object with which the record is


associated.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName regardingobjectidname

MaxLength 400

RequiredLevel None

Type String

UserAdditionalInfo
PROPERTY VALUE

Description Additional information associated to the user who caused the


change.

DisplayName User Info

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName useradditionalinfo

MaxLength 350

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
Action
AttributeMask
AuditId
CallingUserId
CallingUserIdName
ChangeData
CreatedOn
ObjectId
ObjectIdName
ObjectTypeCode
Operation
TransactionId
UserId
UserIdName
Action
PROPERTY VALUE

Description Actions the user can perform that cause a change

DisplayName Event

IsValidForForm False

IsValidForRead True

LogicalName action

RequiredLevel ApplicationRequired

Type Picklist

Action Options

VALUE LABEL

0 Unknown

1 Create

2 Update

3 Delete

4 Activate

5 Deactivate

11 Cascade

12 Merge

13 Assign

14 Share

15 Retrieve

16 Close

17 Cancel

18 Complete
VALUE LABEL

20 Resolve

21 Reopen

22 Fulfill

23 Paid

24 Qualify

25 Disqualify

26 Submit

27 Reject

28 Approve

29 Invoice

30 Hold

31 Add Member

32 Remove Member

33 Associate Entities

34 Disassociate Entities

35 Add Members

36 Remove Members

37 Add Item

38 Remove Item

39 Add Substitute

40 Remove Substitute

41 Set State

42 Renew

43 Revise

44 Win
VALUE LABEL

45 Lose

46 Internal Processing

47 Reschedule

48 Modify Share

49 Unshare

50 Book

51 Generate Quote From Opportunity

52 Add To Queue

53 Assign Role To Team

54 Remove Role From Team

55 Assign Role To User

56 Remove Role From User

57 Add Privileges to Role

58 Remove Privileges From Role

59 Replace Privileges In Role

60 Import Mappings

61 Clone

62 Send Direct Email

63 Enabled for organization

64 User Access via Web

65 User Access via Web Services

100 Delete Entity

101 Delete Attribute

102 Audit Change at Entity Level

103 Audit Change at Attribute Level


VALUE LABEL

104 Audit Change at Org Level

105 Entity Audit Started

106 Attribute Audit Started

107 Audit Enabled

108 Entity Audit Stopped

109 Attribute Audit Stopped

110 Audit Disabled

111 Audit Log Deletion

112 User Access Audit Started

113 User Access Audit Stopped

AttributeMask
PROPERTY VALUE

Description Contains a CSV of the ColumnNumber metadata property of


attributes

DisplayName Changed Field

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName attributemask

MaxLength 2000

RequiredLevel None

Type Memo

AuditId
PROPERTY VALUE

Description Unique identifier of the auditing instance


PROPERTY VALUE

DisplayName Record Id

IsValidForForm False

IsValidForRead True

LogicalName auditid

RequiredLevel SystemRequired

Type Uniqueidentifier

CallingUserId
PROPERTY VALUE

Description Unique identifier of the calling user in case of an impersonated


call

DisplayName Calling User

IsValidForForm False

IsValidForRead True

LogicalName callinguserid

RequiredLevel None

Targets systemuser

Type Lookup

CallingUserIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName callinguseridname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ChangeData
PROPERTY VALUE

Description Contains a CSV of old values of all the attributes whose


IsAuditEnabled property is True and are being changed

DisplayName Change Data

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName changedata

MaxLength 2000

RequiredLevel None

Type Memo

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the audit record was created.

DisplayName Changed Date

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired
PROPERTY VALUE

Type DateTime

ObjectId
PROPERTY VALUE

Description Unique identifier of the record that is being audited

DisplayName Record

IsValidForForm False

IsValidForRead True

LogicalName objectid

RequiredLevel SystemRequired

Targets

Type Lookup

ObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName objectidname

MaxLength 160

RequiredLevel None

Type String

ObjectTypeCode
PROPERTY VALUE

Description Unique identifier of the entity that is being audited


PROPERTY VALUE

DisplayName Entity

IsValidForForm False

IsValidForRead True

LogicalName objecttypecode

RequiredLevel None

Type EntityName

Operation
PROPERTY VALUE

Description The action that causes the audit--it will be create, delete, or
update

DisplayName Operation

IsValidForForm False

IsValidForRead True

LogicalName operation

RequiredLevel SystemRequired

Type Picklist

Operation Options

VALUE LABEL

1 Create

2 Update

3 Delete

4 Access

TransactionId
PROPERTY VALUE

Description Unique identifier for multiple changes that are part of a single
operation; this field contains the same GUID for all the audit
rows generated in a single transaction

DisplayName Transaction Id
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName transactionid

RequiredLevel SystemRequired

Type Uniqueidentifier

UserId
PROPERTY VALUE

Description Unique identifier of the user who caused a change

DisplayName Changed By

IsValidForForm False

IsValidForRead True

LogicalName userid

RequiredLevel SystemRequired

Targets externalparty,systemuser

Type Lookup

UserIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName useridname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_audit_userid
lk_audit_callinguserid
lk_audit_userid
See systemuser Entity lk_audit_userid One-To-Many relationship.
lk_audit_callinguserid
See systemuser Entity lk_audit_callinguserid One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
audit EntityType
BulkDeleteFailure Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Record that was not deleted during a bulk deletion job.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/bulkdeletefailures(bu Retrieve
lkdeletefailureid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/bulkdeletefailures RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName BulkDeleteFailures

DisplayCollectionName Bulk Delete Failures

DisplayName Bulk Delete Failure

EntitySetName bulkdeletefailures

IsBPFEntity False

LogicalCollectionName bulkdeletefailures

LogicalName bulkdeletefailure

OwnershipType None

PrimaryIdAttribute bulkdeletefailureid

PrimaryNameAttribute

SchemaName BulkDeleteFailure

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidyominame

MaxLength 160

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AsyncOperationId
BulkDeleteFailureId
BulkDeleteOperationId
ErrorDescription
ErrorNumber
OrderedQueryIndex
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
RegardingObjectId
RegardingObjectIdName
RegardingObjectTypeCode
AsyncOperationId
PROPERTY VALUE

Description Unique identifier of the system job that created this record.

DisplayName System Job


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName asyncoperationid

RequiredLevel ApplicationRequired

Targets asyncoperation

Type Lookup

BulkDeleteFailureId
PROPERTY VALUE

Description Unique identifier of the bulk deletion failure record.

DisplayName Bulk Deletion Failure

IsValidForForm False

IsValidForRead True

LogicalName bulkdeletefailureid

RequiredLevel SystemRequired

Type Uniqueidentifier

BulkDeleteOperationId
PROPERTY VALUE

Description Unique identifier of the bulk operation job which created this
record

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName bulkdeleteoperationid

RequiredLevel None

Targets bulkdeleteoperation

Type Lookup
ErrorDescription
PROPERTY VALUE

Description Description of the error.

DisplayName Error Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName errordescription

MaxLength 512

RequiredLevel None

Type String

ErrorNumber
PROPERTY VALUE

Description Error code for the failed bulk deletion.

DisplayName Error Code

Format None

IsValidForForm True

IsValidForRead True

LogicalName errornumber

MaxValue 1000000000

MinValue -1000000000

RequiredLevel None

Type Integer

OrderedQueryIndex
PROPERTY VALUE
PROPERTY VALUE

Description Index of the ordered query expression that retrieved this


record.

DisplayName Index

Format None

IsValidForForm False

IsValidForRead True

LogicalName orderedqueryindex

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the bulk
operation log.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the bulk
deletion failure.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel ApplicationRequired

Type Uniqueidentifier

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the bulk deletion
failure record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel ApplicationRequired

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Unique identifier of the record that can not be deleted.

DisplayName Name

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,activitymimeattachment,activitypointer,annotation,ann
ualfiscalcalendar,appointment,attributemap,businessunit,busin
essunitnewsarticle,calendar,channelaccessprofile,channelaccess
profilerule,contact,customeraddress,customerrelationship,displ
aystring,email,emailserverprofile,entitymap,externalparty,extern
alpartyitem,fax,fixedmonthlyfiscalcalendar,holidaywrapper,impo
rt,importdata,importfile,importlog,importmap,isvconfig,kbarticl
e,kbarticlecomment,kbarticletemplate,knowledgearticle,knowle
dgebaserecord,letter,monthlyfiscalcalendar,msdyn_connector,or
ganization,phonecall,post,privilege,quarterlyfiscalcalendar,queu
e,queueitem,recurringappointmentmaster,relationshiprole,relati
onshiprolemap,role,routingrule,routingruleitem,savedquery,se
miannualfiscalcalendar,sla,socialactivity,subject,systemform,syst
emuser,task,team,template,territory,theme,userform,usermapp
ing,userquery

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 256

RequiredLevel None

Type String
RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
Territory_BulkDeleteFailures
msdyn_connector_BulkDeleteFailures
theme_BulkDeleteFailures
usermapping_BulkDeleteFailures
knowledgearticle_BulkDeleteFailures
post_BulkDeleteFailures
KnowledgeBaseRecord_BulkDeleteFailures
Role_BulkDeleteFailures
Subject_BulkDeleteFailures
Fax_BulkDeleteFailures
Privilege_BulkDeleteFailures
KbArticle_BulkDeleteFailures
KbArticleComment_BulkDeleteFailures
AnnualFiscalCalendar_BulkDeleteFailures
UserForm_BulkDeleteFailures
Queue_BulkDeleteFailures
Contact_BulkDeleteFailures
emailserverprofile_bulkdeletefailures
SavedQuery_BulkDeleteFailures
Appointment_BulkDeleteFailures
Template_BulkDeleteFailures
Account_BulkDeleteFailures
SystemUser_BulkDeleteFailures
QuarterlyFiscalCalendar_BulkDeleteFailures
QueueItem_BulkDeleteFailures
DisplayString_BulkDeleteFailures
Calendar_BulkDeleteFailures
Organization_BulkDeleteFailures
BusinessUnit_BulkDeleteFailures
Annotation_BulkDeleteFailures
ImportLog_BulkDeleteFailures
Import_BulkDeleteFailures
Letter_BulkDeleteFailures
UserQuery_BulkDeleteFailures
PhoneCall_BulkDeleteFailures
Team_BulkDeleteFailures
CustomerAddress_BulkDeleteFailures
SocialActivity_BulkDeleteFailures
ImportFile_BulkDeleteFailures
SystemForm_BulkDeleteFailures
BusinessUnitNewsArticle_BulkDeleteFailures
ImportMap_BulkDeleteFailures
RecurringAppointmentMaster_BulkDeleteFailures
Email_BulkDeleteFailures
MonthlyFiscalCalendar_BulkDeleteFailures
KbArticleTemplate_BulkDeleteFailures
ActivityPointer_BulkDeleteFailures
slabase_BulkDeleteFailures
FixedMonthlyFiscalCalendar_BulkDeleteFailures
Task_BulkDeleteFailures
BulkDeleteOperation_BulkDeleteFailure
ActivityMimeAttachment_BulkDeleteFailures
SemiAnnualFiscalCalendar_BulkDeleteFailures
Territory_BulkDeleteFailures
Added by: Application Common Solution
See territory Entity Territory_BulkDeleteFailures One-To-Many relationship.
msdyn_connector_BulkDeleteFailures
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_BulkDeleteFailures One-To-Many relationship.
theme_BulkDeleteFailures
See theme Entity theme_BulkDeleteFailures One-To-Many relationship.
usermapping_BulkDeleteFailures
See usermapping Entity usermapping_BulkDeleteFailures One-To-Many relationship.
knowledgearticle_BulkDeleteFailures
See knowledgearticle Entity knowledgearticle_BulkDeleteFailures One-To-Many relationship.
post_BulkDeleteFailures
See post Entity post_BulkDeleteFailures One-To-Many relationship.
KnowledgeBaseRecord_BulkDeleteFailures
See knowledgebaserecord Entity KnowledgeBaseRecord_BulkDeleteFailures One-To-Many relationship.
Role_BulkDeleteFailures
See role Entity Role_BulkDeleteFailures One-To-Many relationship.
Subject_BulkDeleteFailures
See subject Entity Subject_BulkDeleteFailures One-To-Many relationship.
Fax_BulkDeleteFailures
See fax Entity Fax_BulkDeleteFailures One-To-Many relationship.
Privilege_BulkDeleteFailures
See privilege Entity Privilege_BulkDeleteFailures One-To-Many relationship.
KbArticle_BulkDeleteFailures
See kbarticle Entity KbArticle_BulkDeleteFailures One-To-Many relationship.
KbArticleComment_BulkDeleteFailures
See kbarticlecomment Entity KbArticleComment_BulkDeleteFailures One-To-Many relationship.
AnnualFiscalCalendar_BulkDeleteFailures
See annualfiscalcalendar Entity AnnualFiscalCalendar_BulkDeleteFailures One-To-Many relationship.
UserForm_BulkDeleteFailures
See userform Entity UserForm_BulkDeleteFailures One-To-Many relationship.
Queue_BulkDeleteFailures
See queue Entity Queue_BulkDeleteFailures One-To-Many relationship.
Contact_BulkDeleteFailures
See contact Entity Contact_BulkDeleteFailures One-To-Many relationship.
emailserverprofile_bulkdeletefailures
See emailserverprofile Entity emailserverprofile_bulkdeletefailures One-To-Many relationship.
SavedQuery_BulkDeleteFailures
See savedquery Entity SavedQuery_BulkDeleteFailures One-To-Many relationship.
Appointment_BulkDeleteFailures
See appointment Entity Appointment_BulkDeleteFailures One-To-Many relationship.
Template_BulkDeleteFailures
See template Entity Template_BulkDeleteFailures One-To-Many relationship.
Account_BulkDeleteFailures
See account Entity Account_BulkDeleteFailures One-To-Many relationship.
SystemUser_BulkDeleteFailures
See systemuser Entity SystemUser_BulkDeleteFailures One-To-Many relationship.
QuarterlyFiscalCalendar_BulkDeleteFailures
See quarterlyfiscalcalendar Entity QuarterlyFiscalCalendar_BulkDeleteFailures One-To-Many relationship.
QueueItem_BulkDeleteFailures
See queueitem Entity QueueItem_BulkDeleteFailures One-To-Many relationship.
DisplayString_BulkDeleteFailures
See displaystring Entity DisplayString_BulkDeleteFailures One-To-Many relationship.
Calendar_BulkDeleteFailures
See calendar Entity Calendar_BulkDeleteFailures One-To-Many relationship.
Organization_BulkDeleteFailures
See organization Entity Organization_BulkDeleteFailures One-To-Many relationship.
BusinessUnit_BulkDeleteFailures
See businessunit Entity BusinessUnit_BulkDeleteFailures One-To-Many relationship.
Annotation_BulkDeleteFailures
See annotation Entity Annotation_BulkDeleteFailures One-To-Many relationship.
ImportLog_BulkDeleteFailures
See importlog Entity ImportLog_BulkDeleteFailures One-To-Many relationship.
Import_BulkDeleteFailures
See import Entity Import_BulkDeleteFailures One-To-Many relationship.
Letter_BulkDeleteFailures
See letter Entity Letter_BulkDeleteFailures One-To-Many relationship.
UserQuery_BulkDeleteFailures
See userquery Entity UserQuery_BulkDeleteFailures One-To-Many relationship.
PhoneCall_BulkDeleteFailures
See phonecall Entity PhoneCall_BulkDeleteFailures One-To-Many relationship.
Team_BulkDeleteFailures
See team Entity Team_BulkDeleteFailures One-To-Many relationship.
CustomerAddress_BulkDeleteFailures
See customeraddress Entity CustomerAddress_BulkDeleteFailures One-To-Many relationship.
SocialActivity_BulkDeleteFailures
See socialactivity Entity SocialActivity_BulkDeleteFailures One-To-Many relationship.
ImportFile_BulkDeleteFailures
See importfile Entity ImportFile_BulkDeleteFailures One-To-Many relationship.
SystemForm_BulkDeleteFailures
See systemform Entity SystemForm_BulkDeleteFailures One-To-Many relationship.
BusinessUnitNewsArticle_BulkDeleteFailures
See businessunitnewsarticle Entity BusinessUnitNewsArticle_BulkDeleteFailures One-To-Many relationship.
ImportMap_BulkDeleteFailures
See importmap Entity ImportMap_BulkDeleteFailures One-To-Many relationship.
RecurringAppointmentMaster_BulkDeleteFailures
See recurringappointmentmaster Entity RecurringAppointmentMaster_BulkDeleteFailures One-To-Many
relationship.
Email_BulkDeleteFailures
See email Entity Email_BulkDeleteFailures One-To-Many relationship.
MonthlyFiscalCalendar_BulkDeleteFailures
See monthlyfiscalcalendar Entity MonthlyFiscalCalendar_BulkDeleteFailures One-To-Many relationship.
KbArticleTemplate_BulkDeleteFailures
See kbarticletemplate Entity KbArticleTemplate_BulkDeleteFailures One-To-Many relationship.
ActivityPointer_BulkDeleteFailures
See activitypointer Entity ActivityPointer_BulkDeleteFailures One-To-Many relationship.
slabase_BulkDeleteFailures
See sla Entity slabase_BulkDeleteFailures One-To-Many relationship.
FixedMonthlyFiscalCalendar_BulkDeleteFailures
See fixedmonthlyfiscalcalendar Entity FixedMonthlyFiscalCalendar_BulkDeleteFailures One-To-Many relationship.
Task_BulkDeleteFailures
See task Entity Task_BulkDeleteFailures One-To-Many relationship.
BulkDeleteOperation_BulkDeleteFailure
See bulkdeleteoperation Entity BulkDeleteOperation_BulkDeleteFailure One-To-Many relationship.
ActivityMimeAttachment_BulkDeleteFailures
See activitymimeattachment Entity ActivityMimeAttachment_BulkDeleteFailures One-To-Many relationship.
SemiAnnualFiscalCalendar_BulkDeleteFailures
See semiannualfiscalcalendar Entity SemiAnnualFiscalCalendar_BulkDeleteFailures One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
bulkdeletefailure EntityType
BulkDeleteOperation Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

User-submitted bulk deletion job.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/bulkdeleteoperations Delete
(bulkdeleteoperationid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/bulkdeleteoperations Retrieve
(bulkdeleteoperationid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/bulkdeleteoperations RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName BulkDeleteOperations

DisplayCollectionName Bulk Delete Operations

DisplayName Bulk Delete Operation

EntitySetName bulkdeleteoperations

IsBPFEntity False

LogicalCollectionName bulkdeleteoperations

LogicalName bulkdeleteoperation

OwnershipType None

PrimaryIdAttribute bulkdeleteoperationid

PrimaryNameAttribute name

SchemaName BulkDeleteOperation
Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None
PROPERTY VALUE

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AsyncOperationId
BulkDeleteOperationId
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
FailureCount
IsRecurring
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
Name
NextRun
OrderedQuerySetXml
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
ProcessingQEIndex
StateCode
StatusCode
SuccessCount
AsyncOperationId
PROPERTY VALUE

Description Unique identifier of the system job that created this record

DisplayName System Job

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName asyncoperationid

RequiredLevel None

Targets asyncoperation

Type Lookup

BulkDeleteOperationId
PROPERTY VALUE

Description Unique identifier of the bulk deletion job.

DisplayName Bulk Deletion Job

IsValidForForm False

IsValidForRead True

LogicalName bulkdeleteoperationid

RequiredLevel SystemRequired

Type Uniqueidentifier

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the bulk deletion
job.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the bulk deletion job was created.
PROPERTY VALUE

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


bulkdeleteoperation.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

FailureCount
PROPERTY VALUE

Description Number of records that could not be deleted by the bulk


deletion job.

DisplayName Failures

Format None

IsValidForForm True

IsValidForRead True

LogicalName failurecount

MaxValue 1000000000
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

IsRecurring
PROPERTY VALUE

Description Information about if recurrence is defined for the bulk deletion


job.

DisplayName Is Recurring

IsValidForForm True

IsValidForRead True

LogicalName isrecurring

RequiredLevel SystemRequired

Type Boolean

IsRecurring Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the bulk
deletion job.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String
ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the bulk deletion job record was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
bulkdeleteoperation.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the bulk deletion job.

DisplayName System Job Name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel None

Type String

NextRun
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Next scheduled time for the bulk deletion job to run.

DisplayName Next Run

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName nextrun

RequiredLevel None

Type DateTime

OrderedQuerySetXml
PROPERTY VALUE

Description Fetch XML of the ordered query set.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName orderedquerysetxml

MaxLength 1073741823
PROPERTY VALUE

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the bulk
delete operation.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Business unit that owns the bulk deletion job.

DisplayName Owning Business Unit


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningUser
PROPERTY VALUE

Description Business user what owns the bulk delete operation.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ProcessingQEIndex
PROPERTY VALUE

Description Index of the ordered query expression that defines the


deletion set.

DisplayName Query Index

Format None

IsValidForForm False

IsValidForRead True

LogicalName processingqeindex

MaxValue 1000000000
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

StateCode
PROPERTY VALUE

Description Status of the bulk deletion job.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Ready 1 Ready

1 Suspended 2 Suspended

2 Locked 2 Locked

3 Completed 2 Completed

StatusCode
PROPERTY VALUE

Description Reason for the status of the bulk deletion job.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None
PROPERTY VALUE

Type Status

StatusCode Options

VALUE LABEL STATE

0 Waiting For Resources 0

10 Waiting 1

11 Retrying 1

12 Paused 1

20 In Progress 2

21 Pausing 2

22 Canceling 2

30 Succeeded 3

31 Failed 3

32 Canceled 3

SuccessCount
PROPERTY VALUE

Description Number of records deleted by the bulk deletion job.

DisplayName Deleted

Format None

IsValidForForm True

IsValidForRead True

LogicalName successcount

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer
One-To-Many Relationships
Listed by SchemaName.
BulkDeleteOperation_BulkDeleteFailure
Same as bulkdeletefailure entity BulkDeleteOperation_BulkDeleteFailure Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute bulkdeleteoperationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BulkDeleteOperation_BulkDeleteFailure

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_bulkdeleteoperationbase_modifiedby
AsyncOperation_BulkDeleteOperation
lk_bulkdeleteoperation_createdonbehalfby
lk_bulkdeleteoperation_modifiedonbehalfby
lk_bulkdeleteoperationbase_createdby
BulkDeleteOperation_BusinessUnit
lk_bulkdeleteoperationbase_modifiedby
See systemuser Entity lk_bulkdeleteoperationbase_modifiedby One-To-Many relationship.
AsyncOperation_BulkDeleteOperation
See asyncoperation Entity AsyncOperation_BulkDeleteOperation One-To-Many relationship.
lk_bulkdeleteoperation_createdonbehalfby
See systemuser Entity lk_bulkdeleteoperation_createdonbehalfby One-To-Many relationship.
lk_bulkdeleteoperation_modifiedonbehalfby
See systemuser Entity lk_bulkdeleteoperation_modifiedonbehalfby One-To-Many relationship.
lk_bulkdeleteoperationbase_createdby
See systemuser Entity lk_bulkdeleteoperationbase_createdby One-To-Many relationship.
BulkDeleteOperation_BusinessUnit
See businessunit Entity BulkDeleteOperation_BusinessUnit One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
bulkdeleteoperation EntityType
BusinessUnit Entity Reference
4/3/2019 • 25 minutes to read • Edit Online

Business, division, or department in the Microsoft Dynamics 365 database.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/businessunits Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/businessunits(busine Delete
ssunitid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/businessunits(busine Retrieve
ssunitid)
See Retrieve

RetrieveBusinessHierarchyBusinessUnit RetrieveBusinessHierarchyBusinessUnit RetrieveBusinessHierarchyBusinessUnit


Function Request

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/businessunits RetrieveMultiple
See Query Data

SetParentBusinessUnit Associate and disassociate entities SetParentBusinessUnitRequest

SetParentSystemUser SetParentSystemUser Action SetParentSystemUserRequest

SetParentTeam Associate and disassociate entities SetParentTeamRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/businessunits(busine
ssunitid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/businessunits(busine Update
ssunitid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName BusinessUnits

DisplayCollectionName Business Units

DisplayName Business Unit

EntitySetName businessunits

IsBPFEntity False

LogicalCollectionName businessunits

LogicalName businessunit

OwnershipType BusinessOwned

PrimaryIdAttribute businessunitid

PrimaryNameAttribute name

SchemaName BusinessUnit

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Address1_AddressId
Address1_AddressTypeCode
Address1_City
Address1_Country
Address1_County
Address1_Fax
Address1_Latitude
Address1_Line1
Address1_Line2
Address1_Line3
Address1_Longitude
Address1_Name
Address1_PostalCode
Address1_PostOfficeBox
Address1_ShippingMethodCode
Address1_StateOrProvince
Address1_Telephone1
Address1_Telephone2
Address1_Telephone3
Address1_UPSZone
Address1_UTCOffset
Address2_AddressId
Address2_AddressTypeCode
Address2_City
Address2_Country
Address2_County
Address2_Fax
Address2_Latitude
Address2_Line1
Address2_Line2
Address2_Line3
Address2_Longitude
Address2_Name
Address2_PostalCode
Address2_PostOfficeBox
Address2_ShippingMethodCode
Address2_StateOrProvince
Address2_Telephone1
Address2_Telephone2
Address2_Telephone3
Address2_UPSZone
Address2_UTCOffset
BusinessUnitId
CalendarId
CostCenter
CreditLimit
Description
DivisionName
EMailAddress
FileAsName
FtpSiteUrl
ImportSequenceNumber
InheritanceMask
IsDisabled
Name
OverriddenCreatedOn
ParentBusinessUnitId
Picture
StockExchange
TickerSymbol
TransactionCurrencyId
UTCOffset
WebSiteUrl
WorkflowSuspended
Address1_AddressId
PROPERTY VALUE

Description Unique identifier for address 1.

DisplayName Address 1: ID

IsValidForForm False

IsValidForRead True

LogicalName address1_addressid

RequiredLevel None

Type Uniqueidentifier

Address1_AddressTypeCode
PROPERTY VALUE

Description Type of address for address 1, such as billing, shipping, or


primary address.

DisplayName Address 1: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address1_addresstypecode

RequiredLevel None

Type Picklist

Address1_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address1_City
PROPERTY VALUE

Description City name for address 1.

DisplayName Bill To City

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName address1_city

MaxLength 80

RequiredLevel None

Type String

Address1_Country
PROPERTY VALUE

Description Country/region name for address 1.

DisplayName Bill To Country/Region

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_country

MaxLength 80

RequiredLevel None

Type String

Address1_County
PROPERTY VALUE

Description County name for address 1.

DisplayName Address 1: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address1_county

MaxLength 50

RequiredLevel None

Type String

Address1_Fax
PROPERTY VALUE

Description Fax number for address 1.

DisplayName Address 1: Fax

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_fax

MaxLength 50

RequiredLevel None

Type String

Address1_Latitude
PROPERTY VALUE

Description Latitude for address 1.

DisplayName Address 1: Latitude

IsValidForForm True

IsValidForRead True

LogicalName address1_latitude

MaxValue 90

MinValue -90

Precision 5
PROPERTY VALUE

RequiredLevel None

Type Double

Address1_Line1
PROPERTY VALUE

Description First line for entering address 1 information.

DisplayName Bill To Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line1

MaxLength 250

RequiredLevel None

Type String

Address1_Line2
PROPERTY VALUE

Description Second line for entering address 1 information.

DisplayName Bill To Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line2

MaxLength 250

RequiredLevel None

Type String
Address1_Line3
PROPERTY VALUE

Description Third line for entering address 1 information.

DisplayName Bill To Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line3

MaxLength 250

RequiredLevel None

Type String

Address1_Longitude
PROPERTY VALUE

Description Longitude for address 1.

DisplayName Address 1: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address1_longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None

Type Double

Address1_Name
PROPERTY VALUE

Description Name to enter for address 1.


PROPERTY VALUE

DisplayName Address 1: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_name

MaxLength 100

RequiredLevel None

Type String

Address1_PostalCode
PROPERTY VALUE

Description ZIP Code or postal code for address 1.

DisplayName Bill To ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postalcode

MaxLength 20

RequiredLevel None

Type String

Address1_PostOfficeBox
PROPERTY VALUE

Description Post office box number for address 1.

DisplayName Address 1: Post Office Box

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address1_ShippingMethodCode
PROPERTY VALUE

Description Method of shipment for address 1.

DisplayName Address 1: Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName address1_shippingmethodcode

RequiredLevel None

Type Picklist

Address1_ShippingMethodCode Options

VALUE LABEL

1 Default Value

Address1_StateOrProvince
PROPERTY VALUE

Description State or province for address 1.

DisplayName Bill To State/Province

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_stateorprovince

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone1
PROPERTY VALUE

Description First telephone number associated with address 1.

DisplayName Main Phone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone1

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone2
PROPERTY VALUE

Description Second telephone number associated with address 1.

DisplayName Other Phone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone2
PROPERTY VALUE

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone3
PROPERTY VALUE

Description Third telephone number associated with address 1.

DisplayName Address 1: Telephone 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone3

MaxLength 50

RequiredLevel None

Type String

Address1_UPSZone
PROPERTY VALUE

Description United Parcel Service (UPS) zone for address 1.

DisplayName Address 1: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_upszone

MaxLength 4

RequiredLevel None
PROPERTY VALUE

Type String

Address1_UTCOffset
PROPERTY VALUE

Description UTC offset for address 1. This is the difference between local
time and standard Coordinated Universal Time.

DisplayName Address 1: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address1_utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Address2_AddressId
PROPERTY VALUE

Description Unique identifier for address 2.

DisplayName Address 2: ID

IsValidForForm False

IsValidForRead True

LogicalName address2_addressid

RequiredLevel None

Type Uniqueidentifier

Address2_AddressTypeCode
PROPERTY VALUE

Description Type of address for address 2, such as billing, shipping, or


primary address.
PROPERTY VALUE

DisplayName Address 2: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address2_addresstypecode

RequiredLevel None

Type Picklist

Address2_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address2_City
PROPERTY VALUE

Description City name for address 2.

DisplayName Ship To City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_city

MaxLength 80

RequiredLevel None

Type String

Address2_Country
PROPERTY VALUE

Description Country/region name for address 2.

DisplayName Ship To Country/Region

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_country

MaxLength 80

RequiredLevel None

Type String

Address2_County
PROPERTY VALUE

Description County name for address 2.

DisplayName Address 2: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_county

MaxLength 50

RequiredLevel None

Type String

Address2_Fax
PROPERTY VALUE

Description Fax number for address 2.

DisplayName Address 2: Fax

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address2_fax

MaxLength 50

RequiredLevel None

Type String

Address2_Latitude
PROPERTY VALUE

Description Latitude for address 2.

DisplayName Address 2: Latitude

IsValidForForm True

IsValidForRead True

LogicalName address2_latitude

MaxValue 90

MinValue -90

Precision 5

RequiredLevel None

Type Double

Address2_Line1
PROPERTY VALUE

Description First line for entering address 2 information.

DisplayName Ship To Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line1
PROPERTY VALUE

MaxLength 250

RequiredLevel None

Type String

Address2_Line2
PROPERTY VALUE

Description Second line for entering address 2 information.

DisplayName Ship To Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line2

MaxLength 250

RequiredLevel None

Type String

Address2_Line3
PROPERTY VALUE

Description Third line for entering address 2 information.

DisplayName Ship To Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line3

MaxLength 250

RequiredLevel None
PROPERTY VALUE

Type String

Address2_Longitude
PROPERTY VALUE

Description Longitude for address 2.

DisplayName Address 2: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address2_longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None

Type Double

Address2_Name
PROPERTY VALUE

Description Name to enter for address 2.

DisplayName Address 2: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_name

MaxLength 100

RequiredLevel None

Type String

Address2_PostalCode
PROPERTY VALUE

Description ZIP Code or postal code for address 2.

DisplayName Ship To ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_postalcode

MaxLength 20

RequiredLevel None

Type String

Address2_PostOfficeBox
PROPERTY VALUE

Description Post office box number for address 2.

DisplayName Address 2: Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address2_ShippingMethodCode
PROPERTY VALUE

Description Method of shipment for address 2.

DisplayName Address 2: Shipping Method


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName address2_shippingmethodcode

RequiredLevel None

Type Picklist

Address2_ShippingMethodCode Options

VALUE LABEL

1 Default Value

Address2_StateOrProvince
PROPERTY VALUE

Description State or province for address 2.

DisplayName Ship To State/Province

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_stateorprovince

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone1
PROPERTY VALUE

Description First telephone number associated with address 2.

DisplayName Address 2: Telephone 1

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone1

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone2
PROPERTY VALUE

Description Second telephone number associated with address 2.

DisplayName Address 2: Telephone 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone2

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone3
PROPERTY VALUE

Description Third telephone number associated with address 2.

DisplayName Address 2: Telephone 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address2_telephone3

MaxLength 50

RequiredLevel None

Type String

Address2_UPSZone
PROPERTY VALUE

Description United Parcel Service (UPS) zone for address 2.

DisplayName Address 2: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_upszone

MaxLength 4

RequiredLevel None

Type String

Address2_UTCOffset
PROPERTY VALUE

Description UTC offset for address 2. This is the difference between local
time and standard Coordinated Universal Time.

DisplayName Address 2: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address2_utcoffset

MaxValue 1500
PROPERTY VALUE

MinValue -1500

RequiredLevel None

Type Integer

BusinessUnitId
PROPERTY VALUE

Description Unique identifier of the business unit.

DisplayName Business Unit

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName businessunitid

RequiredLevel SystemRequired

Type Uniqueidentifier

CalendarId
PROPERTY VALUE

Description Fiscal calendar associated with the business unit.

DisplayName Calendar

IsValidForForm False

IsValidForRead True

LogicalName calendarid

RequiredLevel None

Targets calendar

Type Lookup

CostCenter
PROPERTY VALUE

Description Name of the business unit cost center.


PROPERTY VALUE

DisplayName Cost Center

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName costcenter

MaxLength 100

RequiredLevel None

Type String

CreditLimit
PROPERTY VALUE

Description Credit limit for the business unit.

DisplayName Credit Limit

IsValidForForm True

IsValidForRead True

LogicalName creditlimit

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Double

Description
PROPERTY VALUE

Description Description of the business unit.

DisplayName Description

Format Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

DivisionName
PROPERTY VALUE

Description Name of the division to which the business unit belongs.

DisplayName Division

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName divisionname

MaxLength 100

RequiredLevel None

Type String

EMailAddress
PROPERTY VALUE

Description Email address for the business unit.

DisplayName Email

FormatName Email

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName emailaddress

MaxLength 100

RequiredLevel None

Type String

FileAsName
PROPERTY VALUE

Description Alternative name under which the business unit can be filed.

DisplayName File as Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName fileasname

MaxLength 100

RequiredLevel None

Type String

FtpSiteUrl
PROPERTY VALUE

Description FTP site URL for the business unit.

DisplayName FTP Site

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName ftpsiteurl
PROPERTY VALUE

MaxLength 200

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

InheritanceMask
PROPERTY VALUE

Description Inheritance mask for the business unit.

DisplayName Inheritance Mask

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName inheritancemask
PROPERTY VALUE

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

IsDisabled
PROPERTY VALUE

Description Information about whether the business unit is enabled or


disabled.

DisplayName Is Disabled

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName isdisabled

RequiredLevel None

Type Boolean

IsDisabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Name
PROPERTY VALUE

Description Name of the business unit.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName name

MaxLength 160

RequiredLevel SystemRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ParentBusinessUnitId
PROPERTY VALUE

Description Unique identifier for the parent business unit.

DisplayName Parent Business

IsValidForForm True

IsValidForRead True

LogicalName parentbusinessunitid

RequiredLevel ApplicationRequired

Targets businessunit
PROPERTY VALUE

Type Lookup

Picture
PROPERTY VALUE

Description Picture or diagram of the business unit.

DisplayName Picture

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName picture

MaxLength 1073741823

RequiredLevel None

Type Memo

StockExchange
PROPERTY VALUE

Description Stock exchange on which the business is listed.

DisplayName Stock Exchange

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName stockexchange

MaxLength 20

RequiredLevel None

Type String

TickerSymbol
PROPERTY VALUE

Description Stock exchange ticker symbol for the business unit.

DisplayName Ticker Symbol

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName tickersymbol

MaxLength 10

RequiredLevel None

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the


businessunit.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UTCOffset
PROPERTY VALUE

Description UTC offset for the business unit. This is the difference between
local time and standard Coordinated Universal Time.

DisplayName UTC Offset

Format TimeZone
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

WebSiteUrl
PROPERTY VALUE

Description Website URL for the business unit.

DisplayName Website

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName websiteurl

MaxLength 200

RequiredLevel None

Type String

WorkflowSuspended
PROPERTY VALUE

Description Information about whether workflow or sales process rules


have been suspended.

DisplayName Workflow Suspended

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName workflowsuspended

RequiredLevel None

Type Boolean

WorkflowSuspended Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
DisabledReason
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
ParentBusinessUnitIdName
TransactionCurrencyIdName
UserGroupId
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the business unit.
PROPERTY VALUE

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the business unit was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


businessunit.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

DisabledReason
PROPERTY VALUE

Description Reason for disabling the business unit.

DisplayName Disable Reason

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName disabledreason

MaxLength 500

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the


businessunit with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the business
unit.
PROPERTY VALUE

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the business unit was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
businessunit.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


business unit.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ParentBusinessUnitIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentbusinessunitidname

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

UserGroupId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName usergroupid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the business unit.

DisplayName Version number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
business_unit_msdyn_connector
business_unit_exchangesyncidmapping
business_unit_interactionforemail
business_unit_knowledgearticle
business_unit_sharepointdocumentlocation
business_unit_goal
business_unit_mailbox
business_unit_recurrencerule
BusinessUnit_AsyncOperations
BusinessUnit_ImportLogs
business_unit_user_settings
BusinessUnit_SyncError
business_unit_sharepointsites
business_unit_feedback
business_unit_roles
business_unit_postfollows
business_unit_teams
business_unit_queues2
business_unit_goalrollupquery
business_unit_userquery
BusinessUnit_Imports
BusinessUnit_ImportFiles
business_unit_letter_activities
businessunit_mailboxtrackingfolder
business_unit_queues
business_unit_annotations
businessunit_callbackregistration
business_unit_workflow
business_unit_personaldocumenttemplates
businessunit_principalobjectattributeaccess
business_unit_emailserverprofile
business_unit_templates
business_unit_contacts
BulkDeleteOperation_BusinessUnit
business_unit_task_activities
business_unit_actioncards
business_unit_asyncoperation
business_unit_mailmergetemplates
businessunit_canvasapp
business_unit_userform
business_unit_category
business_unit_connections
BusinessUnit_SyncErrors
business_unit_workflowlogs
business_unit_phone_call_activities
business_unit_fax_activities
business_unit_appointment_activities
BusinessUnit_DuplicateRules
business_unit_email_activities
business_unit_socialactivity
business_unit_reports
business_unit_calendars
BusinessUnit_ImportMaps
business_unit_slakpiinstance
business_unit_recurringappointmentmaster_activities
business_unit_slabase
business_unit_userqueryvisualizations
business_unit_system_users
business_unit_socialprofiles
BusinessUnit_BulkDeleteFailures
BusinessUnit_ProcessSessions
business_unit_accounts
business_unit_parent_business_unit
Owning_businessunit_processsessions
business_unit_activitypointer
business_unit_msdyn_connector
Added by: Active Solution Solution
Same as msdyn_connector entity business_unit_msdyn_connector Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity msdyn_connector

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_msdyn_connector

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_exchangesyncidmapping
Same as exchangesyncidmapping entity business_unit_exchangesyncidmapping Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity exchangesyncidmapping

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_exchangesyncidmapping

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_interactionforemail
Same as interactionforemail entity business_unit_interactionforemail Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity interactionforemail

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_new_interactionforemail

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_knowledgearticle
Same as knowledgearticle entity business_unit_knowledgearticle Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticle

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_knowledgearticle

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_sharepointdocumentlocation
Same as sharepointdocumentlocation entity business_unit_sharepointdocumentlocation Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity sharepointdocumentlocation

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_sharepointdocumentlocation

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_goal
Same as goal entity business_unit_goal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_goal
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_mailbox
Same as mailbox entity business_unit_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailbox

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_mailbox

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_recurrencerule
Same as recurrencerule entity business_unit_recurrencerule Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity recurrencerule

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_recurrencerule
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_AsyncOperations
Same as asyncoperation entity BusinessUnit_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_ImportLogs
Same as importlog entity BusinessUnit_ImportLogs Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importlog

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_ImportLogs
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_user_settings
Same as usersettings entity business_unit_user_settings Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity usersettings

ReferencingAttribute businessunitid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_user_settings

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_SyncError
Same as syncerror entity BusinessUnit_SyncError Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_SyncError
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_sharepointsites
Same as sharepointsite entity business_unit_sharepointsites Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sharepointsite

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_sharepointsites

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_feedback
Same as feedback entity business_unit_feedback Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity feedback

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_feedback
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_roles
Same as role entity business_unit_roles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity role

ReferencingAttribute businessunitid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_roles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_postfollows
Same as postfollow entity business_unit_postfollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_postfollows
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_teams
Same as team entity business_unit_teams Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity team

ReferencingAttribute businessunitid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_teams

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_queues2
Same as queue entity business_unit_queues2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queue

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_queues2
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_goalrollupquery
Same as goalrollupquery entity business_unit_goalrollupquery Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goalrollupquery

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_goalrollupquery

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_userquery
Same as userquery entity business_unit_userquery Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity userquery

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_userquery
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_Imports
Same as import entity BusinessUnit_Imports Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity import

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_Imports

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_ImportFiles
Same as importfile entity BusinessUnit_ImportFiles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importfile

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_ImportFiles
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_letter_activities
Same as letter entity business_unit_letter_activities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_letter_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

businessunit_mailboxtrackingfolder
Same as mailboxtrackingfolder entity businessunit_mailboxtrackingfolder Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName businessunit_mailboxtrackingfolder
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_queues
Same as queue entity business_unit_queues Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queue

ReferencingAttribute businessunitid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_queues

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_annotations
Same as annotation entity business_unit_annotations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_annotations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

businessunit_callbackregistration
Same as callbackregistration entity businessunit_callbackregistration Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity callbackregistration

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName businessunit_callbackregistration

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_workflow
Same as workflow entity business_unit_workflow Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflow

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_workflow
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_personaldocumenttemplates
Same as personaldocumenttemplate entity business_unit_personaldocumenttemplates Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity personaldocumenttemplate

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_personaldocumenttemplates

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

businessunit_principalobjectattributeaccess
Same as principalobjectattributeaccess entity businessunit_principalobjectattributeaccess Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName businessunit_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_emailserverprofile
Same as emailserverprofile entity business_unit_emailserverprofile Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity emailserverprofile

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_emailserverprofile

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_templates
Same as template entity business_unit_templates Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity template

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_templates

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_contacts
Same as contact entity business_unit_contacts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity contact

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_contacts

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BulkDeleteOperation_BusinessUnit
Same as bulkdeleteoperation entity BulkDeleteOperation_BusinessUnit Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeleteoperation

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName BulkDeleteOperation_BusinessUnit

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_task_activities
Same as task entity business_unit_task_activities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_task_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_actioncards
Same as actioncard entity business_unit_actioncards Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_actioncards

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_asyncoperation
Same as asyncoperation entity business_unit_asyncoperation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_asyncoperation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_mailmergetemplates
Same as mailmergetemplate entity business_unit_mailmergetemplates Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailmergetemplate

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_mailmergetemplates

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

businessunit_canvasapp
Same as canvasapp entity businessunit_canvasapp Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity canvasapp

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName businessunit_canvasapp

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_userform
Same as userform entity business_unit_userform Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity userform

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_userform

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_category
Same as category entity business_unit_category Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity category

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_category

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_connections
Same as connection entity business_unit_connections Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_connections

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_SyncErrors
Same as syncerror entity BusinessUnit_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName BusinessUnit_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: NoCascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

business_unit_workflowlogs
Same as workflowlog entity business_unit_workflowlogs Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_workflowlogs

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_phone_call_activities
Same as phonecall entity business_unit_phone_call_activities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_phone_call_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_fax_activities
Same as fax entity business_unit_fax_activities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_fax_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_appointment_activities
Same as appointment entity business_unit_appointment_activities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_appointment_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_DuplicateRules
Same as duplicaterule entity BusinessUnit_DuplicateRules Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterule

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName BusinessUnit_DuplicateRules

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_email_activities
Same as email entity business_unit_email_activities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_email_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_socialactivity
Same as socialactivity entity business_unit_socialactivity Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_socialactivity

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_reports
Same as report entity business_unit_reports Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity report

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_reports

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_calendars
Same as calendar entity business_unit_calendars Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity calendar

ReferencingAttribute businessunitid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_calendars

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_ImportMaps
Same as importmap entity BusinessUnit_ImportMaps Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importmap

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_ImportMaps

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_slakpiinstance
Same as slakpiinstance entity business_unit_slakpiinstance Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName business_unit_slakpiinstance

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_recurringappointmentmaster_activities
Same as recurringappointmentmaster entity business_unit_recurringappointmentmaster_activities Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_recurringappointmentmaster_activities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_slabase
Same as sla entity business_unit_slabase Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sla

ReferencingAttribute owningbusinessunit

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_slabase

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_userqueryvisualizations
Same as userqueryvisualization entity business_unit_userqueryvisualizations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity userqueryvisualization

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_userqueryvisualizations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_system_users
Same as systemuser entity business_unit_system_users Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute businessunitid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_system_users

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_socialprofiles
Same as socialprofile entity business_unit_socialprofiles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialprofile

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_socialprofiles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_BulkDeleteFailures
Same as bulkdeletefailure entity BusinessUnit_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_ProcessSessions
Same as processsession entity BusinessUnit_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnit_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_accounts
Same as account entity business_unit_accounts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity account

ReferencingAttribute owningbusinessunit

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_accounts

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_parent_business_unit
Same as businessunit entity business_unit_parent_business_unit Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity businessunit

ReferencingAttribute parentbusinessunitid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName business_unit_parent_business_unit

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Owning_businessunit_processsessions
Same as processsession entity Owning_businessunit_processsessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute owningbusinessunit

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName Owning_businessunit_processsessions

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

business_unit_activitypointer
Same as activitypointer entity business_unit_activitypointer Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute owningbusinessunit

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName business_unit_activitypointer

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
TransactionCurrency_BusinessUnit
lk_businessunitbase_createdby
lk_businessunit_modifiedonbehalfby
business_unit_parent_business_unit
organization_business_units
lk_businessunit_createdonbehalfby
lk_businessunitbase_modifiedby
BusinessUnit_Calendar
TransactionCurrency_BusinessUnit
See transactioncurrency Entity TransactionCurrency_BusinessUnit One-To-Many relationship.
lk_businessunitbase_createdby
See systemuser Entity lk_businessunitbase_createdby One-To-Many relationship.
lk_businessunit_modifiedonbehalfby
See systemuser Entity lk_businessunit_modifiedonbehalfby One-To-Many relationship.
business_unit_parent_business_unit
See businessunit Entity business_unit_parent_business_unit One-To-Many relationship.
organization_business_units
See organization Entity organization_business_units One-To-Many relationship.
lk_businessunit_createdonbehalfby
See systemuser Entity lk_businessunit_createdonbehalfby One-To-Many relationship.
lk_businessunitbase_modifiedby
See systemuser Entity lk_businessunitbase_modifiedby One-To-Many relationship.
BusinessUnit_Calendar
See calendar Entity BusinessUnit_Calendar One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
businessunit EntityType
BusinessUnitNewsArticle Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Announcement associated with an organization.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/businessunitnewsarti Create
cles
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/businessunitnewsarti Delete
cles(businessunitnewsarticleid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/businessunitnewsarti Retrieve
cles(businessunitnewsarticleid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/businessunitnewsarti RetrieveMultiple
cles
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/businessunitnewsarti Update
cles(businessunitnewsarticleid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName BusinessUnitNewsArticles

DisplayCollectionName Announcements

DisplayName Announcement

EntitySetName businessunitnewsarticles

IsBPFEntity False

LogicalCollectionName businessunitnewsarticles

LogicalName businessunitnewsarticle
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute businessunitnewsarticleid

PrimaryNameAttribute articletitle

SchemaName BusinessUnitNewsArticle

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActiveOn
ActiveUntil
ArticleTitle
ArticleTypeCode
ArticleUrl
BusinessUnitNewsArticleId
ImportSequenceNumber
NewsArticle
OverriddenCreatedOn
ShowOnHomepage
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
ActiveOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time for the announcement to become active.

DisplayName Active On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName activeon

RequiredLevel None

Type DateTime

ActiveUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time of the last day the announcement is active.

DisplayName Expiration Date

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName activeuntil

RequiredLevel None

Type DateTime

ArticleTitle
PROPERTY VALUE

Description Title of the announcement.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName articletitle

MaxLength 300

RequiredLevel ApplicationRequired

Type String

ArticleTypeCode
PROPERTY VALUE

Description Type of announcement.

DisplayName Visible To

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName articletypecode

RequiredLevel None

Type Picklist

ArticleTypeCode Options

VALUE LABEL

1 All Users

2 Sales Users

3 Service Users

ArticleUrl
PROPERTY VALUE

Description URL for the Website on which the announcement is located.

DisplayName More Information URL

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName articleurl

MaxLength 200

RequiredLevel None

Type String

BusinessUnitNewsArticleId
PROPERTY VALUE

Description Unique identifier of the announcement.

DisplayName Announcement

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName businessunitnewsarticleid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

NewsArticle
PROPERTY VALUE

Description Text for the announcement.

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName newsarticle

MaxLength 1073741823

RequiredLevel ApplicationRequired

Type Memo

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ShowOnHomepage
PROPERTY VALUE

Description Information about whether to show the announcement on the


Website home page.

DisplayName Show in Workplace

IsValidForForm False

IsValidForRead True

LogicalName showonhomepage

RequiredLevel None
PROPERTY VALUE

Type Boolean

ShowOnHomepage Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode
PROPERTY VALUE

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the announcement.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup
CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the announcement was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


businessunitnewsarticle.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the


announcement.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String
ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the announcement was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
businessunitnewsarticle.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


announcement.

DisplayName Organization

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None
PROPERTY VALUE

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
BusinessUnitNewsArticle_ProcessSessions
BusinessUnitNewsArticle_AsyncOperations
BusinessUnitNewsArticle_BulkDeleteFailures
BusinessUnitNewsArticle_ProcessSessions
Same as processsession entity BusinessUnitNewsArticle_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnitNewsArticle_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnitNewsArticle_AsyncOperations
Same as asyncoperation entity BusinessUnitNewsArticle_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnitNewsArticle_AsyncOperations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnitNewsArticle_BulkDeleteFailures
Same as bulkdeletefailure entity BusinessUnitNewsArticle_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName BusinessUnitNewsArticle_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_businessunitnewsarticle_createdonbehalfby
organization_business_unit_news_articles
lk_businessunitnewsarticle_modifiedonbehalfby
lk_businessunitnewsarticlebase_createdby
lk_businessunitnewsarticlebase_modifiedby
lk_businessunitnewsarticle_createdonbehalfby
See systemuser Entity lk_businessunitnewsarticle_createdonbehalfby One-To-Many relationship.
organization_business_unit_news_articles
See organization Entity organization_business_unit_news_articles One-To-Many relationship.
lk_businessunitnewsarticle_modifiedonbehalfby
See systemuser Entity lk_businessunitnewsarticle_modifiedonbehalfby One-To-Many relationship.
lk_businessunitnewsarticlebase_createdby
See systemuser Entity lk_businessunitnewsarticlebase_createdby One-To-Many relationship.
lk_businessunitnewsarticlebase_modifiedby
See systemuser Entity lk_businessunitnewsarticlebase_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
businessunitnewsarticle EntityType
Calendar Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Calendar used by the scheduling system to define when an appointment or activity is to occur.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/calendars CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/calendars(calendarid Delete
)
See Delete

ExpandCalendar ExpandCalendar Function ExpandCalendarRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/calendars(calendarid Retrieve
)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/calendars RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/calendars(calendarid Update
)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Calendars

DisplayCollectionName Calendars

DisplayName Calendar

EntitySetName calendars

IsBPFEntity False

LogicalCollectionName calendars

LogicalName calendar
PROPERTY VALUE

OwnershipType BusinessOwned

PrimaryIdAttribute calendarid

PrimaryNameAttribute name

SchemaName Calendar

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
BusinessUnitId
CalendarId
Description
HolidayScheduleCalendarId
IsShared
Name
PrimaryUserId
Type
BusinessUnitId
PROPERTY VALUE

Description Unique identifier of the business unit with which the calendar
is associated.

DisplayName Business Unit

IsValidForForm False

IsValidForRead True

LogicalName businessunitid

RequiredLevel None

Targets businessunit

Type Lookup

CalendarId
PROPERTY VALUE

Description Unique identifier of the calendar.

DisplayName Calendar
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName calendarid

RequiredLevel SystemRequired

Type Uniqueidentifier

Description
PROPERTY VALUE

Description Calendar used by the scheduling system to define when an


appointment or activity is to occur.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

HolidayScheduleCalendarId
PROPERTY VALUE

Description Holiday Schedule CalendarId

DisplayName Holiday Schedule CalendarId

IsValidForForm True

IsValidForRead True

LogicalName holidayschedulecalendarid
PROPERTY VALUE

RequiredLevel None

Targets calendar

Type Lookup

IsShared
PROPERTY VALUE

Description Calendar is shared by other calendars, such as the


organization calendar.

DisplayName Is Shared

IsValidForForm False

IsValidForRead True

LogicalName isshared

RequiredLevel SystemRequired

Type Boolean

IsShared Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Name
PROPERTY VALUE

Description Name of the calendar.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name
PROPERTY VALUE

MaxLength 160

RequiredLevel None

Type String

PrimaryUserId
PROPERTY VALUE

Description Unique identifier of the primary user of this calendar.

DisplayName Primary User

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName primaryuserid

RequiredLevel ApplicationRequired

Type Uniqueidentifier

Type
PROPERTY VALUE

Description Calendar type, such as User work hour calendar, or Customer


service hour calendar.

DisplayName Calendar type

IsValidForForm True

IsValidForRead True

LogicalName type

RequiredLevel SystemRequired

Type Picklist

Type Options

VALUE LABEL

-1 Inner Calendar type


VALUE LABEL

0 Default

1 Customer Service

2 Holiday Schedule

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
BusinessUnitIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
HolidayScheduleCalendarIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
VersionNumber
BusinessUnitIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName businessunitidname
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the calendar.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the calendar was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


calendar.

DisplayName Created By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

HolidayScheduleCalendarIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName holidayschedulecalendaridname

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the calendar.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup
ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the calendar was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
calendar.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the calendar is


associated.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired
PROPERTY VALUE

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt
One-To-Many Relationships
Listed by SchemaName.
calendar_system_users
Calendar_AsyncOperations
Calendar_Annotation
calendar_customercalendar_holidaycalendar
Calendar_BulkDeleteFailures
BusinessUnit_Calendar
slabase_businesshoursid
calendar_organization
calendar_system_users
Same as systemuser entity calendar_system_users Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute calendarid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName calendar_system_users

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Calendar_AsyncOperations
Same as asyncoperation entity Calendar_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Calendar_AsyncOperations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Calendar_Annotation
Same as annotation entity Calendar_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Calendar_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

calendar_customercalendar_holidaycalendar
Same as calendar entity calendar_customercalendar_holidaycalendar Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity calendar

ReferencingAttribute holidayschedulecalendarid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName calendar_customercalendar_holidaycalendar

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Calendar_BulkDeleteFailures
Same as bulkdeletefailure entity Calendar_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Calendar_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

BusinessUnit_Calendar
Same as businessunit entity BusinessUnit_Calendar Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity businessunit

ReferencingAttribute calendarid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName BusinessUnit_Calendar

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slabase_businesshoursid
Same as sla entity slabase_businesshoursid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sla

ReferencingAttribute businesshoursid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName slabase_businesshoursid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

calendar_organization
Same as organization entity calendar_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity organization

ReferencingAttribute businessclosurecalendarid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName calendar_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_calendar_createdby
lk_calendar_createdonbehalfby
lk_calendar_modifiedby
organization_calendars
calendar_customercalendar_holidaycalendar
lk_calendar_modifiedonbehalfby
business_unit_calendars
lk_calendar_createdby
See systemuser Entity lk_calendar_createdby One-To-Many relationship.
lk_calendar_createdonbehalfby
See systemuser Entity lk_calendar_createdonbehalfby One-To-Many relationship.
lk_calendar_modifiedby
See systemuser Entity lk_calendar_modifiedby One-To-Many relationship.
organization_calendars
See organization Entity organization_calendars One-To-Many relationship.
calendar_customercalendar_holidaycalendar
See calendar Entity calendar_customercalendar_holidaycalendar One-To-Many relationship.
lk_calendar_modifiedonbehalfby
See systemuser Entity lk_calendar_modifiedonbehalfby One-To-Many relationship.
business_unit_calendars
See businessunit Entity business_unit_calendars One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
calendar EntityType
CallbackRegistration Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Callback Registration that stores configuration.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/callbackregistrations Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/callbackregistrations( Delete
callbackregistrationid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/callbackregistrations( Retrieve
callbackregistrationid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/callbackregistrations RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/callbackregistrations( Update
callbackregistrationid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName CallbackRegistrations

DisplayCollectionName Callback Registrations

DisplayName Callback Registration

EntitySetName callbackregistrations

IsBPFEntity False

LogicalCollectionName callbackregistrations

LogicalName callbackregistration
PROPERTY VALUE

OwnershipType UserOwned

PrimaryIdAttribute callbackregistrationid

PrimaryNameAttribute name

SchemaName CallbackRegistration

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CallbackRegistrationId
EntityName
FilteringAttributes
Message
Name
OwnerId
OwnerIdType
Scope
Url
Version
CallbackRegistrationId
PROPERTY VALUE

Description Unique identifier of the callback registration.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName callbackregistrationid

RequiredLevel SystemRequired

Type Uniqueidentifier

EntityName
PROPERTY VALUE

Description Entity Name.


PROPERTY VALUE

DisplayName Entity Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName entityname

MaxLength 255

RequiredLevel SystemRequired

Type String

FilteringAttributes
PROPERTY VALUE

Description Comma-separated list of attributes. If at least one of these


attributes is modified, the callback url should be called.

DisplayName Filtering Attributes

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName filteringattributes

MaxLength 100000

RequiredLevel None

Type String

Message
PROPERTY VALUE

Description Specifies the message type

DisplayName Specifies the message type


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName message

RequiredLevel SystemRequired

Type Picklist

Message Options

VALUE LABEL

1 Create

2 Delete

3 Update

Name
PROPERTY VALUE

Description Name of callback registration.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel SystemRequired

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the callback
registration.
PROPERTY VALUE

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Scope
PROPERTY VALUE

Description Specifies the Scope

DisplayName Specifies the scope type

IsValidForForm True

IsValidForRead True

LogicalName scope

RequiredLevel SystemRequired

Type Picklist

Scope Options
VALUE LABEL

1 User

2 BusinessUnit

3 ParentChildBusinessUnit

4 Organization

Url
PROPERTY VALUE

Description Full callback registration Url.

DisplayName Url Address

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName url

MaxLength 2000

RequiredLevel SystemRequired

Type String

Version
PROPERTY VALUE

Description Specifies the Callback registration version type

DisplayName Specifies the Callback registration version type

IsValidForForm True

IsValidForRead True

LogicalName version

RequiredLevel SystemRequired

Type Picklist

Version Options
VALUE LABEL

1 V1

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwningBusinessUnit
OwningBusinessUnitName
OwningTeam
OwningUser
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the callback registration was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the callback registration was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the callback
registration.

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningBusinessUnitName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunitname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the callback


registration.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the callback


registration.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_callbackregistration_modifiedonbehalfby
lk_callbackregistration_modifiedby
lk_callbackregistration_createdby
businessunit_callbackregistration
lk_callbackregistration_createdonbehalfby
lk_callbackregistration_modifiedonbehalfby
See systemuser Entity lk_callbackregistration_modifiedonbehalfby One-To-Many relationship.
lk_callbackregistration_modifiedby
See systemuser Entity lk_callbackregistration_modifiedby One-To-Many relationship.
lk_callbackregistration_createdby
See systemuser Entity lk_callbackregistration_createdby One-To-Many relationship.
businessunit_callbackregistration
See businessunit Entity businessunit_callbackregistration One-To-Many relationship.
lk_callbackregistration_createdonbehalfby
See systemuser Entity lk_callbackregistration_createdonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.callbackregistration
CanvasApp Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

An application built through a canvas-based editing experience.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/canvasapps(canvasa
ppid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/canvasapps Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/canvasapps(canvasa Delete
ppid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/canvasapps(canvasa Retrieve
ppid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/canvasapps RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RevokeAccess RevokeAccess Action RevokeAccessRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/canvasapps(canvasa Update
ppid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Canvas Apps

DisplayCollectionName Canvas Apps

DisplayName Canvas App

EntitySetName canvasapps
PROPERTY VALUE

IsBPFEntity False

LogicalCollectionName canvasapps

LogicalName canvasapp

OwnershipType UserOwned

PrimaryIdAttribute canvasappid

PrimaryNameAttribute name

SchemaName CanvasApp

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AADCreatedById
AADLastModifiedById
AADLastPublishedById
AdminControlBypassConsent
AppOpenUri
AppVersion
AuthorizationReferences
BackgroundColor
BypassConsent
CanvasAppId
CommitMessage
ConnectionReferences
CreatedByClientVersion
CreatedTime
Description
DisplayName
EmbeddedApp
GalleryItemId
IntroducedVersion
IsCdsUpgraded
IsFeaturedApp
IsHeroApp
IsHidden
LastModifiedTime
LastPublishTime
MinClientVersion
Name
OwnerId
OwnerIdType
Publisher
Status
Tags
AADCreatedById
PROPERTY VALUE

Description Unique identifier of the user who created the canvas app.

DisplayName Created By

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName aadcreatedbyid

MaxLength 100

RequiredLevel None

Type String

AADLastModifiedById
PROPERTY VALUE

Description Unique identifier of the user who last modified the application.

DisplayName Last Modified By

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName aadlastmodifiedbyid

MaxLength 100

RequiredLevel SystemRequired

Type String
AADLastPublishedById
PROPERTY VALUE

Description Unique identifier of the user who last published the


application.

DisplayName Last Published By

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName aadlastpublishedbyid

MaxLength 100

RequiredLevel SystemRequired

Type String

AdminControlBypassConsent
PROPERTY VALUE

Description Indicates whether the canvas app was marked for bypass
consent by an admin.

DisplayName Admin Control Bypass Consent

IsValidForForm False

IsValidForRead True

LogicalName admincontrolbypassconsent

RequiredLevel None

Type Boolean

AdminControlBypassConsent Options

VALUE LABEL

1 True

0 False

DefaultValue: False
AppOpenUri
PROPERTY VALUE

Description The app open URI.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName appopenuri

MaxLength 2000

RequiredLevel None

Type Memo

AppVersion
PROPERTY VALUE

Description The application version.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName appversion

MaxLength 2000

RequiredLevel SystemRequired

Type Memo

AuthorizationReferences
PROPERTY VALUE

Description The authorization references of the application.

DisplayName
PROPERTY VALUE

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName authorizationreferences

MaxLength 2000

RequiredLevel None

Type Memo

BackgroundColor
PROPERTY VALUE

Description The background image color.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName backgroundcolor

MaxLength 2000

RequiredLevel None

Type Memo

BypassConsent
PROPERTY VALUE

Description Indicates whether the canvas app should bypass consent from
consumers.

DisplayName Bypass Consent

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName bypassconsent

RequiredLevel None

Type Boolean

BypassConsent Options

VALUE LABEL

1 True

0 False

DefaultValue: False
CanvasAppId
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName canvasappid

RequiredLevel SystemRequired

Type Uniqueidentifier

CommitMessage
PROPERTY VALUE

Description The commit message of the app.

DisplayName The commit message.

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName commitmessage

MaxLength 2000

RequiredLevel None

Type Memo

ConnectionReferences
PROPERTY VALUE

Description The connection references of the application.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName connectionreferences

MaxLength 768000

RequiredLevel None

Type Memo

CreatedByClientVersion
PROPERTY VALUE

Description The version of the client that was used to author the
application.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyclientversion
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the application was created.

DisplayName Created Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdtime

RequiredLevel None

Type DateTime

Description
PROPERTY VALUE

Description The description of the app.

DisplayName The description.

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo
DisplayName
PROPERTY VALUE

Description The display name of the app.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName displayname

MaxLength 2000

RequiredLevel None

Type Memo

EmbeddedApp
PROPERTY VALUE

Description Internal use. The embedded app information.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName embeddedapp

MaxLength 2000

RequiredLevel None

Type Memo

GalleryItemId
PROPERTY VALUE

Description The gallery item identifier.


PROPERTY VALUE

DisplayName The gallery item identifier

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName galleryitemid

MaxLength 2000

RequiredLevel None

Type Memo

IntroducedVersion
PROPERTY VALUE

Description Version in which the canvas app is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

IsCdsUpgraded
PROPERTY VALUE

Description Indicates whether the canvas app contains CDS 1.0 references.

DisplayName Is CDS Upgraded


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName iscdsupgraded

RequiredLevel None

Type Boolean

IsCdsUpgraded Options

VALUE LABEL

1 True

0 False

DefaultValue: False
IsFeaturedApp
PROPERTY VALUE

Description Indicates whether the canvas app is a featured app.

DisplayName Is Featured App

IsValidForForm False

IsValidForRead True

LogicalName isfeaturedapp

RequiredLevel None

Type Boolean

IsFeaturedApp Options

VALUE LABEL

1 True

0 False

DefaultValue: False
IsHeroApp
PROPERTY VALUE

Description Indicates whether the canvas app is a hero app.


PROPERTY VALUE

DisplayName Is Hero App

IsValidForForm False

IsValidForRead True

LogicalName isheroapp

RequiredLevel None

Type Boolean

IsHeroApp Options

VALUE LABEL

1 True

0 False

DefaultValue: False
IsHidden
PROPERTY VALUE

Description Indicates whether the canvas app is hidden from a user's list.

DisplayName Is Hidden

IsValidForForm False

IsValidForRead True

LogicalName ishidden

RequiredLevel None

Type Boolean

IsHidden Options

VALUE LABEL

1 True

0 False

DefaultValue: False
LastModifiedTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the application was last modified.

DisplayName Last Modified Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastmodifiedtime

RequiredLevel None

Type DateTime

LastPublishTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the application was last published.

DisplayName Last Publish Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastpublishtime

RequiredLevel None

Type DateTime

MinClientVersion
PROPERTY VALUE

Description The version of the client that was used to author the
application.

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName minclientversion

MaxLength 100

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the CanvasApp

DisplayName CanvasApp Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the canvas
app.

DisplayName Owner

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Publisher
PROPERTY VALUE

Description The publisher of the app.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName publisher

MaxLength 2000

RequiredLevel None

Type Memo

Status
PROPERTY VALUE

Description A value indicating whether the application is ready for


consumption.

DisplayName Status

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName status

MaxLength 2000

RequiredLevel None

Type Memo

Tags
PROPERTY VALUE

Description The metadata tags of the application.

DisplayName

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName tags

MaxLength 2000

RequiredLevel None

Type Memo

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CanvasAppRowId
ComponentState
IsManaged
OverwriteTime
OwnerIdName
OwningBusinessUnit
OwningBusinessUnitName
OwningTeam
OwningUser
SolutionId
SupportingSolutionId
VersionNumber
CanvasAppRowId
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName canvasapprowid

RequiredLevel SystemRequired

Type Uniqueidentifier

ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published
VALUE LABEL

1 Unpublished

2 Deleted

3 Deleted Unpublished

IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime
PROPERTY VALUE

RequiredLevel SystemRequired

Type DateTime

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the process.

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningBusinessUnitName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunitname

MaxLength 100

RequiredLevel None

Type String

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the process.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the process.

DisplayName Owning User

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
businessunit_canvasapp
FK_CanvasApp_Solution
businessunit_canvasapp
See businessunit Entity businessunit_canvasapp One-To-Many relationship.
FK_CanvasApp_Solution
See solution Entity FK_CanvasApp_Solution One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.canvasapp
Category Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

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

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/categories(categoryi
d)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/categories CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/categories(categoryi Delete
d)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/categories(categoryi Retrieve
d)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/categories RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/categories(categoryi Update
d)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Categories

DisplayCollectionName Categories
PROPERTY VALUE

DisplayName Category

EntitySetName categories

IsBPFEntity False

LogicalCollectionName categories

LogicalName category

OwnershipType UserOwned

PrimaryIdAttribute categoryid

PrimaryNameAttribute title

SchemaName Category

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CategoryId
CategoryNumber
Description
ImportSequenceNumber
OverriddenCreatedOn
OwnerId
OwnerIdType
ParentCategoryId
SequenceNumber
Title
TransactionCurrencyId
CategoryId
PROPERTY VALUE

Description Shows the category.

DisplayName Category ID

IsValidForForm True

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName categoryid

RequiredLevel SystemRequired

Type Uniqueidentifier

CategoryNumber
PROPERTY VALUE

Description Shows the category number for customer reference.

DisplayName Category Number

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName categorynumber

MaxLength 4000

RequiredLevel SystemRequired

Type String

Description
PROPERTY VALUE

Description Type a detailed description of the category

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None
PROPERTY VALUE

Type Memo

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None
PROPERTY VALUE

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

ParentCategoryId
PROPERTY VALUE

Description Select an existing category article for the category.

DisplayName Parent Category

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName parentcategoryid

RequiredLevel None

Targets category

Type Lookup

SequenceNumber
PROPERTY VALUE

Description Enter a number to define the display position of the category


in the hierarchy.

DisplayName Display Order

Format None

IsValidForForm True

IsValidForRead True

LogicalName sequencenumber

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

Title
PROPERTY VALUE

Description Type a title for the Category.

DisplayName Title

FormatName Text

IsLocalizable True

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName title

MaxLength 155

RequiredLevel SystemRequired

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwningBusinessUnit
OwningTeam
OwningUser
ParentCategoryIdName
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Record Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup
ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Shows the business unit that the record owner belongs to.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the category.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns this category.


PROPERTY VALUE

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ParentCategoryIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentcategoryidname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
category_parent_category
Category_SyncErrors
category_parent_category
Same as category entity category_parent_category Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity category

ReferencingAttribute parentcategoryid

IsHierarchical True

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName category_parent_category

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 10

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Category_SyncErrors
Same as syncerror entity Category_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Category_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
category_parent_category
lk_category_createdonbehalfby
transactioncurrency_category
lk_category_createdby
lk_category_modifiedonbehalfby
lk_category_modifiedby
business_unit_category
category_parent_category
See category Entity category_parent_category One-To-Many relationship.
lk_category_createdonbehalfby
See systemuser Entity lk_category_createdonbehalfby One-To-Many relationship.
transactioncurrency_category
See transactioncurrency Entity transactioncurrency_category One-To-Many relationship.
lk_category_createdby
See systemuser Entity lk_category_createdby One-To-Many relationship.
lk_category_modifiedonbehalfby
See systemuser Entity lk_category_modifiedonbehalfby One-To-Many relationship.
lk_category_modifiedby
See systemuser Entity lk_category_modifiedby One-To-Many relationship.
business_unit_category
See businessunit Entity business_unit_category One-To-Many relationship.

Many-To-Many Relationships
Relationship details provided where the Category entity is the first entity in the relationship. Listed by
SchemaName.
knowledgearticle_category
See knowledgearticle Entity knowledgearticle_category Many-To-Many Relationship.
See also
About the Entity Reference
Web API Reference
category EntityType
ColumnMapping Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Mapping for columns in a data map.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/columnmappings Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/columnmappings(col Delete
umnmappingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/columnmappings(col Retrieve
umnmappingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/columnmappings RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName ColumnMappings

DisplayCollectionName Column Mappings

DisplayName Column Mapping

EntitySetName columnmappings

IsBPFEntity False

LogicalCollectionName columnmappings

LogicalName columnmapping

OwnershipType None

PrimaryIdAttribute columnmappingid

PrimaryNameAttribute sourceattributename
PROPERTY VALUE

SchemaName ColumnMapping

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ColumnMappingId
ImportMapId
IntroducedVersion
ProcessCode
SourceAttributeName
SourceEntityName
StatusCode
TargetAttributeName
TargetEntityName
ColumnMappingId
PROPERTY VALUE

Description Unique identifier of the column mapping.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName columnmappingid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportMapId
PROPERTY VALUE

Description Unique identifier of the associated data map.

DisplayName Data Map ID

IsValidForForm True

IsValidForRead True

LogicalName importmapid
PROPERTY VALUE

RequiredLevel ApplicationRequired

Targets importmap

Type Lookup

IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

ProcessCode
PROPERTY VALUE

Description Information about whether the column mapping needs to be


processed.

DisplayName Process Code

IsValidForForm True

IsValidForRead True

LogicalName processcode

RequiredLevel SystemRequired

Type Picklist

ProcessCode Options
VALUE LABEL

1 Process

2 Ignore

3 Internal

SourceAttributeName
PROPERTY VALUE

Description Name of the source attribute.

DisplayName Source Attribute

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName sourceattributename

MaxLength 160

RequiredLevel ApplicationRequired

Type String

SourceEntityName
PROPERTY VALUE

Description Name of the source entity.

DisplayName Source Entity Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName sourceentityname

MaxLength 160

RequiredLevel ApplicationRequired
PROPERTY VALUE

Type String

StatusCode
PROPERTY VALUE

Description Reason for the status of the column mapping.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

TargetAttributeName
PROPERTY VALUE

Description Name of the Microsoft Dynamics 365 attribute.

DisplayName Target Attribute

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName targetattributename

MaxLength 160

RequiredLevel None

Type String

TargetEntityName
PROPERTY VALUE

Description Name of the Microsoft Dynamics 365 entity.

DisplayName Target Entity

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName targetentityname

MaxLength 160

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ColumnMappingIdUnique
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportMapIdName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
SolutionId
StateCode
SupportingSolutionId
ColumnMappingIdUnique
PROPERTY VALUE

Description Unique identifier of the Column Mapping.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName columnmappingidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the column


mapping.
PROPERTY VALUE

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the column mapping was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


columnmapping.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ImportMapIdName
PROPERTY VALUE

Description Name of the associated data map.

DisplayName Data Map

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName importmapidname

MaxLength 100

RequiredLevel SystemRequired

Type String

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the column
mapping.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the column mapping was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
columnmapping.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Status of the column mapping.

DisplayName Status

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

One-To-Many Relationships
Listed by SchemaName.
PickListMapping_ColumnMapping
LookUpMapping_ColumnMapping
PickListMapping_ColumnMapping
Same as picklistmapping entity PickListMapping_ColumnMapping Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity picklistmapping

ReferencingAttribute columnmappingid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName PickListMapping_ColumnMapping

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

LookUpMapping_ColumnMapping
Same as lookupmapping entity LookUpMapping_ColumnMapping Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity lookupmapping

ReferencingAttribute columnmappingid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName LookUpMapping_ColumnMapping

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_columnmapping_createdonbehalfby
lk_columnmapping_createdby
ColumnMapping_ImportMap
lk_columnmapping_modifiedonbehalfby
lk_columnmapping_modifiedby
lk_columnmapping_createdonbehalfby
See systemuser Entity lk_columnmapping_createdonbehalfby One-To-Many relationship.
lk_columnmapping_createdby
See systemuser Entity lk_columnmapping_createdby One-To-Many relationship.
ColumnMapping_ImportMap
See importmap Entity ColumnMapping_ImportMap One-To-Many relationship.
lk_columnmapping_modifiedonbehalfby
See systemuser Entity lk_columnmapping_modifiedonbehalfby One-To-Many relationship.
lk_columnmapping_modifiedby
See systemuser Entity lk_columnmapping_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
columnmapping EntityType
Connection Entity Reference
4/3/2019 • 12 minutes to read • Edit Online

Relationship between two entities.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/connections(connecti
onid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/connections Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/connections(connecti Delete
onid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/connections(connecti Retrieve
onid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/connections RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/connections(connecti
onid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/connections(connecti Update
onid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Connections

DisplayCollectionName Connections

DisplayName Connection

EntitySetName connections

IsBPFEntity False

LogicalCollectionName connections

LogicalName connection

OwnershipType UserOwned

PrimaryIdAttribute connectionid

PrimaryNameAttribute name

SchemaName Connection

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ConnectionId
Description
EffectiveEnd
EffectiveStart
EntityImage
ImportSequenceNumber
OverriddenCreatedOn
OwnerId
OwnerIdType
Record1Id
Record1IdObjectTypeCode
Record1RoleId
Record2Id
Record2IdObjectTypeCode
Record2RoleId
StateCode
StatusCode
TransactionCurrencyId
ConnectionId
PROPERTY VALUE

Description Unique identifier of the connection.

DisplayName Connection

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName connectionid

RequiredLevel SystemRequired

Type Uniqueidentifier

Description
PROPERTY VALUE

Description Type additional information to describe the connection, such


as the length or quality of the relationship.

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

EffectiveEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the end date of the connection.

DisplayName Ending

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName effectiveend

RequiredLevel None

Type DateTime

EffectiveStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the start date of the connection.

DisplayName Starting

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName effectivestart

RequiredLevel None

Type DateTime

EntityImage
PROPERTY VALUE

Description The default image for the entity.

DisplayName Entity Image

IsPrimaryImage False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Type of the owner of the connection, such as user, team, or


business unit.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
PROPERTY VALUE

Type EntityName

Record1Id
PROPERTY VALUE

Description Choose the primary account, contact, or other record involved


in the connection.

DisplayName Connected From

IsValidForForm True

IsValidForRead True

LogicalName record1id

RequiredLevel None

Targets account,activitypointer,appointment,channelaccessprofilerule,c
ontact,email,fax,goal,knowledgearticle,knowledgebaserecord,let
ter,phonecall,position,processsession,recurringappointmentma
ster,socialactivity,socialprofile,systemuser,task,team,territory

Type Lookup

Record1IdObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName record1idobjecttypecode

RequiredLevel None

Type EntityName

Record1RoleId
PROPERTY VALUE

Description Choose the primary party's role or relationship with the


second party.

DisplayName Role (From)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName record1roleid

RequiredLevel None

Targets connectionrole

Type Lookup

Record2Id
PROPERTY VALUE

Description Select the secondary account, contact, or other record


involved in the connection.

DisplayName Connected To

IsValidForForm True

IsValidForRead True

LogicalName record2id

RequiredLevel None

Targets account,activitypointer,appointment,channelaccessprofilerule,c
ontact,email,fax,goal,knowledgearticle,knowledgebaserecord,let
ter,phonecall,position,processsession,recurringappointmentma
ster,socialactivity,socialprofile,systemuser,task,team,territory

Type Lookup

Record2IdObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName record2idobjecttypecode

RequiredLevel None
PROPERTY VALUE

Type EntityName

Record2RoleId
PROPERTY VALUE

Description Choose the secondary party's role or relationship with the


primary party.

DisplayName Role (To)

IsValidForForm True

IsValidForRead True

LogicalName record2roleid

RequiredLevel None

Targets connectionrole

Type Lookup

StateCode
PROPERTY VALUE

Description Shows whether the connection is active or inactive. Inactive


connections are read-only and can't be edited unless they are
reactivated.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive
StatusCode
PROPERTY VALUE

Description Reason for the status of the connection.

DisplayName Status Reason

IsValidForForm False

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EntityImage_Timestamp
EntityImage_URL
EntityImageId
ExchangeRate
IsMaster
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
Name
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
Record1IdName
Record1ObjectTypeCode
Record1RoleIdName
Record2IdName
Record2ObjectTypeCode
Record2RoleIdName
RelatedConnectionId
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedByName
PROPERTY VALUE

Description Name of the user who created the connection.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description YomiName of the user who created the connection.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807
PROPERTY VALUE

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid

RequiredLevel None

Type Uniqueidentifier

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

IsMaster
PROPERTY VALUE

Description Indicates that this is the master record.

DisplayName Is Master

IsValidForForm False

IsValidForRead True

LogicalName ismaster

RequiredLevel SystemRequired

Type Boolean

IsMaster Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description Name of the user who last modified the connection.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description YomiName of the user who last modified the connection.

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String
Name
PROPERTY VALUE

Description Name of the connection.

DisplayName Connection Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 500

RequiredLevel ApplicationRequired

Type String

OwnerIdName
PROPERTY VALUE

Description Name of the owner of the connection.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Shows the business unit that the record owner belongs to.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the connection.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam
PROPERTY VALUE

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the connection.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

Record1IdName
PROPERTY VALUE

Description Display name for the source record.

DisplayName Name (From)

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName record1idname

MaxLength 500

RequiredLevel None

Type String

Record1ObjectTypeCode
PROPERTY VALUE

Description Shows the record type of the source record.

DisplayName Type (From)

IsValidForForm True

IsValidForRead True

LogicalName record1objecttypecode

RequiredLevel None

Type Picklist

Record1ObjectTypeCode Options

VALUE LABEL

1 Account

2 Contact

8 User

9 Team

50 Position

99 Social Profile

2013 Territory

4200 Activity

4201 Appointment

4202 Email

4204 Fax

4207 Letter

4210 Phone Call

4212 Task

4216 Social Activity

4251 Recurring Appointment

4710 Process Session


VALUE LABEL

9400 Channel Access Profile Rule

9600 Goal

9930 Knowledge Base Record

9953 Knowledge Article

Record1RoleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName record1roleidname

MaxLength 100

RequiredLevel SystemRequired

Type String

Record2IdName
PROPERTY VALUE

Description Display name for the target record.

DisplayName Name (To)

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName record2idname

MaxLength 500
PROPERTY VALUE

RequiredLevel None

Type String

Record2ObjectTypeCode
PROPERTY VALUE

Description Shows the record type of the target record.

DisplayName Type (To)

IsValidForForm True

IsValidForRead True

LogicalName record2objecttypecode

RequiredLevel None

Type Picklist

Record2ObjectTypeCode Options

VALUE LABEL

1 Account

2 Contact

8 User

9 Team

50 Position

99 Social Profile

2013 Territory

4200 Activity

4201 Appointment

4202 Email

4204 Fax

4207 Letter

4210 Phone Call


VALUE LABEL

4212 Task

4216 Social Activity

4251 Recurring Appointment

4710 Process Session

9400 Channel Access Profile Rule

9600 Goal

9930 Knowledge Base Record

9953 Knowledge Article

Record2RoleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName record2roleidname

MaxLength 100

RequiredLevel SystemRequired

Type String

RelatedConnectionId
PROPERTY VALUE

Description Unique identifier for the reciprocal connection record.

DisplayName Reciprocal Connection

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName relatedconnectionid

RequiredLevel ApplicationRequired

Targets connection

Type Lookup

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the connection.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None
PROPERTY VALUE

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
Connection_AsyncOperations
connection_related_connection
connection_principalobjectattributeaccess
Connection_SyncErrors
Connection_ProcessSessions
Connection_AsyncOperations
Same as asyncoperation entity Connection_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Connection_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

connection_related_connection
Same as connection entity connection_related_connection Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute relatedconnectionid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName connection_related_connection

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

connection_principalobjectattributeaccess
Same as principalobjectattributeaccess entity connection_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName connection_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Connection_SyncErrors
Same as syncerror entity Connection_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName Connection_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Connection_ProcessSessions
Same as processsession entity Connection_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Connection_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
territory_connections1
territory_connections2
knowledgearticle_connections1
knowledgearticle_connections2
KnowledgeBaseRecord_connections1
KnowledgeBaseRecord_connections2
processsession_connections1
contact_connections1
recurringappointmentmaster_connections1
processsession_connections2
letter_connections1
connection_role_connections2
systemuser_connections2
letter_connections2
appointment_connections1
email_connections1
account_connections1
fax_connections2
activitypointer_connections2
socialprofile_connections2
createdby_connection
account_connections2
phonecall_connections1
task_connections1
modifiedby_connection
appointment_connections2
phonecall_connections2
TransactionCurrency_Connection
task_connections2
fax_connections1
position_connection2
goal_connections1
connection_role_connections1
position_connection1
email_connections2
team_connections1
lk_connectionbase_modifiedonbehalfby
socialactivity_connections1
connection_related_connection
contact_connections2
lk_connectionbase_createdonbehalfby
activitypointer_connections1
systemuser_connections1
team_connections2
business_unit_connections
goal_connections2
socialprofile_connections1
socialactivity_connections2
recurringappointmentmaster_connections2
territory_connections1
Added by: Application Common Solution
See territory Entity territory_connections1 One-To-Many relationship.
territory_connections2
Added by: Application Common Solution
See territory Entity territory_connections2 One-To-Many relationship.
knowledgearticle_connections1
See knowledgearticle Entity knowledgearticle_connections1 One-To-Many relationship.
knowledgearticle_connections2
See knowledgearticle Entity knowledgearticle_connections2 One-To-Many relationship.
KnowledgeBaseRecord_connections1
See knowledgebaserecord Entity KnowledgeBaseRecord_connections1 One-To-Many relationship.
KnowledgeBaseRecord_connections2
See knowledgebaserecord Entity KnowledgeBaseRecord_connections2 One-To-Many relationship.
processsession_connections1
See processsession Entity processsession_connections1 One-To-Many relationship.
contact_connections1
See contact Entity contact_connections1 One-To-Many relationship.
recurringappointmentmaster_connections1
See recurringappointmentmaster Entity recurringappointmentmaster_connections1 One-To-Many relationship.
processsession_connections2
See processsession Entity processsession_connections2 One-To-Many relationship.
letter_connections1
See letter Entity letter_connections1 One-To-Many relationship.
connection_role_connections2
See connectionrole Entity connection_role_connections2 One-To-Many relationship.
systemuser_connections2
See systemuser Entity systemuser_connections2 One-To-Many relationship.
letter_connections2
See letter Entity letter_connections2 One-To-Many relationship.
appointment_connections1
See appointment Entity appointment_connections1 One-To-Many relationship.
email_connections1
See email Entity email_connections1 One-To-Many relationship.
account_connections1
See account Entity account_connections1 One-To-Many relationship.
fax_connections2
See fax Entity fax_connections2 One-To-Many relationship.
activitypointer_connections2
See activitypointer Entity activitypointer_connections2 One-To-Many relationship.
socialprofile_connections2
See socialprofile Entity socialprofile_connections2 One-To-Many relationship.
createdby_connection
See systemuser Entity createdby_connection One-To-Many relationship.
account_connections2
See account Entity account_connections2 One-To-Many relationship.
phonecall_connections1
See phonecall Entity phonecall_connections1 One-To-Many relationship.
task_connections1
See task Entity task_connections1 One-To-Many relationship.
modifiedby_connection
See systemuser Entity modifiedby_connection One-To-Many relationship.
appointment_connections2
See appointment Entity appointment_connections2 One-To-Many relationship.
phonecall_connections2
See phonecall Entity phonecall_connections2 One-To-Many relationship.
TransactionCurrency_Connection
See transactioncurrency Entity TransactionCurrency_Connection One-To-Many relationship.
task_connections2
See task Entity task_connections2 One-To-Many relationship.
fax_connections1
See fax Entity fax_connections1 One-To-Many relationship.
position_connection2
See position Entity position_connection2 One-To-Many relationship.
goal_connections1
See goal Entity goal_connections1 One-To-Many relationship.
connection_role_connections1
See connectionrole Entity connection_role_connections1 One-To-Many relationship.
position_connection1
See position Entity position_connection1 One-To-Many relationship.
email_connections2
See email Entity email_connections2 One-To-Many relationship.
team_connections1
See team Entity team_connections1 One-To-Many relationship.
lk_connectionbase_modifiedonbehalfby
See systemuser Entity lk_connectionbase_modifiedonbehalfby One-To-Many relationship.
socialactivity_connections1
See socialactivity Entity socialactivity_connections1 One-To-Many relationship.
connection_related_connection
See connection Entity connection_related_connection One-To-Many relationship.
contact_connections2
See contact Entity contact_connections2 One-To-Many relationship.
lk_connectionbase_createdonbehalfby
See systemuser Entity lk_connectionbase_createdonbehalfby One-To-Many relationship.
activitypointer_connections1
See activitypointer Entity activitypointer_connections1 One-To-Many relationship.
systemuser_connections1
See systemuser Entity systemuser_connections1 One-To-Many relationship.
team_connections2
See team Entity team_connections2 One-To-Many relationship.
business_unit_connections
See businessunit Entity business_unit_connections One-To-Many relationship.
goal_connections2
See goal Entity goal_connections2 One-To-Many relationship.
socialprofile_connections1
See socialprofile Entity socialprofile_connections1 One-To-Many relationship.
socialactivity_connections2
See socialactivity Entity socialactivity_connections2 One-To-Many relationship.
recurringappointmentmaster_connections2
See recurringappointmentmaster Entity recurringappointmentmaster_connections2 One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
connection EntityType
ConnectionRole Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Role describing a relationship between a two records.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/connectionroles Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/connectionroles(con Delete
nectionroleid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/connectionroles(con Retrieve
nectionroleid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/connectionroles RetrieveMultiple
See Query Data

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/connectionroles(con
nectionroleid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/connectionroles(con Update
nectionroleid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ConnectionRoles

DisplayCollectionName Connection Roles

DisplayName Connection Role

EntitySetName connectionroles

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName connectionroles

LogicalName connectionrole

OwnershipType OrganizationOwned

PrimaryIdAttribute connectionroleid

PrimaryNameAttribute name

SchemaName ConnectionRole

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Category
ConnectionRoleId
Description
ImportSequenceNumber
IntroducedVersion
IsCustomizable
Name
StateCode
StatusCode
Category
PROPERTY VALUE

Description Categories for connection roles.

DisplayName Connection Role Category

IsValidForForm True

IsValidForRead True

LogicalName category

RequiredLevel None

Type Picklist

Category Options

VALUE LABEL

1 Business
VALUE LABEL

2 Family

3 Social

4 Sales

5 Other

1000 Stakeholder

1001 Sales Team

1002 Service

ConnectionRoleId
PROPERTY VALUE

Description Unique identifier of the connection role.

DisplayName Connection Role

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName connectionroleid

RequiredLevel SystemRequired

Type Uniqueidentifier

Description
PROPERTY VALUE

Description Description of the connection role.

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description
PROPERTY VALUE

MaxLength 1000

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

IsCustomizable
PROPERTY VALUE

Description Information that specifies whether this component can be


customized.

DisplayName Customizable

IsValidForForm False

IsValidForRead True

LogicalName iscustomizable

RequiredLevel SystemRequired

Type ManagedProperty

Name
PROPERTY VALUE

Description Name of the connection role.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String
StateCode
PROPERTY VALUE

Description Status of the connection role.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Reason for the status of the connection role.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
ConnectionRoleIdUnique
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description State of the component.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published
VALUE LABEL

1 Unpublished

2 Deleted

3 Deleted Unpublished

ConnectionRoleIdUnique
PROPERTY VALUE

Description Unique identifier of the published or unpublished connection


role record.

DisplayName Unique ID

IsValidForForm False

IsValidForRead True

LogicalName connectionroleidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the relationship role.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description Name of the user who created the relationship role.


PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description YomiName of the user who created the relationship role.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the connection role was created.

DisplayName Created On
PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


relationship role.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options
VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the connection
role.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description Name of the user who last modified the relationship role.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description YomiName of the user who last modified the relationship role.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the connection role was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


relationship role.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization that this connection role


belongs to.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description Name of the organization that this relationship role belongs


to.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was last overwritten.

DisplayName Overwritten On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False
PROPERTY VALUE

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the connection role.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
connection_role_connections1
ConnectionRole_SyncErrors
ConnectionRole_ProcessSessions
Connection_Role_AsyncOperations
connection_role_connections2
connection_role_connections1
Same as connection entity connection_role_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1roleid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName connection_role_connections1

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ConnectionRole_SyncErrors
Same as syncerror entity ConnectionRole_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ConnectionRole_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

ConnectionRole_ProcessSessions
Same as processsession entity ConnectionRole_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName ConnectionRole_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Connection_Role_AsyncOperations
Same as asyncoperation entity Connection_Role_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Connection_Role_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

connection_role_connections2
Same as connection entity connection_role_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2roleid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName connection_role_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
createdby_connection_role
organization_connection_roles
lk_connectionrolebase_createdonbehalfby
modifiedby_connection_role
lk_connectionrolebase_modifiedonbehalfby
createdby_connection_role
See systemuser Entity createdby_connection_role One-To-Many relationship.
organization_connection_roles
See organization Entity organization_connection_roles One-To-Many relationship.
lk_connectionrolebase_createdonbehalfby
See systemuser Entity lk_connectionrolebase_createdonbehalfby One-To-Many relationship.
modifiedby_connection_role
See systemuser Entity modifiedby_connection_role One-To-Many relationship.
lk_connectionrolebase_modifiedonbehalfby
See systemuser Entity lk_connectionrolebase_modifiedonbehalfby One-To-Many relationship.

Many-To-Many Relationships
Relationship details provided where the ConnectionRole entity is the first entity in the relationship. Listed by
SchemaName.
connectionroleassociation_association
IntersectEntityName: connectionroleassociation
Entity 1
PROPERTY VALUE

IntersectAttribute connectionroleid

IsCustomizable False

LogicalName connectionrole

NavigationPropertyName connectionroleassociation_association

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

Entity 2

PROPERTY VALUE

LogicalName connectionrole

IntersectAttribute associatedconnectionroleid

NavigationPropertyName connectionroleassociation_association

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

See also
About the Entity Reference
Web API Reference
connectionrole EntityType
Contact Entity Reference
4/3/2019 • 47 minutes to read • Edit Online

Person with whom a business unit has a relationship, such as customer, supplier, and colleague.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/contacts(contactid)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/contacts CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/contacts(contactid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

Merge Merge Action MergeRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/contacts(contactid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/contacts RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

Rollup Rollup Function RollupRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/contacts(contactid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/contacts(contactid) Update
See Update
Entity Properties
PROPERTY VALUE

CollectionSchemaName Contacts

DisplayCollectionName Contacts

DisplayName Contact

EntitySetName contacts

IsBPFEntity False

LogicalCollectionName contacts

LogicalName contact

OwnershipType UserOwned

PrimaryIdAttribute contactid

PrimaryNameAttribute fullname

SchemaName Contact

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AccountRoleCode
Address1_AddressId
Address1_AddressTypeCode
Address1_City
Address1_Country
Address1_County
Address1_Fax
Address1_FreightTermsCode
Address1_Latitude
Address1_Line1
Address1_Line2
Address1_Line3
Address1_Longitude
Address1_Name
Address1_PostalCode
Address1_PostOfficeBox
Address1_PrimaryContactName
Address1_ShippingMethodCode
Address1_StateOrProvince
Address1_Telephone1
Address1_Telephone2
Address1_Telephone3
Address1_UPSZone
Address1_UTCOffset
Address2_AddressId
Address2_AddressTypeCode
Address2_City
Address2_Country
Address2_County
Address2_Fax
Address2_FreightTermsCode
Address2_Latitude
Address2_Line1
Address2_Line2
Address2_Line3
Address2_Longitude
Address2_Name
Address2_PostalCode
Address2_PostOfficeBox
Address2_PrimaryContactName
Address2_ShippingMethodCode
Address2_StateOrProvince
Address2_Telephone1
Address2_Telephone2
Address2_Telephone3
Address2_UPSZone
Address2_UTCOffset
Address3_AddressId
Address3_AddressTypeCode
Address3_City
Address3_Country
Address3_County
Address3_Fax
Address3_FreightTermsCode
Address3_Latitude
Address3_Line1
Address3_Line2
Address3_Line3
Address3_Longitude
Address3_Name
Address3_PostalCode
Address3_PostOfficeBox
Address3_PrimaryContactName
Address3_ShippingMethodCode
Address3_StateOrProvince
Address3_Telephone1
Address3_Telephone2
Address3_Telephone3
Address3_UPSZone
Address3_UTCOffset
Anniversary
AnnualIncome
AssistantName
AssistantPhone
BirthDate
Business2
Callback
ChildrensNames
Company
ContactId
CreditLimit
CreditOnHold
CustomerSizeCode
CustomerTypeCode
Department
Description
DoNotBulkEMail
DoNotBulkPostalMail
DoNotEMail
DoNotFax
DoNotPhone
DoNotPostalMail
DoNotSendMM
EducationCode
EMailAddress1
EMailAddress2
EMailAddress3
EmployeeId
EntityImage
ExternalUserIdentifier
FamilyStatusCode
Fax
FirstName
FollowEmail
FtpSiteUrl
GenderCode
GovernmentId
HasChildrenCode
Home2
ImportSequenceNumber
IsBackofficeCustomer
JobTitle
LastName
LastOnHoldTime
LastUsedInCampaign
LeadSourceCode
ManagerName
ManagerPhone
MarketingOnly
MiddleName
MobilePhone
NickName
NumberOfChildren
OverriddenCreatedOn
OwnerId
OwnerIdType
Pager
ParentCustomerId
ParentCustomerIdType
ParticipatesInWorkflow
PaymentTermsCode
PreferredAppointmentDayCode
PreferredAppointmentTimeCode
PreferredContactMethodCode
PreferredSystemUserId
ProcessId
Salutation
ShippingMethodCode
SLAId
SpousesName
StageId
StateCode
StatusCode
SubscriptionId
Suffix
Telephone1
Telephone2
Telephone3
TerritoryCode
TimeZoneRuleVersionNumber
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
WebSiteUrl
YomiFirstName
YomiLastName
YomiMiddleName
AccountRoleCode
PROPERTY VALUE

Description Select the contact's role within the company or sales process,
such as decision maker, employee, or influencer.

DisplayName Role

IsValidForForm True

IsValidForRead True

LogicalName accountrolecode

RequiredLevel None

Type Picklist

AccountRoleCode Options

VALUE LABEL

1 Decision Maker

2 Employee

3 Influencer

Address1_AddressId
PROPERTY VALUE

Description Unique identifier for address 1.

DisplayName Address 1: ID

IsValidForForm False

IsValidForRead True

LogicalName address1_addressid

RequiredLevel None

Type Uniqueidentifier

Address1_AddressTypeCode
PROPERTY VALUE

Description Select the primary address type.

DisplayName Address 1: Address Type


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName address1_addresstypecode

RequiredLevel None

Type Picklist

Address1_AddressTypeCode Options

VALUE LABEL

1 Bill To

2 Ship To

3 Primary

4 Other

Address1_City
PROPERTY VALUE

Description Type the city for the primary address.

DisplayName Address 1: City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_city

MaxLength 80

RequiredLevel None

Type String

Address1_Country
PROPERTY VALUE

Description Type the country or region for the primary address.


PROPERTY VALUE

DisplayName Address 1: Country/Region

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_country

MaxLength 80

RequiredLevel None

Type String

Address1_County
PROPERTY VALUE

Description Type the county for the primary address.

DisplayName Address 1: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_county

MaxLength 50

RequiredLevel None

Type String

Address1_Fax
PROPERTY VALUE

Description Type the fax number associated with the primary address.

DisplayName Address 1: Fax

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_fax

MaxLength 50

RequiredLevel None

Type String

Address1_FreightTermsCode
PROPERTY VALUE

Description Select the freight terms for the primary address to make sure
shipping orders are processed correctly.

DisplayName Address 1: Freight Terms

IsValidForForm True

IsValidForRead True

LogicalName address1_freighttermscode

RequiredLevel None

Type Picklist

Address1_FreightTermsCode Options

VALUE LABEL

1 FOB

2 No Charge

Address1_Latitude
PROPERTY VALUE

Description Type the latitude value for the primary address for use in
mapping and other applications.

DisplayName Address 1: Latitude

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_latitude

MaxValue 90

MinValue -90

Precision 5

RequiredLevel None

Type Double

Address1_Line1
PROPERTY VALUE

Description Type the first line of the primary address.

DisplayName Address 1: Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line1

MaxLength 250

RequiredLevel None

Type String

Address1_Line2
PROPERTY VALUE

Description Type the second line of the primary address.

DisplayName Address 1: Street 2

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_line2

MaxLength 250

RequiredLevel None

Type String

Address1_Line3
PROPERTY VALUE

Description Type the third line of the primary address.

DisplayName Address 1: Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line3

MaxLength 250

RequiredLevel None

Type String

Address1_Longitude
PROPERTY VALUE

Description Type the longitude value for the primary address for use in
mapping and other applications.

DisplayName Address 1: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address1_longitude

MaxValue 180
PROPERTY VALUE

MinValue -180

Precision 5

RequiredLevel None

Type Double

Address1_Name
PROPERTY VALUE

Description Type a descriptive name for the primary address, such as


Corporate Headquarters.

DisplayName Address 1: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_name

MaxLength 200

RequiredLevel None

Type String

Address1_PostalCode
PROPERTY VALUE

Description Type the ZIP Code or postal code for the primary address.

DisplayName Address 1: ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postalcode
PROPERTY VALUE

MaxLength 20

RequiredLevel None

Type String

Address1_PostOfficeBox
PROPERTY VALUE

Description Type the post office box number of the primary address.

DisplayName Address 1: Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address1_PrimaryContactName
PROPERTY VALUE

Description Type the name of the main contact at the account's primary
address.

DisplayName Address 1: Primary Contact Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_primarycontactname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

Address1_ShippingMethodCode
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Address 1: Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName address1_shippingmethodcode

RequiredLevel None

Type Picklist

Address1_ShippingMethodCode Options

VALUE LABEL

1 Airborne

2 DHL

3 FedEx

4 UPS

5 Postal Mail

6 Full Load

7 Will Call

Address1_StateOrProvince
PROPERTY VALUE

Description Type the state or province of the primary address.

DisplayName Address 1: State/Province

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName address1_stateorprovince

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone1
PROPERTY VALUE

Description Type the main phone number associated with the primary
address.

DisplayName Address 1: Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone1

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone2
PROPERTY VALUE

Description Type a second phone number associated with the primary


address.

DisplayName Address 1: Telephone 2

FormatName Phone

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_telephone2

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone3
PROPERTY VALUE

Description Type a third phone number associated with the primary


address.

DisplayName Address 1: Telephone 3

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone3

MaxLength 50

RequiredLevel None

Type String

Address1_UPSZone
PROPERTY VALUE

Description Type the UPS zone of the primary address to make sure
shipping charges are calculated correctly and deliveries are
made promptly, if shipped by UPS.

DisplayName Address 1: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_upszone

MaxLength 4

RequiredLevel None

Type String

Address1_UTCOffset
PROPERTY VALUE

Description Select the time zone, or UTC offset, for this address so that
other people can reference it when they contact someone at
this address.

DisplayName Address 1: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address1_utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Address2_AddressId
PROPERTY VALUE

Description Unique identifier for address 2.

DisplayName Address 2: ID

IsValidForForm False

IsValidForRead True

LogicalName address2_addressid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

Address2_AddressTypeCode
PROPERTY VALUE

Description Select the secondary address type.

DisplayName Address 2: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address2_addresstypecode

RequiredLevel None

Type Picklist

Address2_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address2_City
PROPERTY VALUE

Description Type the city for the secondary address.

DisplayName Address 2: City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_city

MaxLength 80

RequiredLevel None

Type String

Address2_Country
PROPERTY VALUE

Description Type the country or region for the secondary address.

DisplayName Address 2: Country/Region

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_country

MaxLength 80

RequiredLevel None

Type String

Address2_County
PROPERTY VALUE

Description Type the county for the secondary address.

DisplayName Address 2: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_county

MaxLength 50

RequiredLevel None

Type String

Address2_Fax
PROPERTY VALUE

Description Type the fax number associated with the secondary address.

DisplayName Address 2: Fax


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_fax

MaxLength 50

RequiredLevel None

Type String

Address2_FreightTermsCode
PROPERTY VALUE

Description Select the freight terms for the secondary address to make
sure shipping orders are processed correctly.

DisplayName Address 2: Freight Terms

IsValidForForm True

IsValidForRead True

LogicalName address2_freighttermscode

RequiredLevel None

Type Picklist

Address2_FreightTermsCode Options

VALUE LABEL

1 Default Value

Address2_Latitude
PROPERTY VALUE

Description Type the latitude value for the secondary address for use in
mapping and other applications.

DisplayName Address 2: Latitude

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address2_latitude

MaxValue 90

MinValue -90

Precision 5

RequiredLevel None

Type Double

Address2_Line1
PROPERTY VALUE

Description Type the first line of the secondary address.

DisplayName Address 2: Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line1

MaxLength 250

RequiredLevel None

Type String

Address2_Line2
PROPERTY VALUE

Description Type the second line of the secondary address.

DisplayName Address 2: Street 2

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address2_line2

MaxLength 250

RequiredLevel None

Type String

Address2_Line3
PROPERTY VALUE

Description Type the third line of the secondary address.

DisplayName Address 2: Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_line3

MaxLength 250

RequiredLevel None

Type String

Address2_Longitude
PROPERTY VALUE

Description Type the longitude value for the secondary address for use in
mapping and other applications.

DisplayName Address 2: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address2_longitude

MaxValue 180
PROPERTY VALUE

MinValue -180

Precision 5

RequiredLevel None

Type Double

Address2_Name
PROPERTY VALUE

Description Type a descriptive name for the secondary address, such as


Corporate Headquarters.

DisplayName Address 2: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_name

MaxLength 100

RequiredLevel None

Type String

Address2_PostalCode
PROPERTY VALUE

Description Type the ZIP Code or postal code for the secondary address.

DisplayName Address 2: ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_postalcode
PROPERTY VALUE

MaxLength 20

RequiredLevel None

Type String

Address2_PostOfficeBox
PROPERTY VALUE

Description Type the post office box number of the secondary address.

DisplayName Address 2: Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address2_PrimaryContactName
PROPERTY VALUE

Description Type the name of the main contact at the account's


secondary address.

DisplayName Address 2: Primary Contact Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_primarycontactname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

Address2_ShippingMethodCode
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Address 2: Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName address2_shippingmethodcode

RequiredLevel None

Type Picklist

Address2_ShippingMethodCode Options

VALUE LABEL

1 Default Value

Address2_StateOrProvince
PROPERTY VALUE

Description Type the state or province of the secondary address.

DisplayName Address 2: State/Province

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_stateorprovince

MaxLength 50

RequiredLevel None

Type String
Address2_Telephone1
PROPERTY VALUE

Description Type the main phone number associated with the secondary
address.

DisplayName Address 2: Telephone 1

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone1

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone2
PROPERTY VALUE

Description Type a second phone number associated with the secondary


address.

DisplayName Address 2: Telephone 2

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone2

MaxLength 50

RequiredLevel None

Type String

Address2_Telephone3
PROPERTY VALUE

Description Type a third phone number associated with the secondary


address.

DisplayName Address 2: Telephone 3

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_telephone3

MaxLength 50

RequiredLevel None

Type String

Address2_UPSZone
PROPERTY VALUE

Description Type the UPS zone of the secondary address to make sure
shipping charges are calculated correctly and deliveries are
made promptly, if shipped by UPS.

DisplayName Address 2: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_upszone

MaxLength 4

RequiredLevel None

Type String

Address2_UTCOffset
PROPERTY VALUE

Description Select the time zone, or UTC offset, for this address so that
other people can reference it when they contact someone at
this address.

DisplayName Address 2: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address2_utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Address3_AddressId
PROPERTY VALUE

Description Unique identifier for address 3.

DisplayName Address 3: ID

IsValidForForm False

IsValidForRead True

LogicalName address3_addressid

RequiredLevel None

Type Uniqueidentifier

Address3_AddressTypeCode
PROPERTY VALUE

Description Select the third address type.

DisplayName Address 3: Address Type

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address3_addresstypecode

RequiredLevel None

Type Picklist

Address3_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address3_City
PROPERTY VALUE

Description Type the city for the 3rd address.

DisplayName Address 3: City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_city

MaxLength 80

RequiredLevel None

Type String

Address3_Country
PROPERTY VALUE

Description the country or region for the 3rd address.

DisplayName Address3: Country/Region

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address3_country

MaxLength 80

RequiredLevel None

Type String

Address3_County
PROPERTY VALUE

Description Type the county for the third address.

DisplayName Address 3: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_county

MaxLength 50

RequiredLevel None

Type String

Address3_Fax
PROPERTY VALUE

Description Type the fax number associated with the third address.

DisplayName Address 3: Fax

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_fax

MaxLength 50
PROPERTY VALUE

RequiredLevel None

Type String

Address3_FreightTermsCode
PROPERTY VALUE

Description Select the freight terms for the third address to make sure
shipping orders are processed correctly.

DisplayName Address 3: Freight Terms

IsValidForForm True

IsValidForRead True

LogicalName address3_freighttermscode

RequiredLevel None

Type Picklist

Address3_FreightTermsCode Options

VALUE LABEL

1 Default Value

Address3_Latitude
PROPERTY VALUE

Description Type the latitude value for the third address for use in
mapping and other applications.

DisplayName Address 3: Latitude

IsValidForForm True

IsValidForRead True

LogicalName address3_latitude

MaxValue 90

MinValue -90

Precision 5

RequiredLevel None
PROPERTY VALUE

Type Double

Address3_Line1
PROPERTY VALUE

Description the first line of the 3rd address.

DisplayName Address3: Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_line1

MaxLength 250

RequiredLevel None

Type String

Address3_Line2
PROPERTY VALUE

Description the second line of the 3rd address.

DisplayName Address3: Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_line2

MaxLength 250

RequiredLevel None

Type String

Address3_Line3
PROPERTY VALUE

Description the third line of the 3rd address.

DisplayName Address3: Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_line3

MaxLength 250

RequiredLevel None

Type String

Address3_Longitude
PROPERTY VALUE

Description Type the longitude value for the third address for use in
mapping and other applications.

DisplayName Address 3: Longitude

IsValidForForm True

IsValidForRead True

LogicalName address3_longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None

Type Double

Address3_Name
PROPERTY VALUE

Description Type a descriptive name for the third address, such as


Corporate Headquarters.
PROPERTY VALUE

DisplayName Address 3: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_name

MaxLength 200

RequiredLevel None

Type String

Address3_PostalCode
PROPERTY VALUE

Description the ZIP Code or postal code for the 3rd address.

DisplayName Address3: ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_postalcode

MaxLength 20

RequiredLevel None

Type String

Address3_PostOfficeBox
PROPERTY VALUE

Description the post office box number of the 3rd address.

DisplayName Address 3: Post Office Box

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address3_PrimaryContactName
PROPERTY VALUE

Description Type the name of the main contact at the account's third
address.

DisplayName Address 3: Primary Contact Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_primarycontactname

MaxLength 100

RequiredLevel None

Type String

Address3_ShippingMethodCode
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Address 3: Shipping Method

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address3_shippingmethodcode

RequiredLevel None

Type Picklist

Address3_ShippingMethodCode Options

VALUE LABEL

1 Default Value

Address3_StateOrProvince
PROPERTY VALUE

Description the state or province of the third address.

DisplayName Address3: State/Province

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_stateorprovince

MaxLength 50

RequiredLevel None

Type String

Address3_Telephone1
PROPERTY VALUE

Description Type the main phone number associated with the third
address.

DisplayName Address 3: Telephone1

FormatName Phone

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address3_telephone1

MaxLength 50

RequiredLevel None

Type String

Address3_Telephone2
PROPERTY VALUE

Description Type a second phone number associated with the third


address.

DisplayName Address 3: Telephone2

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_telephone2

MaxLength 50

RequiredLevel None

Type String

Address3_Telephone3
PROPERTY VALUE

Description Type a third phone number associated with the primary


address.

DisplayName Address 3: Telephone3

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName address3_telephone3

MaxLength 50

RequiredLevel None

Type String

Address3_UPSZone
PROPERTY VALUE

Description Type the UPS zone of the third address to make sure shipping
charges are calculated correctly and deliveries are made
promptly, if shipped by UPS.

DisplayName Address 3: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_upszone

MaxLength 4

RequiredLevel None

Type String

Address3_UTCOffset
PROPERTY VALUE

Description Select the time zone, or UTC offset, for this address so that
other people can reference it when they contact someone at
this address.

DisplayName Address 3: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address3_utcoffset
PROPERTY VALUE

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Anniversary
PROPERTY VALUE

DateTimeBehavior DateOnly

Description Enter the date of the contact's wedding or service anniversary


for use in customer gift programs or other communications.

DisplayName Anniversary

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName anniversary

RequiredLevel None

Type DateTime

AnnualIncome
PROPERTY VALUE

Description Type the contact's annual income for use in profiling and
financial analysis.

DisplayName Annual Income

IsValidForForm True

IsValidForRead True

LogicalName annualincome

MaxValue 100000000000000

MinValue 0

Precision 2
PROPERTY VALUE

PrecisionSource 2

RequiredLevel None

Type Money

AssistantName
PROPERTY VALUE

Description Type the name of the contact's assistant.

DisplayName Assistant

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName assistantname

MaxLength 100

RequiredLevel None

Type String

AssistantPhone
PROPERTY VALUE

Description Type the phone number for the contact's assistant.

DisplayName Assistant Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName assistantphone

MaxLength 50

RequiredLevel None
PROPERTY VALUE

Type String

BirthDate
PROPERTY VALUE

DateTimeBehavior DateOnly

Description Enter the contact's birthday for use in customer gift programs
or other communications.

DisplayName Birthday

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName birthdate

RequiredLevel None

Type DateTime

Business2
PROPERTY VALUE

Description Type a second business phone number for this contact.

DisplayName Business Phone 2

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName business2

MaxLength 50

RequiredLevel None

Type String

Callback
PROPERTY VALUE

Description Type a callback phone number for this contact.

DisplayName Callback Number

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName callback

MaxLength 50

RequiredLevel None

Type String

ChildrensNames
PROPERTY VALUE

Description Type the names of the contact's children for reference in


communications and client programs.

DisplayName Children's Names

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName childrensnames

MaxLength 255

RequiredLevel None

Type String

Company
PROPERTY VALUE

Description Type the company phone of the contact.


PROPERTY VALUE

DisplayName Company Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName company

MaxLength 50

RequiredLevel None

Type String

ContactId
PROPERTY VALUE

Description Unique identifier of the contact.

DisplayName Contact

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName contactid

RequiredLevel SystemRequired

Type Uniqueidentifier

CreditLimit
PROPERTY VALUE

Description Type the credit limit of the contact for reference when you
address invoice and accounting issues with the customer.

DisplayName Credit Limit

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName creditlimit

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

CreditOnHold
PROPERTY VALUE

Description Select whether the contact is on a credit hold, for reference


when addressing invoice and accounting issues.

DisplayName Credit Hold

IsValidForForm True

IsValidForRead True

LogicalName creditonhold

RequiredLevel None

Type Boolean

CreditOnHold Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CustomerSizeCode
PROPERTY VALUE

Description Select the size of the contact's company for segmentation and
reporting purposes.

DisplayName Customer Size


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName customersizecode

RequiredLevel None

Type Picklist

CustomerSizeCode Options

VALUE LABEL

1 Default Value

CustomerTypeCode
PROPERTY VALUE

Description Select the category that best describes the relationship


between the contact and your organization.

DisplayName Relationship Type

IsValidForForm True

IsValidForRead True

LogicalName customertypecode

RequiredLevel None

Type Picklist

CustomerTypeCode Options

VALUE LABEL

1 Default Value

Department
PROPERTY VALUE

Description Type the department or business unit where the contact


works in the parent company or business.

DisplayName Department

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName department

MaxLength 100

RequiredLevel None

Type String

Description
PROPERTY VALUE

Description Type additional information to describe the contact, such as


an excerpt from the company's website.

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

DoNotBulkEMail
PROPERTY VALUE

Description Select whether the contact accepts bulk email sent through
marketing campaigns or quick campaigns. If Do Not Allow is
selected, the contact can be added to marketing lists, but will
be excluded from the email.

DisplayName Do not allow Bulk Emails

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName donotbulkemail

RequiredLevel None

Type Boolean

DoNotBulkEMail Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotBulkPostalMail
PROPERTY VALUE

Description Select whether the contact accepts bulk postal mail sent
through marketing campaigns or quick campaigns. If Do Not
Allow is selected, the contact can be added to marketing lists,
but will be excluded from the letters.

DisplayName Do not allow Bulk Mails

IsValidForForm True

IsValidForRead True

LogicalName donotbulkpostalmail

RequiredLevel None

Type Boolean

DoNotBulkPostalMail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
DoNotEMail
PROPERTY VALUE

Description Select whether the contact allows direct email sent from
Microsoft Dynamics 365. If Do Not Allow is selected,
Microsoft Dynamics 365 will not send the email.

DisplayName Do not allow Emails

IsValidForForm True

IsValidForRead True

LogicalName donotemail

RequiredLevel None

Type Boolean

DoNotEMail Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotFax
PROPERTY VALUE

Description Select whether the contact allows faxes. If Do Not Allow is


selected, the contact will be excluded from any fax activities
distributed in marketing campaigns.

DisplayName Do not allow Faxes

IsValidForForm True

IsValidForRead True

LogicalName donotfax

RequiredLevel None

Type Boolean

DoNotFax Options

VALUE LABEL

1 Do Not Allow

0 Allow
DefaultValue: False
DoNotPhone
PROPERTY VALUE

Description Select whether the contact accepts phone calls. If Do Not


Allow is selected, the contact will be excluded from any phone
call activities distributed in marketing campaigns.

DisplayName Do not allow Phone Calls

IsValidForForm True

IsValidForRead True

LogicalName donotphone

RequiredLevel None

Type Boolean

DoNotPhone Options

VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotPostalMail
PROPERTY VALUE

Description Select whether the contact allows direct mail. If Do Not Allow
is selected, the contact will be excluded from letter activities
distributed in marketing campaigns.

DisplayName Do not allow Mails

IsValidForForm True

IsValidForRead True

LogicalName donotpostalmail

RequiredLevel None

Type Boolean

DoNotPostalMail Options
VALUE LABEL

1 Do Not Allow

0 Allow

DefaultValue: False
DoNotSendMM
PROPERTY VALUE

Description Select whether the contact accepts marketing materials, such


as brochures or catalogs. Contacts that opt out can be
excluded from marketing initiatives.

DisplayName Send Marketing Materials

IsValidForForm True

IsValidForRead True

LogicalName donotsendmm

RequiredLevel None

Type Boolean

DoNotSendMM Options

VALUE LABEL

1 Do Not Send

0 Send

DefaultValue: False
EducationCode
PROPERTY VALUE

Description Select the contact's highest level of education for use in


segmentation and analysis.

DisplayName Education

IsValidForForm True

IsValidForRead True

LogicalName educationcode

RequiredLevel None
PROPERTY VALUE

Type Picklist

EducationCode Options

VALUE LABEL

1 Default Value

EMailAddress1
PROPERTY VALUE

Description Type the primary email address for the contact.

DisplayName Email

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress1

MaxLength 100

RequiredLevel None

Type String

EMailAddress2
PROPERTY VALUE

Description Type the secondary email address for the contact.

DisplayName Email Address 2

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress2

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

EMailAddress3
PROPERTY VALUE

Description Type an alternate email address for the contact.

DisplayName Email Address 3

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress3

MaxLength 100

RequiredLevel None

Type String

EmployeeId
PROPERTY VALUE

Description Type the employee ID or number for the contact for reference
in orders, service cases, or other communications with the
contact's organization.

DisplayName Employee

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName employeeid

MaxLength 50

RequiredLevel None
PROPERTY VALUE

Type String

EntityImage
PROPERTY VALUE

Description Shows the default image for the record.

DisplayName Entity Image

IsPrimaryImage True

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

ExternalUserIdentifier
PROPERTY VALUE

Description Identifier for an external user.

DisplayName External User Identifier

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName externaluseridentifier

MaxLength 50

RequiredLevel None

Type String

FamilyStatusCode
PROPERTY VALUE

Description Select the marital status of the contact for reference in follow-
up phone calls and other communications.

DisplayName Marital Status

IsValidForForm True

IsValidForRead True

LogicalName familystatuscode

RequiredLevel None

Type Picklist

FamilyStatusCode Options

VALUE LABEL

1 Single

2 Married

3 Divorced

4 Widowed

Fax
PROPERTY VALUE

Description Type the fax number for the contact.

DisplayName Fax

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName fax

MaxLength 50

RequiredLevel None

Type String

FirstName
PROPERTY VALUE

Description Type the contact's first name to make sure the contact is
addressed correctly in sales calls, email, and marketing
campaigns.

DisplayName First Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName firstname

MaxLength 50

RequiredLevel Recommended

Type String

FollowEmail
PROPERTY VALUE

Description Information about whether to allow following email activity


like opens, attachment views and link clicks for emails sent to
the contact.

DisplayName Follow Email Activity

IsValidForForm True

IsValidForRead True

LogicalName followemail

RequiredLevel None

Type Boolean

FollowEmail Options

VALUE LABEL

1 Allow

0 Do Not Allow

DefaultValue: True
FtpSiteUrl
PROPERTY VALUE

Description Type the URL for the contact's FTP site to enable users to
access data and share documents.

DisplayName FTP Site

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName ftpsiteurl

MaxLength 200

RequiredLevel None

Type String

GenderCode
PROPERTY VALUE

Description Select the contact's gender to make sure the contact is


addressed correctly in sales calls, email, and marketing
campaigns.

DisplayName Gender

IsValidForForm True

IsValidForRead True

LogicalName gendercode

RequiredLevel None

Type Picklist

GenderCode Options

VALUE LABEL

1 Male

2 Female

GovernmentId
PROPERTY VALUE

Description Type the passport number or other government ID for the


contact for use in documents or reports.

DisplayName Government

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName governmentid

MaxLength 50

RequiredLevel None

Type String

HasChildrenCode
PROPERTY VALUE

Description Select whether the contact has any children for reference in
follow-up phone calls and other communications.

DisplayName Has Children

IsValidForForm True

IsValidForRead True

LogicalName haschildrencode

RequiredLevel None

Type Picklist

HasChildrenCode Options

VALUE LABEL

1 Default Value

Home2
PROPERTY VALUE

Description Type a second home phone number for this contact.


PROPERTY VALUE

DisplayName Home Phone 2

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName home2

MaxLength 50

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsBackofficeCustomer
PROPERTY VALUE
PROPERTY VALUE

Description Select whether the contact exists in a separate accounting or


other system, such as Microsoft Dynamics GP or another ERP
database, for use in integration processes.

DisplayName Back Office Customer

IsValidForForm True

IsValidForRead True

LogicalName isbackofficecustomer

RequiredLevel None

Type Boolean

IsBackofficeCustomer Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
JobTitle
PROPERTY VALUE

Description Type the job title of the contact to make sure the contact is
addressed correctly in sales calls, email, and marketing
campaigns.

DisplayName Job Title

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName jobtitle

MaxLength 100

RequiredLevel None

Type String

LastName
PROPERTY VALUE

Description Type the contact's last name to make sure the contact is
addressed correctly in sales calls, email, and marketing
campaigns.

DisplayName Last Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName lastname

MaxLength 50

RequiredLevel ApplicationRequired

Type String

LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

LastUsedInCampaign
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Shows the date when the contact was last included in a
marketing campaign or quick campaign.

DisplayName Last Date Included in Campaign

Format DateOnly

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName lastusedincampaign

RequiredLevel None

Type DateTime

LeadSourceCode
PROPERTY VALUE

Description Select the primary marketing source that directed the contact
to your organization.

DisplayName Lead Source

IsValidForForm True

IsValidForRead True

LogicalName leadsourcecode

RequiredLevel None

Type Picklist

LeadSourceCode Options

VALUE LABEL

1 Default Value

ManagerName
PROPERTY VALUE

Description Type the name of the contact's manager for use in escalating
issues or other follow-up communications with the contact.

DisplayName Manager
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName managername

MaxLength 100

RequiredLevel None

Type String

ManagerPhone
PROPERTY VALUE

Description Type the phone number for the contact's manager.

DisplayName Manager Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName managerphone

MaxLength 50

RequiredLevel None

Type String

MarketingOnly
PROPERTY VALUE

Description Whether is only for marketing

DisplayName Marketing Only

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName marketingonly

RequiredLevel None

Type Boolean

MarketingOnly Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MiddleName
PROPERTY VALUE

Description Type the contact's middle name or initial to make sure the
contact is addressed correctly.

DisplayName Middle Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName middlename

MaxLength 50

RequiredLevel None

Type String

MobilePhone
PROPERTY VALUE

Description Type the mobile phone number for the contact.

DisplayName Mobile Phone

FormatName Phone

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName mobilephone

MaxLength 50

RequiredLevel None

Type String

NickName
PROPERTY VALUE

Description Type the contact's nickname.

DisplayName Nickname

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName nickname

MaxLength 100

RequiredLevel None

Type String

NumberOfChildren
PROPERTY VALUE

Description Type the number of children the contact has for reference in
follow-up phone calls and other communications.

DisplayName No. of Children

Format None

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName numberofchildren

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired
PROPERTY VALUE

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Pager
PROPERTY VALUE

Description Type the pager number for the contact.

DisplayName Pager

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName pager

MaxLength 50

RequiredLevel None

Type String

ParentCustomerId
PROPERTY VALUE
PROPERTY VALUE

Description Select the parent account or parent contact for the contact to
provide a quick link to additional details, such as financial
information, activities, and opportunities.

DisplayName Company Name

IsValidForForm True

IsValidForRead True

LogicalName parentcustomerid

RequiredLevel None

Targets account,contact

Type Customer

ParentCustomerIdType
PROPERTY VALUE

Description

DisplayName Parent Customer Type

IsValidForForm False

IsValidForRead True

LogicalName parentcustomeridtype

RequiredLevel None

Type EntityName

ParticipatesInWorkflow
PROPERTY VALUE

Description Shows whether the contact participates in workflow rules.

DisplayName Participates in Workflow

IsValidForForm False

IsValidForRead True

LogicalName participatesinworkflow

RequiredLevel None
PROPERTY VALUE

Type Boolean

ParticipatesInWorkflow Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
PaymentTermsCode
PROPERTY VALUE

Description Select the payment terms to indicate when the customer


needs to pay the total amount.

DisplayName Payment Terms

IsValidForForm True

IsValidForRead True

LogicalName paymenttermscode

RequiredLevel None

Type Picklist

PaymentTermsCode Options

VALUE LABEL

1 Net 30

2 2% 10, Net 30

3 Net 45

4 Net 60

PreferredAppointmentDayCode
PROPERTY VALUE

Description Select the preferred day of the week for service appointments.

DisplayName Preferred Day

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName preferredappointmentdaycode

RequiredLevel None

Type Picklist

PreferredAppointmentDayCode Options

VALUE LABEL

0 Sunday

1 Monday

2 Tuesday

3 Wednesday

4 Thursday

5 Friday

6 Saturday

PreferredAppointmentTimeCode
PROPERTY VALUE

Description Select the preferred time of day for service appointments.

DisplayName Preferred Time

IsValidForForm True

IsValidForRead True

LogicalName preferredappointmenttimecode

RequiredLevel None

Type Picklist

PreferredAppointmentTimeCode Options

VALUE LABEL

1 Morning

2 Afternoon
VALUE LABEL

3 Evening

PreferredContactMethodCode
PROPERTY VALUE

Description Select the preferred method of contact.

DisplayName Preferred Method of Contact

IsValidForForm True

IsValidForRead True

LogicalName preferredcontactmethodcode

RequiredLevel None

Type Picklist

PreferredContactMethodCode Options

VALUE LABEL

1 Any

2 Email

3 Phone

4 Fax

5 Mail

PreferredSystemUserId
PROPERTY VALUE

Description Choose the regular or preferred customer service


representative for reference when scheduling service activities
for the contact.

DisplayName Preferred User

IsValidForForm True

IsValidForRead True

LogicalName preferredsystemuserid

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

Salutation
PROPERTY VALUE

Description Type the salutation of the contact to make sure the contact is
addressed correctly in sales calls, email messages, and
marketing campaigns.

DisplayName Salutation

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName salutation

MaxLength 100

RequiredLevel None

Type String

ShippingMethodCode
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName shippingmethodcode

RequiredLevel None

Type Picklist

ShippingMethodCode Options

VALUE LABEL

1 Default Value

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the Contact record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SpousesName
PROPERTY VALUE

Description Type the name of the contact's spouse or partner for


reference during calls, events, or other communications with
the contact.

DisplayName Spouse/Partner Name

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName spousesname

MaxLength 100

RequiredLevel None

Type String

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the contact is active or inactive. Inactive


contacts are read-only and can't be edited unless they are
reactivated.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired
PROPERTY VALUE

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the contact's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

SubscriptionId
PROPERTY VALUE

Description For internal use only.

DisplayName Subscription

IsValidForForm False

IsValidForRead False

IsValidForUpdate False

LogicalName subscriptionid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

Suffix
PROPERTY VALUE

Description Type the suffix used in the contact's name, such as Jr. or Sr. to
make sure the contact is addressed correctly in sales calls,
email, and marketing campaigns.

DisplayName Suffix

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName suffix

MaxLength 10

RequiredLevel None

Type String

Telephone1
PROPERTY VALUE

Description Type the main phone number for this contact.

DisplayName Business Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone1

MaxLength 50

RequiredLevel None
PROPERTY VALUE

Type String

Telephone2
PROPERTY VALUE

Description Type a second phone number for this contact.

DisplayName Home Phone

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone2

MaxLength 50

RequiredLevel None

Type String

Telephone3
PROPERTY VALUE

Description Type a third phone number for this contact.

DisplayName Telephone 3

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone3

MaxLength 50

RequiredLevel None

Type String

TerritoryCode
PROPERTY VALUE

Description Select a region or territory for the contact for use in


segmentation and analysis.

DisplayName Territory

IsValidForForm True

IsValidForRead True

LogicalName territorycode

RequiredLevel None

Type Picklist

TerritoryCode Options

VALUE LABEL

1 Default Value

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.
PROPERTY VALUE

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

WebSiteUrl
PROPERTY VALUE

Description Type the contact's professional or personal website or blog


URL.

DisplayName Website

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName websiteurl

MaxLength 200

RequiredLevel None

Type String

YomiFirstName
PROPERTY VALUE

Description Type the phonetic spelling of the contact's first name, if the
name is specified in Japanese, to make sure the name is
pronounced correctly in phone calls with the contact.

DisplayName Yomi First Name

FormatName PhoneticGuide

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName yomifirstname

MaxLength 150

RequiredLevel None

Type String

YomiLastName
PROPERTY VALUE

Description Type the phonetic spelling of the contact's last name, if the
name is specified in Japanese, to make sure the name is
pronounced correctly in phone calls with the contact.

DisplayName Yomi Last Name

FormatName PhoneticGuide

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName yomilastname

MaxLength 150

RequiredLevel None

Type String

YomiMiddleName
PROPERTY VALUE

Description Type the phonetic spelling of the contact's middle name, if the
name is specified in Japanese, to make sure the name is
pronounced correctly in phone calls with the contact.

DisplayName Yomi Middle Name

FormatName PhoneticGuide

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName yomimiddlename

MaxLength 150

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AccountId
AccountIdName
AccountIdYomiName
Address1_Composite
Address2_Composite
Address3_Composite
Aging30
Aging30_Base
Aging60
Aging60_Base
Aging90
Aging90_Base
AnnualIncome_Base
CreatedBy
CreatedByExternalParty
CreatedByExternalPartyName
CreatedByExternalPartyYomiName
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CreditLimit_Base
EntityImage_Timestamp
EntityImage_URL
EntityImageId
ExchangeRate
FullName
IsAutoCreate
IsPrivate
MasterContactIdName
MasterContactIdYomiName
MasterId
Merged
ModifiedBy
ModifiedByExternalParty
ModifiedByExternalPartyName
ModifiedByExternalPartyYomiName
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParentContactId
ParentContactIdName
ParentContactIdYomiName
ParentCustomerIdName
ParentCustomerIdYomiName
PreferredSystemUserIdName
PreferredSystemUserIdYomiName
SLAInvokedId
SLAInvokedIdName
SLAName
TimeSpentByMeOnEmailAndMeetings
TransactionCurrencyIdName
VersionNumber
YomiFullName
AccountId
PROPERTY VALUE

Description Unique identifier of the account with which the contact is


associated.

DisplayName Account

IsValidForForm False

IsValidForRead True

LogicalName accountid
PROPERTY VALUE

RequiredLevel None

Targets account

Type Lookup

AccountIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName accountidname

MaxLength 100

RequiredLevel None

Type String

AccountIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName accountidyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

Address1_Composite
PROPERTY VALUE

Description Shows the complete primary address.

DisplayName Address 1

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_composite

MaxLength 1000

RequiredLevel None

Type Memo

Address2_Composite
PROPERTY VALUE

Description Shows the complete secondary address.

DisplayName Address 2

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address2_composite

MaxLength 1000

RequiredLevel None

Type Memo

Address3_Composite
PROPERTY VALUE

Description Shows the complete third address.

DisplayName Address 3

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address3_composite

MaxLength 1000

RequiredLevel None

Type Memo

Aging30
PROPERTY VALUE

Description For system use only.

DisplayName Aging 30

IsValidForForm True

IsValidForRead True

LogicalName aging30

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

Aging30_Base
PROPERTY VALUE
PROPERTY VALUE

Description Shows the Aging 30 field converted to the system's default


base currency. The calculations use the exchange rate specified
in the Currencies area.

DisplayName Aging 30 (Base)

IsValidForForm True

IsValidForRead True

LogicalName aging30_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Aging60
PROPERTY VALUE

Description For system use only.

DisplayName Aging 60

IsValidForForm True

IsValidForRead True

LogicalName aging60

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

Aging60_Base
PROPERTY VALUE

Description Shows the Aging 60 field converted to the system's default


base currency. The calculations use the exchange rate specified
in the Currencies area.

DisplayName Aging 60 (Base)

IsValidForForm True

IsValidForRead True

LogicalName aging60_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Aging90
PROPERTY VALUE

Description For system use only.

DisplayName Aging 90

IsValidForForm True

IsValidForRead True

LogicalName aging90

MaxValue 100000000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel None

Type Money

Aging90_Base
PROPERTY VALUE

Description Shows the Aging 90 field converted to the system's default


base currency. The calculations use the exchange rate specified
in the Currencies area.

DisplayName Aging 90 (Base)

IsValidForForm True

IsValidForRead True

LogicalName aging90_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

AnnualIncome_Base
PROPERTY VALUE

Description Shows the Annual Income field converted to the system's


default base currency. The calculations use the exchange rate
specified in the Currencies area.

DisplayName Annual Income (Base)

IsValidForForm True

IsValidForRead True

LogicalName annualincome_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByExternalParty
PROPERTY VALUE

Description Shows the external party who created the record.

DisplayName Created By (External Party)

IsValidForForm True

IsValidForRead True

LogicalName createdbyexternalparty

RequiredLevel None

Targets externalparty

Type Lookup

CreatedByExternalPartyName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdbyexternalpartyname

MaxLength 100

RequiredLevel None

Type String

CreatedByExternalPartyYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyexternalpartyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None
PROPERTY VALUE

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

CreditLimit_Base
PROPERTY VALUE

Description Shows the Credit Limit field converted to the system's default
base currency for reporting purposes. The calculations use the
exchange rate specified in the Currencies area.

DisplayName Credit Limit (Base)

IsValidForForm True

IsValidForRead True

LogicalName creditlimit_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

EntityImage_Timestamp
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName entityimageid

RequiredLevel None

Type Uniqueidentifier

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

FullName
PROPERTY VALUE

Description Combines and shows the contact's first and last names so
that the full name can be displayed in views and reports.

DisplayName Full Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName fullname
PROPERTY VALUE

MaxLength 160

RequiredLevel None

Type String

IsAutoCreate
PROPERTY VALUE

Description Information about whether the contact was auto-created


when promoting an email or an appointment.

DisplayName Auto-created

IsValidForForm False

IsValidForRead False

LogicalName isautocreate

RequiredLevel None

Type Boolean

IsAutoCreate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsPrivate
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName isprivate

RequiredLevel None

Type Boolean
IsPrivate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MasterContactIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName mastercontactidname

MaxLength 100

RequiredLevel None

Type String

MasterContactIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName mastercontactidyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

MasterId
PROPERTY VALUE

Description Unique identifier of the master contact for merge.

DisplayName Master ID

IsValidForForm False

IsValidForRead True

LogicalName masterid

RequiredLevel None

Targets contact

Type Lookup

Merged
PROPERTY VALUE

Description Shows whether the account has been merged with a master
contact.

DisplayName Merged

IsValidForForm False

IsValidForRead True

LogicalName merged

RequiredLevel None

Type Boolean

Merged Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByExternalParty
PROPERTY VALUE

Description Shows the external party who modified the record.

DisplayName Modified By (External Party)

IsValidForForm True

IsValidForRead True

LogicalName modifiedbyexternalparty

RequiredLevel None

Targets externalparty

Type Lookup

ModifiedByExternalPartyName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyexternalpartyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByExternalPartyYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyexternalpartyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None
PROPERTY VALUE

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the contact.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit
PROPERTY VALUE

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the contact.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the contact.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ParentContactId
PROPERTY VALUE

Description Unique identifier of the parent contact.


PROPERTY VALUE

DisplayName Parent Contact

IsValidForForm False

IsValidForRead True

LogicalName parentcontactid

RequiredLevel None

Targets contact

Type Lookup

ParentContactIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentcontactidname

MaxLength 100

RequiredLevel None

Type String

ParentContactIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName parentcontactidyominame

MaxLength 100

RequiredLevel None

Type String

ParentCustomerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentcustomeridname

MaxLength 160

RequiredLevel ApplicationRequired

Type String

ParentCustomerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentcustomeridyominame
PROPERTY VALUE

MaxLength 450

RequiredLevel ApplicationRequired

Type String

PreferredSystemUserIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName preferredsystemuseridname

MaxLength 100

RequiredLevel None

Type String

PreferredSystemUserIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName preferredsystemuseridyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this case. This field is for internal
use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None

Type String

TimeSpentByMeOnEmailAndMeetings
PROPERTY VALUE

Description Total time spent for emails (read and write) and meetings by
me in relation to the contact record.

DisplayName Time Spent by me

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName timespentbymeonemailandmeetings

MaxLength 1250

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the contact.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

YomiFullName
PROPERTY VALUE

Description Shows the combined Yomi first and last names of the contact
so that the full phonetic name can be displayed in views and
reports.

DisplayName Yomi Full Name

FormatName PhoneticGuide
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName yomifullname

MaxLength 450

RequiredLevel None

Type String

One-To-Many Relationships
Listed by SchemaName.
contact_principalobjectattributeaccess
slakpiinstance_contact
socialactivity_postauthoraccount_contacts
Contact_Email_EmailSender
Contact_Tasks
contact_PostFollows
Contact_RecurringAppointmentMasters
contact_master_contact
lk_contact_feedback_createdby
contact_actioncard
contact_connections2
Contact_BulkDeleteFailures
contact_activity_parties
Contact_DuplicateBaseRecord
Contact_Annotation
Contact_SocialActivities
Contact_ActivityPointers
Contact_MailboxTrackingFolder
account_primary_contact
Socialprofile_customer_contacts
socialactivity_postauthor_contacts
lk_contact_feedback_createdonbehalfby
Contact_Emails
Contact_Appointments
Contact_Feedback
Contact_ProcessSessions
Contact_AsyncOperations
contact_connections1
Contact_CustomerAddress
Contact_Phonecalls
contact_customer_contacts
Contact_SyncErrors
Contact_DuplicateMatchingRecord
Contact_Faxes
Contact_Letters
contact_principalobjectattributeaccess
Same as principalobjectattributeaccess entity contact_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName contact_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_contact
Same as slakpiinstance entity slakpiinstance_contact Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName slakpiinstance_contact

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

socialactivity_postauthoraccount_contacts
Same as socialactivity entity socialactivity_postauthoraccount_contacts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute postauthoraccount

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName socialactivity_postauthoraccount_contacts

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_Email_EmailSender
Same as email entity Contact_Email_EmailSender Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute emailsender

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_Email_EmailSender

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_Tasks
Same as task entity Contact_Tasks Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Tasks

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

contact_PostFollows
Same as postfollow entity contact_PostFollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName contact_PostFollows

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_RecurringAppointmentMasters
Same as recurringappointmentmaster entity Contact_RecurringAppointmentMasters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_RecurringAppointmentMasters

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

contact_master_contact
Same as contact entity contact_master_contact Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity contact

ReferencingAttribute masterid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName contact_master_contact

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_contact_feedback_createdby
Same as feedback entity lk_contact_feedback_createdby Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity feedback

ReferencingAttribute createdbycontact

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_contact_feedback_createdby

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

contact_actioncard
Same as actioncard entity contact_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName contact_actioncard

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

contact_connections2
Same as connection entity contact_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName contact_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_BulkDeleteFailures
Same as bulkdeletefailure entity Contact_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

contact_activity_parties
Same as activityparty entity contact_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute partyid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName contact_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_DuplicateBaseRecord
Same as duplicaterecord entity Contact_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_Annotation
Same as annotation entity Contact_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_SocialActivities
Same as socialactivity entity Contact_SocialActivities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_SocialActivities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_ActivityPointers
Same as activitypointer entity Contact_ActivityPointers Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_ActivityPointers

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 20

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_MailboxTrackingFolder
Same as mailboxtrackingfolder entity Contact_MailboxTrackingFolder Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_MailboxTrackingFolder

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

account_primary_contact
Same as account entity account_primary_contact Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity account

ReferencingAttribute primarycontactid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName account_primary_contact

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Socialprofile_customer_contacts
Same as socialprofile entity Socialprofile_customer_contacts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialprofile

ReferencingAttribute customerid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Socialprofile_customer_contacts

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 40
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

socialactivity_postauthor_contacts
Same as socialactivity entity socialactivity_postauthor_contacts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute postauthor

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName socialactivity_postauthor_contacts

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_contact_feedback_createdonbehalfby
Same as feedback entity lk_contact_feedback_createdonbehalfby Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity feedback

ReferencingAttribute createdonbehalfbycontact

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_contact_feedback_createdonbehalfby

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_Emails
Same as email entity Contact_Emails Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Emails

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_Appointments
Same as appointment entity Contact_Appointments Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Appointments

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_Feedback
Same as feedback entity Contact_Feedback Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity feedback

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Feedback

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 150

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_ProcessSessions
Same as processsession entity Contact_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_AsyncOperations
Same as asyncoperation entity Contact_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

contact_connections1
Same as connection entity contact_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName contact_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_CustomerAddress
Same as customeraddress entity Contact_CustomerAddress Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity customeraddress

ReferencingAttribute parentid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_CustomerAddress

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 10

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_Phonecalls
Same as phonecall entity Contact_Phonecalls Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Phonecalls

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

contact_customer_contacts
Same as contact entity contact_customer_contacts Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity contact

ReferencingAttribute parentcustomerid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName contact_customer_contacts

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 40

CascadeConfiguration Assign: Cascade


Delete: RemoveLink
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_SyncErrors
Same as syncerror entity Contact_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_DuplicateMatchingRecord
Same as duplicaterecord entity Contact_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Contact_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Contact_Faxes
Same as fax entity Contact_Faxes Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Faxes

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Contact_Letters
Same as letter entity Contact_Letters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Contact_Letters

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
transactioncurrency_contact
contact_master_contact
lk_contactbase_createdby
lk_contact_createdonbehalfby
team_contacts
manualsla_contact
system_user_contacts
lk_contactbase_modifiedby
sla_contact
contact_customer_accounts
lk_contact_modifiedonbehalfby
processstage_contact
contact_owning_user
contact_customer_contacts
business_unit_contacts
transactioncurrency_contact
See transactioncurrency Entity transactioncurrency_contact One-To-Many relationship.
contact_master_contact
See contact Entity contact_master_contact One-To-Many relationship.
lk_contactbase_createdby
See systemuser Entity lk_contactbase_createdby One-To-Many relationship.
lk_contact_createdonbehalfby
See systemuser Entity lk_contact_createdonbehalfby One-To-Many relationship.
team_contacts
See team Entity team_contacts One-To-Many relationship.
manualsla_contact
See sla Entity manualsla_contact One-To-Many relationship.
system_user_contacts
See systemuser Entity system_user_contacts One-To-Many relationship.
lk_contactbase_modifiedby
See systemuser Entity lk_contactbase_modifiedby One-To-Many relationship.
sla_contact
See sla Entity sla_contact One-To-Many relationship.
contact_customer_accounts
See account Entity contact_customer_accounts One-To-Many relationship.
lk_contact_modifiedonbehalfby
See systemuser Entity lk_contact_modifiedonbehalfby One-To-Many relationship.
processstage_contact
See processstage Entity processstage_contact One-To-Many relationship.
contact_owning_user
See systemuser Entity contact_owning_user One-To-Many relationship.
contact_customer_contacts
See contact Entity contact_customer_contacts One-To-Many relationship.
business_unit_contacts
See businessunit Entity business_unit_contacts One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
contact EntityType
CustomControl Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

For internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/customcontrols Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/customcontrols(cust Delete
omcontrolid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/customcontrols(cust Retrieve
omcontrolid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/customcontrols RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/customcontrols(cust Update
omcontrolid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName CustomControls

DisplayCollectionName Custom Controls

DisplayName Custom Control

EntitySetName customcontrols

IsBPFEntity False

LogicalCollectionName customcontrols

LogicalName customcontrol
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute customcontrolid

PrimaryNameAttribute name

SchemaName CustomControl

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ClientJson
CompatibleDataTypes
CustomControlId
IntroducedVersion
Manifest
Name
Version
ClientJson
PROPERTY VALUE

Description Custom control data in JSON format.

DisplayName Custom control data in JSON format.

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName clientjson

MaxLength 1073741823

RequiredLevel None

Type Memo

CompatibleDataTypes
PROPERTY VALUE

Description Compatible Data Types For Custom Controls


PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName compatibledatatypes

MaxLength 1000

RequiredLevel SystemRequired

Type String

CustomControlId
PROPERTY VALUE

Description Unique identifier of the Custom Control for the Microsoft


Dynamics 365.

DisplayName Custom Control Identifier

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName customcontrolid

RequiredLevel SystemRequired

Type Uniqueidentifier

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

Manifest
PROPERTY VALUE

Description Manifest of the CustomControl.

DisplayName Manifest

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName manifest

MaxLength 1073741823

RequiredLevel SystemRequired

Type Memo

Name
PROPERTY VALUE

Description Name of the custom control.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName name

MaxLength 200

RequiredLevel SystemRequired

Type String

Version
PROPERTY VALUE

Description For internal use only.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName version

MaxLength 40

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CustomControlIdUnique
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CustomControlIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName customcontrolidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


custom control.

DisplayName Organization
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the Custom Control.

DisplayName Version Number

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
customcontrol_resource_id
Same as customcontrolresource entity customcontrol_resource_id Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity customcontrolresource

ReferencingAttribute customcontrolid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName customcontrol_resource_id

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_customcontrol_createdby
lk_customcontrol_createdonbehalfby
customcontrol_organization
lk_customcontrol_modifiedonbehalfby
lk_customcontrol_modifiedby
lk_customcontrol_createdby
See systemuser Entity lk_customcontrol_createdby One-To-Many relationship.
lk_customcontrol_createdonbehalfby
See systemuser Entity lk_customcontrol_createdonbehalfby One-To-Many relationship.
customcontrol_organization
See organization Entity customcontrol_organization One-To-Many relationship.
lk_customcontrol_modifiedonbehalfby
See systemuser Entity lk_customcontrol_modifiedonbehalfby One-To-Many relationship.
lk_customcontrol_modifiedby
See systemuser Entity lk_customcontrol_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
customcontrol EntityType
CustomControlDefaultConfig Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

For internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/customcontroldefaul Create
tconfigs
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/customcontroldefaul Delete
tconfigs(customcontroldefaultconfigid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/customcontroldefaul Retrieve
tconfigs(customcontroldefaultconfigid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/customcontroldefaul RetrieveMultiple
tconfigs
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/customcontroldefaul Update
tconfigs(customcontroldefaultconfigid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName CustomControlDefaultConfigs

DisplayCollectionName Custom Control Default Configs

DisplayName Custom Control Default Config

EntitySetName customcontroldefaultconfigs

IsBPFEntity False

LogicalCollectionName customcontroldefaultconfigs

LogicalName customcontroldefaultconfig
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute customcontroldefaultconfigid

PrimaryNameAttribute

SchemaName CustomControlDefaultConfig

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ControlDescriptionJson
ControlDescriptionXML
CustomControlDefaultConfigId
EventsXml
IntroducedVersion
PrimaryEntityTypeCode
ControlDescriptionJson
PROPERTY VALUE

Description Custom control configuration data in JSON format.

DisplayName Custom control configuration data in JSON format.

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName controldescriptionjson

MaxLength 1073741823

RequiredLevel None

Type Memo

ControlDescriptionXML
PROPERTY VALUE

Description controlDescriptionXML of the custom control default config.


PROPERTY VALUE

DisplayName ControlDescriptionXML

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName controldescriptionxml

MaxLength 1073741823

RequiredLevel SystemRequired

Type Memo

CustomControlDefaultConfigId
PROPERTY VALUE

Description Unique identifier of the Custom Control Default Config for the
Microsoft Dynamics 365.

DisplayName Custom Control Default Config Identifier

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName customcontroldefaultconfigid

RequiredLevel SystemRequired

Type Uniqueidentifier

EventsXml
PROPERTY VALUE

Description The events XML of the custom control default config.

DisplayName Events XML

Format TextArea

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName eventsxml

MaxLength 1073741823

RequiredLevel None

Type Memo

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

PrimaryEntityTypeCode
PROPERTY VALUE

Description Entity Type Code of the Custom Control Default Config.

DisplayName Entity Type Code of the Custom Control Default Config

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName primaryentitytypecode

RequiredLevel SystemRequired

Type EntityName

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CustomControlDefaultConfigIdUnique
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate
PROPERTY VALUE

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None
PROPERTY VALUE

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CustomControlDefaultConfigIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName customcontroldefaultconfigidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the web


resource.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the Custom Control Default Config.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
customcontroldefaultconfig_organization
lk_customcontroldefaultconfig_createdonbehalfby
lk_customcontroldefaultconfig_modifiedonbehalfby
lk_customcontroldefaultconfig_modifiedby
lk_customcontroldefaultconfig_createdby
customcontroldefaultconfig_organization
See organization Entity customcontroldefaultconfig_organization One-To-Many relationship.
lk_customcontroldefaultconfig_createdonbehalfby
See systemuser Entity lk_customcontroldefaultconfig_createdonbehalfby One-To-Many relationship.
lk_customcontroldefaultconfig_modifiedonbehalfby
See systemuser Entity lk_customcontroldefaultconfig_modifiedonbehalfby One-To-Many relationship.
lk_customcontroldefaultconfig_modifiedby
See systemuser Entity lk_customcontroldefaultconfig_modifiedby One-To-Many relationship.
lk_customcontroldefaultconfig_createdby
See systemuser Entity lk_customcontroldefaultconfig_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
customcontroldefaultconfig EntityType
CustomControlResource Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Custom Control Resource Id

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/customcontrolresour Create
ces
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/customcontrolresour Delete
ces(customcontrolresourceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/customcontrolresour Retrieve
ces(customcontrolresourceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/customcontrolresour RetrieveMultiple
ces
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/customcontrolresour Update
ces(customcontrolresourceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName CustomControlResources

DisplayCollectionName Custom Control Resources

DisplayName Custom Control Resource

EntitySetName customcontrolresources

IsBPFEntity False

LogicalCollectionName customcontrolresources

LogicalName customcontrolresource
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute customcontrolresourceid

PrimaryNameAttribute name

SchemaName CustomControlResource

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CustomControlId
CustomControlResourceId
IntroducedVersion
Name
Version
VersionRequirement
WebResourceId
CustomControlId
PROPERTY VALUE

Description Unique identifier of the custom control.

DisplayName Custom control identifier

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName customcontrolid

RequiredLevel SystemRequired

Type Uniqueidentifier

CustomControlResourceId
PROPERTY VALUE

Description Unique identifier of the Custom Control Resource.

DisplayName Custom Control Resource Id

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName customcontrolresourceid

RequiredLevel SystemRequired

Type Uniqueidentifier

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the custom control resource.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName name

MaxLength 200

RequiredLevel SystemRequired

Type String

Version
PROPERTY VALUE

Description For internal use only.

DisplayName Custom Control Resource Version

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName version

MaxLength 40

RequiredLevel SystemRequired

Type String

VersionRequirement
PROPERTY VALUE

Description For internal use only.

DisplayName Custom Control Resource Version Requirement

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName versionrequirement

MaxLength 40
PROPERTY VALUE

RequiredLevel None

Type String

WebResourceId
PROPERTY VALUE

Description Unique identifier of the web resource.

DisplayName Web Resource

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName webresourceid

RequiredLevel SystemRequired

Type Uniqueidentifier

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CustomControlResourceIdUnique
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup
CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CustomControlResourceIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName customcontrolresourceidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the web


resource.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the Custom Control Resource.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_customcontrolresource_createdby
lk_customcontrolresource_createdonbehalfby
customcontrol_resource_id
lk_customcontrolresource_modifiedonbehalfby
customcontrolresource_organization
lk_customcontrolresource_modifiedby
lk_customcontrolresource_createdby
See systemuser Entity lk_customcontrolresource_createdby One-To-Many relationship.
lk_customcontrolresource_createdonbehalfby
See systemuser Entity lk_customcontrolresource_createdonbehalfby One-To-Many relationship.
customcontrol_resource_id
See customcontrol Entity customcontrol_resource_id One-To-Many relationship.
lk_customcontrolresource_modifiedonbehalfby
See systemuser Entity lk_customcontrolresource_modifiedonbehalfby One-To-Many relationship.
customcontrolresource_organization
See organization Entity customcontrolresource_organization One-To-Many relationship.
lk_customcontrolresource_modifiedby
See systemuser Entity lk_customcontrolresource_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
customcontrolresource EntityType
CustomerAddress Entity Reference
4/3/2019 • 10 minutes to read • Edit Online

Address and shipping information. Used to store additional addresses for an account or contact.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/customeraddresses Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/customeraddresses(c Delete
ustomeraddressid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/customeraddresses(c Retrieve
ustomeraddressid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/customeraddresses RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/customeraddresses(c Update
ustomeraddressid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName CustomerAddresses

DisplayCollectionName Addresses

DisplayName Address

EntitySetName customeraddresses

IsBPFEntity False

LogicalCollectionName customeraddresses

LogicalName customeraddress
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute customeraddressid

PrimaryNameAttribute name

SchemaName CustomerAddress

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AddressNumber
AddressTypeCode
City
Country
County
CustomerAddressId
Fax
FreightTermsCode
ImportSequenceNumber
Latitude
Line1
Line2
Line3
Longitude
Name
ObjectTypeCode
OverriddenCreatedOn
ParentId
ParentIdTypeCode
PostalCode
PostOfficeBox
PrimaryContactName
ShippingMethodCode
StateOrProvince
Telephone1
Telephone2
Telephone3
TimeZoneRuleVersionNumber
TransactionCurrencyId
UPSZone
UTCConversionTimeZoneCode
UTCOffset
AddressNumber
PROPERTY VALUE

Description Shows the number of the address, to indicate whether the


address is the primary, secondary, or other address for the
customer.

DisplayName Address Number

Format None

IsValidForForm True

IsValidForRead True

LogicalName addressnumber

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

AddressTypeCode
PROPERTY VALUE

Description Select the address type, such as primary or billing.

DisplayName Address Type

IsValidForForm True

IsValidForRead True

LogicalName addresstypecode

RequiredLevel None

Type Picklist

AddressTypeCode Options

VALUE LABEL

1 Bill To

2 Ship To

3 Primary

4 Other
City
PROPERTY VALUE

Description Type the city for the customer's address to help identify the
location.

DisplayName City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName city

MaxLength 80

RequiredLevel None

Type String

Country
PROPERTY VALUE

Description Type the country or region for the customer's address.

DisplayName Country/Region

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName country

MaxLength 80

RequiredLevel None

Type String

County
PROPERTY VALUE
PROPERTY VALUE

Description Type the county for the customer's address.

DisplayName County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName county

MaxLength 50

RequiredLevel None

Type String

CustomerAddressId
PROPERTY VALUE

Description Unique identifier of the customer address.

DisplayName Address

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName customeraddressid

RequiredLevel SystemRequired

Type Uniqueidentifier

Fax
PROPERTY VALUE

Description Type the fax number associated with the customer's address.

DisplayName Fax

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName fax

MaxLength 50

RequiredLevel None

Type String

FreightTermsCode
PROPERTY VALUE

Description Select the freight terms to make sure shipping charges are
processed correctly.

DisplayName Freight Terms

IsValidForForm True

IsValidForRead True

LogicalName freighttermscode

RequiredLevel None

Type Picklist

FreightTermsCode Options

VALUE LABEL

1 FOB

2 No Charge

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Latitude
PROPERTY VALUE

Description Type the latitude value for the customer's address, for use in
mapping and other applications.

DisplayName Latitude

IsValidForForm True

IsValidForRead True

LogicalName latitude

MaxValue 90

MinValue -90

Precision 5

RequiredLevel None

Type Double

Line1
PROPERTY VALUE

Description Type the first line of the customer's address to help identify
the location.

DisplayName Street 1

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName line1

MaxLength 250

RequiredLevel ApplicationRequired

Type String

Line2
PROPERTY VALUE

Description Type the second line of the customer's address.

DisplayName Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName line2

MaxLength 250

RequiredLevel None

Type String

Line3
PROPERTY VALUE

Description Type the third line of the customer's address.

DisplayName Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName line3

MaxLength 250

RequiredLevel None

Type String

Longitude
PROPERTY VALUE

Description Type the longitude value for the customer's address, for use in
mapping and other applications.

DisplayName Longitude

IsValidForForm True

IsValidForRead True

LogicalName longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None

Type Double

Name
PROPERTY VALUE

Description Type a descriptive name for the customer's address, such as


Corporate Headquarters.

DisplayName Address Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name
PROPERTY VALUE

MaxLength 200

RequiredLevel ApplicationRequired

Type String

ObjectTypeCode
PROPERTY VALUE

Description Shows the type code of the customer record to indicate


whether the address belongs to a customer account or
contact.

DisplayName Object Type

IsValidForForm False

IsValidForRead True

LogicalName objecttypecode

RequiredLevel SystemRequired

Type EntityName

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ParentId
PROPERTY VALUE

Description Choose the customer's address.

DisplayName Parent

IsValidForForm False

IsValidForRead True

LogicalName parentid

RequiredLevel SystemRequired

Targets account,contact

Type Lookup

ParentIdTypeCode
PROPERTY VALUE

Description

DisplayName Parent Object Type

IsValidForForm False

IsValidForRead True

LogicalName parentidtypecode

RequiredLevel None

Type EntityName

PostalCode
PROPERTY VALUE

Description Type the ZIP Code or postal code for the address.

DisplayName ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName postalcode
PROPERTY VALUE

MaxLength 20

RequiredLevel None

Type String

PostOfficeBox
PROPERTY VALUE

Description Type the post office box number of the customer's address.

DisplayName Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName postofficebox

MaxLength 20

RequiredLevel None

Type String

PrimaryContactName
PROPERTY VALUE

Description Type the name of the primary contact person for the
customer's address.

DisplayName Address Contact

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName primarycontactname

MaxLength 150
PROPERTY VALUE

RequiredLevel None

Type String

ShippingMethodCode
PROPERTY VALUE

Description Select a shipping method for deliveries sent to this address.

DisplayName Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName shippingmethodcode

RequiredLevel None

Type Picklist

ShippingMethodCode Options

VALUE LABEL

1 Airborne

2 DHL

3 FedEx

4 UPS

5 Postal Mail

6 Full Load

7 Will Call

StateOrProvince
PROPERTY VALUE

Description Type the state or province of the customer's address.

DisplayName State/Province

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName stateorprovince

MaxLength 50

RequiredLevel None

Type String

Telephone1
PROPERTY VALUE

Description Type the primary phone number for the customer's address.

DisplayName Main Phone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone1

MaxLength 50

RequiredLevel None

Type String

Telephone2
PROPERTY VALUE

Description Type a second phone number for the customer's address.

DisplayName Phone 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName telephone2

MaxLength 50

RequiredLevel None

Type String

Telephone3
PROPERTY VALUE

Description Type a third phone number for the customer's address.

DisplayName Telephone 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName telephone3

MaxLength 50

RequiredLevel None

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1
PROPERTY VALUE

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UPSZone
PROPERTY VALUE

Description Type the UPS zone of the customer's address to make sure
shipping charges are calculated correctly and deliveries are
made promptly, if shipped by UPS.

DisplayName UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName upszone

MaxLength 4

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCOffset
PROPERTY VALUE

Description Select the time zone for the address.

DisplayName UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
Composite
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
TransactionCurrencyIdName
VersionNumber
Composite
PROPERTY VALUE

Description Shows the complete address.

DisplayName Address

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName composite

MaxLength 1000

RequiredLevel None

Type Memo

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup
CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Shows the business unit that the record owner belongs to.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the customer address.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the customer address.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
CustomerAddress_BulkDeleteFailures
CustomerAddress_SyncErrors
CustomerAddress_AsyncOperations
CustomerAddress_ProcessSessions
customeraddress_principalobjectattributeaccess
CustomerAddress_BulkDeleteFailures
Same as bulkdeletefailure entity CustomerAddress_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName CustomerAddress_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

CustomerAddress_SyncErrors
Same as syncerror entity CustomerAddress_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName CustomerAddress_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

CustomerAddress_AsyncOperations
Same as asyncoperation entity CustomerAddress_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName CustomerAddress_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

CustomerAddress_ProcessSessions
Same as processsession entity CustomerAddress_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName CustomerAddress_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

customeraddress_principalobjectattributeaccess
Same as principalobjectattributeaccess entity customeraddress_principalobjectattributeaccess Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName customeraddress_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_customeraddress_modifiedonbehalfby
TransactionCurrency_CustomerAddress
Contact_CustomerAddress
Account_CustomerAddress
lk_customeraddress_createdonbehalfby
lk_customeraddressbase_modifiedby
lk_customeraddressbase_createdby
lk_customeraddress_modifiedonbehalfby
See systemuser Entity lk_customeraddress_modifiedonbehalfby One-To-Many relationship.
TransactionCurrency_CustomerAddress
See transactioncurrency Entity TransactionCurrency_CustomerAddress One-To-Many relationship.
Contact_CustomerAddress
See contact Entity Contact_CustomerAddress One-To-Many relationship.
Account_CustomerAddress
See account Entity Account_CustomerAddress One-To-Many relationship.
lk_customeraddress_createdonbehalfby
See systemuser Entity lk_customeraddress_createdonbehalfby One-To-Many relationship.
lk_customeraddressbase_modifiedby
See systemuser Entity lk_customeraddressbase_modifiedby One-To-Many relationship.
lk_customeraddressbase_createdby
See systemuser Entity lk_customeraddressbase_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
customeraddress EntityType
DataPerformance Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Data Performance Dashboard.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/dataperformances(d Retrieve
ataperformanceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/dataperformances RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName DataPerformances

DisplayCollectionName Data Performance Collection

DisplayName Data Performance Dashboard

EntitySetName dataperformances

IsBPFEntity False

LogicalCollectionName dataperformances

LogicalName dataperformance

OwnershipType OrganizationOwned

PrimaryIdAttribute dataperformanceid

PrimaryNameAttribute

SchemaName DataPerformance

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
DataPerformanceId
PROPERTY VALUE

Description Unique identifier of the performance suggestion.

DisplayName Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName dataperformanceid

RequiredLevel SystemRequired

Type Uniqueidentifier

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AnyOptimizationApplied
AnyOptimizationAvailable
Component
Count
Entity
EstimatedOptimizationImpact
ExecutionPeriod
LastActionResult
LastOptimizationDate
MaxTime
MedianTime
MinTime
Operation
OptimizationStatus
OptimizationStorage
OrganizationId
RealizedOptimizationImpact
Solution
Weight
AnyOptimizationApplied
PROPERTY VALUE

Description An internal state which indicates whether at least one


optimization is applied.
PROPERTY VALUE

DisplayName Any Optimization Applied

IsValidForForm True

IsValidForRead True

LogicalName anyoptimizationapplied

RequiredLevel None

Type Boolean

AnyOptimizationApplied Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AnyOptimizationAvailable
PROPERTY VALUE

Description An internal state which indicates whether at least one


optimization is available for this record.

DisplayName Any Optimization Available

IsValidForForm True

IsValidForRead True

LogicalName anyoptimizationavailable

RequiredLevel None

Type Boolean

AnyOptimizationAvailable Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Component
PROPERTY VALUE

Description Name of the component

DisplayName Component

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName component

MaxLength 100000

RequiredLevel None

Type String

Count
PROPERTY VALUE

Description Number of times a queries were executed (Aggregated)

DisplayName Count

Format None

IsValidForForm True

IsValidForRead True

LogicalName count

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Entity
PROPERTY VALUE

Description Primary entity

DisplayName Entity
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName entity

MaxLength 100000

RequiredLevel None

Type String

EstimatedOptimizationImpact
PROPERTY VALUE

Description The expected average cost benefit of an optimization.

DisplayName Estimated Optimization Impact

IsValidForForm True

IsValidForRead True

LogicalName estimatedoptimizationimpact

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

ExecutionPeriod
PROPERTY VALUE

Description The execution period for which the performance metrics are
calculated.

DisplayName Execution Period

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName executionperiod

MaxLength 50

RequiredLevel None

Type String

LastActionResult
PROPERTY VALUE

Description An internal state which shows the result of the last action that
was taken on this record.

DisplayName Last Action Result

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName lastactionresult

MaxLength 50

RequiredLevel None

Type String

LastOptimizationDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Last time an optimization was applied.

DisplayName Last Optimization Date

Format DateAndTime
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName lastoptimizationdate

RequiredLevel None

Type DateTime

MaxTime
PROPERTY VALUE

Description Maximum execution time in seconds. (Aggregated)

DisplayName Max Time

IsValidForForm True

IsValidForRead True

LogicalName maxtime

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

MedianTime
PROPERTY VALUE

Description Average execution time in seconds. (Aggregated)

DisplayName Median Time

IsValidForForm True

IsValidForRead True

LogicalName mediantime

MaxValue 1000000000

MinValue 0
PROPERTY VALUE

Precision 2

RequiredLevel None

Type Decimal

MinTime
PROPERTY VALUE

Description Minimum execution time in seconds. (Aggregated)

DisplayName Min Time

IsValidForForm True

IsValidForRead True

LogicalName mintime

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

Operation
PROPERTY VALUE

Description Data operation that triggered the query (Retrieve Multiple,


etc.)

DisplayName Operation

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName operation

MaxLength 100000
PROPERTY VALUE

RequiredLevel None

Type String

OptimizationStatus
PROPERTY VALUE

Description Current optimization status of the record, showed to the


customer.

DisplayName Optimization Status

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName optimizationstatus

MaxLength 50

RequiredLevel None

Type String

OptimizationStorage
PROPERTY VALUE

Description Storage consumed by the optimization. (MB)

DisplayName Optimization Storage

IsValidForForm True

IsValidForRead True

LogicalName optimizationstorage

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None
PROPERTY VALUE

Type Decimal

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

RealizedOptimizationImpact
PROPERTY VALUE

Description Actual performance change after taking an optimization action


on the record.

DisplayName Optimization Impact (%)

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName realizedoptimizationimpact

MaxLength 50

RequiredLevel None

Type String

Solution
PROPERTY VALUE

Description Name of the solution that owns the component

DisplayName Solution

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName solution

MaxLength 100000

RequiredLevel None

Type String

Weight
PROPERTY VALUE

Description Query Weight of the component. Factored with the


Optimization Impact to determine the overall importance of
applying an optimization. (P2)

DisplayName Weight

IsValidForForm True

IsValidForRead True

LogicalName weight

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_dataperformance_organizationid
See organization Entity lk_dataperformance_organizationid One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
dataperformance EntityType
Dependency Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

A component dependency in CRM.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/dependencies(depen Retrieve
dencyid)
See Retrieve

RetrieveDependenciesForDelete RetrieveDependenciesForDelete RetrieveDependenciesForDeleteRequest


Function

RetrieveDependenciesForUninstall RetrieveDependenciesForUninstall RetrieveDependenciesForUninstallReque


Function st

RetrieveDependentComponents RetrieveDependentComponents RetrieveDependentComponentsRequest


Function

RetrieveMissingDependencies RetrieveMissingDependencies Function RetrieveMissingDependenciesRequest

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/dependencies RetrieveMultiple
See Query Data

RetrieveRequiredComponents RetrieveRequiredComponents Function RetrieveRequiredComponentsRequest

Entity Properties
PROPERTY VALUE

CollectionSchemaName Dependency

DisplayCollectionName Dependency

DisplayName Dependency

EntitySetName dependencies

IsBPFEntity False

LogicalCollectionName dependencies

LogicalName dependency
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute dependencyid

PrimaryNameAttribute

SchemaName Dependency

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
DependencyId
DependencyType
DependentComponentBaseSolutionId
DependentComponentNodeId
DependentComponentObjectId
DependentComponentParentId
DependentComponentType
RequiredComponentBaseSolutionId
RequiredComponentIntroducedVersion
RequiredComponentNodeId
RequiredComponentObjectId
RequiredComponentParentId
RequiredComponentType
VersionNumber
DependencyId
PROPERTY VALUE

Description Unique identifier of a dependency.

DisplayName Dependency Identifier

IsValidForForm False

IsValidForRead True

LogicalName dependencyid

RequiredLevel SystemRequired

Type Uniqueidentifier

DependencyType
PROPERTY VALUE

Description The dependency type of the dependency.

DisplayName Dependency Type

IsValidForForm False

IsValidForRead True

LogicalName dependencytype

RequiredLevel SystemRequired

Type Picklist

DependencyType Options

VALUE LABEL

0 None

1 Solution Internal

2 Published

4 Unpublished

DependentComponentBaseSolutionId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName dependentcomponentbasesolutionid

RequiredLevel None

Type Uniqueidentifier

DependentComponentNodeId
PROPERTY VALUE

Description Unique identifier of the dependent component's node.

DisplayName Dependent Component


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName dependentcomponentnodeid

RequiredLevel ApplicationRequired

Targets dependencynode

Type Lookup

DependentComponentObjectId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName dependentcomponentobjectid

RequiredLevel None

Type Uniqueidentifier

DependentComponentParentId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName dependentcomponentparentid

RequiredLevel None

Type Uniqueidentifier

DependentComponentType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName dependentcomponenttype

RequiredLevel None

Type Picklist

DependentComponentType Options

VALUE LABEL

1 Entity

2 Attribute

3 Relationship

4 Attribute Picklist Value

5 Attribute Lookup Value

6 View Attribute

7 Localized Label

8 Relationship Extra Condition

9 Option Set

10 Entity Relationship

11 Entity Relationship Role

12 Entity Relationship Relationships

13 Managed Property

14 Entity Key

16 Privilege

17 PrivilegeObjectTypeCode

18 Index
VALUE LABEL

20 Role

21 Role Privilege

22 Display String

23 Display String Map

24 Form

25 Organization

26 Saved Query

29 Workflow

31 Report

32 Report Entity

33 Report Category

34 Report Visibility

35 Attachment

36 Email Template

37 Contract Template

38 KB Article Template

39 Mail Merge Template

44 Duplicate Rule

45 Duplicate Rule Condition

46 Entity Map

47 Attribute Map

48 Ribbon Command

49 Ribbon Context Group

50 Ribbon Customization

52 Ribbon Rule
VALUE LABEL

53 Ribbon Tab To Command Map

55 Ribbon Diff

59 Saved Query Visualization

60 System Form

61 Web Resource

62 Site Map

63 Connection Role

64 Complex Control

65 Hierarchy Rule

66 Custom Control

68 Custom Control Default Config

70 Field Security Profile

71 Field Permission

90 Plugin Type

91 Plugin Assembly

92 SDK Message Processing Step

93 SDK Message Processing Step Image

95 Service Endpoint

150 Routing Rule

151 Routing Rule Item

152 SLA

153 SLA Item

154 Convert Rule

155 Convert Rule Item

161 Mobile Offline Profile


VALUE LABEL

162 Mobile Offline Profile Item

165 Similarity Rule

166 Data Source Mapping

201 SDKMessage

202 SDKMessageFilter

203 SdkMessagePair

204 SdkMessageRequest

205 SdkMessageRequestField

206 SdkMessageResponse

207 SdkMessageResponseField

208 Import Map

210 WebWizard

300 Canvas App

371 Connector

RequiredComponentBaseSolutionId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName requiredcomponentbasesolutionid

RequiredLevel None

Type Uniqueidentifier

RequiredComponentIntroducedVersion
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName requiredcomponentintroducedversion

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Double

RequiredComponentNodeId
PROPERTY VALUE

Description Unique identifier of the required component's node

DisplayName Required Component

IsValidForForm False

IsValidForRead True

LogicalName requiredcomponentnodeid

RequiredLevel ApplicationRequired

Targets dependencynode

Type Lookup

RequiredComponentObjectId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName requiredcomponentobjectid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

RequiredComponentParentId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName requiredcomponentparentid

RequiredLevel None

Type Uniqueidentifier

RequiredComponentType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName requiredcomponenttype

RequiredLevel None

Type Picklist

RequiredComponentType Options

VALUE LABEL

1 Entity

2 Attribute

3 Relationship

4 Attribute Picklist Value


VALUE LABEL

5 Attribute Lookup Value

6 View Attribute

7 Localized Label

8 Relationship Extra Condition

9 Option Set

10 Entity Relationship

11 Entity Relationship Role

12 Entity Relationship Relationships

13 Managed Property

14 Entity Key

16 Privilege

17 PrivilegeObjectTypeCode

18 Index

20 Role

21 Role Privilege

22 Display String

23 Display String Map

24 Form

25 Organization

26 Saved Query

29 Workflow

31 Report

32 Report Entity

33 Report Category

34 Report Visibility
VALUE LABEL

35 Attachment

36 Email Template

37 Contract Template

38 KB Article Template

39 Mail Merge Template

44 Duplicate Rule

45 Duplicate Rule Condition

46 Entity Map

47 Attribute Map

48 Ribbon Command

49 Ribbon Context Group

50 Ribbon Customization

52 Ribbon Rule

53 Ribbon Tab To Command Map

55 Ribbon Diff

59 Saved Query Visualization

60 System Form

61 Web Resource

62 Site Map

63 Connection Role

64 Complex Control

65 Hierarchy Rule

66 Custom Control

68 Custom Control Default Config

70 Field Security Profile


VALUE LABEL

71 Field Permission

90 Plugin Type

91 Plugin Assembly

92 SDK Message Processing Step

93 SDK Message Processing Step Image

95 Service Endpoint

150 Routing Rule

151 Routing Rule Item

152 SLA

153 SLA Item

154 Convert Rule

155 Convert Rule Item

161 Mobile Offline Profile

162 Mobile Offline Profile Item

165 Similarity Rule

166 Data Source Mapping

201 SDKMessage

202 SDKMessageFilter

203 SdkMessagePair

204 SdkMessageRequest

205 SdkMessageRequestField

206 SdkMessageResponse

207 SdkMessageResponseField

208 Import Map

210 WebWizard
VALUE LABEL

300 Canvas App

371 Connector

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

See also
About the Entity Reference
Web API Reference
dependency EntityType
DisplayString Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Customized messages for an entity that has been renamed.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/displaystrings(displa Retrieve
ystringid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/displaystrings RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/displaystrings(displa Update
ystringid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName DisplayStrings

DisplayCollectionName Display Strings

DisplayName Display String

EntitySetName displaystrings

IsBPFEntity False

LogicalCollectionName displaystrings

LogicalName displaystring

OwnershipType OrganizationOwned

PrimaryIdAttribute displaystringid

PrimaryNameAttribute

SchemaName DisplayString
Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CustomComment
CustomDisplayString
DisplayStringId
LanguageCode
CustomComment
PROPERTY VALUE

Description Comment for a customized display string.

DisplayName Comment

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName customcomment

MaxLength 500

RequiredLevel None

Type String

CustomDisplayString
PROPERTY VALUE

Description Customized display string.

DisplayName Custom Display String

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName customdisplaystring

MaxLength 750
PROPERTY VALUE

RequiredLevel None

Type String

DisplayStringId
PROPERTY VALUE

Description Unique identifier of the display string.

DisplayName Custom Display String Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName displaystringid

RequiredLevel SystemRequired

Type Uniqueidentifier

LanguageCode
PROPERTY VALUE

Description Language code of the display string.

DisplayName Language Code

Format Locale

IsValidForForm False

IsValidForRead True

LogicalName languagecode

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
DisplayStringIdUnique
DisplayStringKey
FormatParameters
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
PublishedDisplayString
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published
VALUE LABEL

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the display string.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the display string was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


displaystring.

DisplayName Created By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

DisplayStringIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName displaystringidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

DisplayStringKey
PROPERTY VALUE

Description For internal use only.

DisplayName Resource Key

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName displaystringkey

MaxLength 200

RequiredLevel SystemRequired

Type String

FormatParameters
PROPERTY VALUE

Description Parameters used for formatting the display string.

DisplayName Format Parameters

Format None

IsValidForForm False

IsValidForRead True

LogicalName formatparameters

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

IsManaged
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the display
string.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the display string was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
displaystring.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


display string.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PublishedDisplayString
PROPERTY VALUE

Description Published display string.

DisplayName Published Display String

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName publisheddisplaystring

MaxLength 750

RequiredLevel None

Type String

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
DisplayString_AsyncOperations
DisplayString_BulkDeleteFailures
DisplayString_AsyncOperations
Same as asyncoperation entity DisplayString_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName DisplayString_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

DisplayString_BulkDeleteFailures
Same as bulkdeletefailure entity DisplayString_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName DisplayString_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
organization_custom_displaystrings
lk_DisplayStringbase_createdby
lk_DisplayStringbase_modifiedby
lk_DisplayStringbase_modifiedonbehalfby
lk_DisplayStringbase_createdonbehalfby
organization_custom_displaystrings
See organization Entity organization_custom_displaystrings One-To-Many relationship.
lk_DisplayStringbase_createdby
See systemuser Entity lk_DisplayStringbase_createdby One-To-Many relationship.
lk_DisplayStringbase_modifiedby
See systemuser Entity lk_DisplayStringbase_modifiedby One-To-Many relationship.
lk_DisplayStringbase_modifiedonbehalfby
See systemuser Entity lk_DisplayStringbase_modifiedonbehalfby One-To-Many relationship.
lk_DisplayStringbase_createdonbehalfby
See systemuser Entity lk_DisplayStringbase_createdonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
displaystring EntityType
DocumentTemplate Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Used to store Document Templates in database in binary format.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/documenttemplates Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/documenttemplates( Delete
documenttemplateid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/documenttemplates( Retrieve
documenttemplateid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/documenttemplates RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/documenttemplates( Update
documenttemplateid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName DocumentTemplates

DisplayCollectionName Document Templates

DisplayName Document Template

EntitySetName documenttemplates

IsBPFEntity False

LogicalCollectionName documenttemplates

LogicalName documenttemplate
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute documenttemplateid

PrimaryNameAttribute name

SchemaName DocumentTemplate

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AssociatedEntityTypeCode
ClientData
Content
Description
DocumentTemplateId
DocumentType
LanguageCode
Name
Status
AssociatedEntityTypeCode
PROPERTY VALUE

Description Associated Entity Type Code.

DisplayName Associated Entity Type Code

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName associatedentitytypecode

RequiredLevel None

Type EntityName

ClientData
PROPERTY VALUE

Description Client data regarding this document template.

DisplayName Client Data


PROPERTY VALUE

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName clientdata

MaxLength 1073741823

RequiredLevel None

Type String

Content
PROPERTY VALUE

Description Bytes of the document template.

DisplayName Content

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName content

MaxLength 1073741823

RequiredLevel SystemRequired

Type String

Description
PROPERTY VALUE

Description Additional information to describe the Document Template

DisplayName Description

FormatName TextArea

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 100

RequiredLevel None

Type String

DocumentTemplateId
PROPERTY VALUE

Description Unique identifier of the document template.

DisplayName Document Template Identifier

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName documenttemplateid

RequiredLevel SystemRequired

Type Uniqueidentifier

DocumentType
PROPERTY VALUE

Description Option set for selecting the type of the document template

DisplayName Type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName documenttype

RequiredLevel SystemRequired

Type Picklist
DocumentType Options

VALUE LABEL

1 Microsoft Excel

2 Microsoft Word

LanguageCode
PROPERTY VALUE

Description Language of Document Template.

DisplayName Language

Format Language

IsValidForForm True

IsValidForRead True

LogicalName languagecode

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

Name
PROPERTY VALUE

Description Name of the document template.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

Status
PROPERTY VALUE

Description Information about whether the document template is active.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName status

RequiredLevel None

Type Boolean

Status Options

VALUE LABEL

1 Draft

0 Activated

DefaultValue: False

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the document


template.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the document template was created.
PROPERTY VALUE

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


document template.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the document
template.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the document template was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


document template.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the web


resource.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_documenttemplatebase_modifiedonbehalfby
lk_documenttemplatebase_createdby
lk_documenttemplatebase_modifiedby
lk_documenttemplatebase_createdonbehalfby
lk_documenttemplatebase_organization
lk_documenttemplatebase_modifiedonbehalfby
See systemuser Entity lk_documenttemplatebase_modifiedonbehalfby One-To-Many relationship.
lk_documenttemplatebase_createdby
See systemuser Entity lk_documenttemplatebase_createdby One-To-Many relationship.
lk_documenttemplatebase_modifiedby
See systemuser Entity lk_documenttemplatebase_modifiedby One-To-Many relationship.
lk_documenttemplatebase_createdonbehalfby
See systemuser Entity lk_documenttemplatebase_createdonbehalfby One-To-Many relationship.
lk_documenttemplatebase_organization
See organization Entity lk_documenttemplatebase_organization One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
documenttemplate EntityType
DuplicateRecord Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Potential duplicate record.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/duplicaterecords(dup Retrieve
licateid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/duplicaterecords RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName DuplicateRecords

DisplayCollectionName Duplicate Records

DisplayName Duplicate Record

EntitySetName duplicaterecords

IsBPFEntity False

LogicalCollectionName duplicaterecords

LogicalName duplicaterecord

OwnershipType None

PrimaryIdAttribute duplicateid

PrimaryNameAttribute

SchemaName DuplicateRecord

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
DuplicateId
PROPERTY VALUE

Description Unique identifier of the duplicate record.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName duplicateid

RequiredLevel SystemRequired

Type Uniqueidentifier

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AsyncOperationId
BaseRecordId
BaseRecordIdName
BaseRecordIdTypeCode
BaseRecordIdYomiName
CreatedOn
DuplicateRecordId
DuplicateRecordIdName
DuplicateRecordIdTypeCode
DuplicateRecordIdYomiName
DuplicateRuleId
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
AsyncOperationId
PROPERTY VALUE

Description Unique identifier of the system job that created this record.

DisplayName System Job

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName asyncoperationid

RequiredLevel None

Targets asyncoperation

Type Lookup

BaseRecordId
PROPERTY VALUE

Description Unique identifier of the base record.

DisplayName Base Record ID

IsValidForForm True

IsValidForRead True

LogicalName baserecordid

RequiredLevel None

Targets account,appointment,channelaccessprofile,contact,email,emails
erverprofile,fax,goal,goalrollupquery,kbarticle,knowledgearticle,
knowledgebaserecord,letter,msdyn_connector,phonecall,publis
her,queue,recurringappointmentmaster,sharepointdocumentlo
cation,sharepointsite,socialactivity,socialprofile,systemuser,task,
team,transactioncurrency

Type Lookup

BaseRecordIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName baserecordidname

MaxLength 400
PROPERTY VALUE

RequiredLevel None

Type String

BaseRecordIdTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName baserecordidtypecode

RequiredLevel None

Type EntityName

BaseRecordIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName baserecordidyominame

MaxLength 400

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the duplicate record was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

DuplicateRecordId
PROPERTY VALUE

Description Unique identifier of the potential duplicate record.

DisplayName Duplicate Record ID

IsValidForForm True

IsValidForRead True

LogicalName duplicaterecordid

RequiredLevel None

Targets account,appointment,channelaccessprofile,contact,email,emails
erverprofile,fax,goal,goalrollupquery,kbarticle,knowledgearticle,
knowledgebaserecord,letter,msdyn_connector,phonecall,publis
her,queue,recurringappointmentmaster,sharepointdocumentlo
cation,sharepointsite,socialactivity,socialprofile,systemuser,task,
team,transactioncurrency

Type Lookup

DuplicateRecordIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName duplicaterecordidname

MaxLength 400

RequiredLevel None

Type String

DuplicateRecordIdTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName duplicaterecordidtypecode

RequiredLevel None

Type EntityName

DuplicateRecordIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName duplicaterecordidyominame
PROPERTY VALUE

MaxLength 400

RequiredLevel None

Type String

DuplicateRuleId
PROPERTY VALUE

Description Unique identifier of the duplicate rule against which this


duplicate was found.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName duplicateruleid

RequiredLevel None

Targets duplicaterule

Type Lookup

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the duplicate
record.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the duplicate
record.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel ApplicationRequired

Type Uniqueidentifier

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the duplicate record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel ApplicationRequired

Type Uniqueidentifier
Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
msdyn_connector_DuplicateMatchingRecord
msdyn_connector_DuplicateBaseRecord
knowledgearticle_DuplicateMatchingRecord
knowledgearticle_DuplicateBaseRecord
KnowledgeBaseRecord_DuplicateMatchingRecord
KnowledgeBaseRecord_DuplicateBaseRecord
Email_DuplicateMatchingRecord
Publisher_DuplicateMatchingRecord
Queue_DuplicateBaseRecord
Letter_DuplicateBaseRecord
Team_DuplicateBaseRecord
KbArticle_DuplicateMatchingRecord
Appointment_DuplicateBaseRecord
Account_DuplicateBaseRecord
DuplicateRule_DuplicateBaseRecord
SharePointSite_DuplicateBaseRecord
KbArticle_DuplicateBaseRecord
Task_DuplicateMatchingRecord
SocialProfile_DuplicateMatchingRecord
PhoneCall_DuplicateBaseRecord
TransactionCurrency_DuplicateMatchingRecord
Goal_DuplicateMatchingRecord
SharePointSite_DuplicateMatchingRecord
emailserverprofile_duplicatebaserecord
Publisher_DuplicateBaseRecord
SystemUser_DuplicateBaseRecord
SocialActivity_DuplicateBaseRecord
Contact_DuplicateMatchingRecord
GoalRollupQuery_DuplicateMatchingRecord
Contact_DuplicateBaseRecord
TransactionCurrency_DuplicateBaseRecord
Email_DuplicateBaseRecord
PhoneCall_DuplicateMatchingRecord
Team_DuplicateMatchingRecord
SystemUser_DuplicateMatchingRecord
Appointment_DuplicateMatchingRecord
Account_DuplicateMatchingRecord
Fax_DuplicateBaseRecord
Letter_DuplicateMatchingRecord
emailserverprofile_duplicatematchingrecord
SharePointDocumentLocation_DuplicateBaseRecord
Goal_DuplicateBaseRecord
RecurringAppointmentMaster_DuplicateMatchingRecord
Task_DuplicateBaseRecord
RecurringAppointmentMaster_DuplicateBaseRecord
Queue_DuplicateMatchingRecord
SocialProfile_DuplicateBaseRecord
SharePointDocumentLocation_DuplicateMatchingRecord
GoalRollupQuery_DuplicateBaseRecord
AsyncOperation_DuplicateBaseRecord
Fax_DuplicateMatchingRecord
SocialActivity_DuplicateMatchingRecord
msdyn_connector_DuplicateMatchingRecord
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_DuplicateMatchingRecord One-To-Many relationship.
msdyn_connector_DuplicateBaseRecord
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_DuplicateBaseRecord One-To-Many relationship.
knowledgearticle_DuplicateMatchingRecord
See knowledgearticle Entity knowledgearticle_DuplicateMatchingRecord One-To-Many relationship.
knowledgearticle_DuplicateBaseRecord
See knowledgearticle Entity knowledgearticle_DuplicateBaseRecord One-To-Many relationship.
KnowledgeBaseRecord_DuplicateMatchingRecord
See knowledgebaserecord Entity KnowledgeBaseRecord_DuplicateMatchingRecord One-To-Many relationship.
KnowledgeBaseRecord_DuplicateBaseRecord
See knowledgebaserecord Entity KnowledgeBaseRecord_DuplicateBaseRecord One-To-Many relationship.
Email_DuplicateMatchingRecord
See email Entity Email_DuplicateMatchingRecord One-To-Many relationship.
Publisher_DuplicateMatchingRecord
See publisher Entity Publisher_DuplicateMatchingRecord One-To-Many relationship.
Queue_DuplicateBaseRecord
See queue Entity Queue_DuplicateBaseRecord One-To-Many relationship.
Letter_DuplicateBaseRecord
See letter Entity Letter_DuplicateBaseRecord One-To-Many relationship.
Team_DuplicateBaseRecord
See team Entity Team_DuplicateBaseRecord One-To-Many relationship.
KbArticle_DuplicateMatchingRecord
See kbarticle Entity KbArticle_DuplicateMatchingRecord One-To-Many relationship.
Appointment_DuplicateBaseRecord
See appointment Entity Appointment_DuplicateBaseRecord One-To-Many relationship.
Account_DuplicateBaseRecord
See account Entity Account_DuplicateBaseRecord One-To-Many relationship.
DuplicateRule_DuplicateBaseRecord
See duplicaterule Entity DuplicateRule_DuplicateBaseRecord One-To-Many relationship.
SharePointSite_DuplicateBaseRecord
See sharepointsite Entity SharePointSite_DuplicateBaseRecord One-To-Many relationship.
KbArticle_DuplicateBaseRecord
See kbarticle Entity KbArticle_DuplicateBaseRecord One-To-Many relationship.
Task_DuplicateMatchingRecord
See task Entity Task_DuplicateMatchingRecord One-To-Many relationship.
SocialProfile_DuplicateMatchingRecord
See socialprofile Entity SocialProfile_DuplicateMatchingRecord One-To-Many relationship.
PhoneCall_DuplicateBaseRecord
See phonecall Entity PhoneCall_DuplicateBaseRecord One-To-Many relationship.
TransactionCurrency_DuplicateMatchingRecord
See transactioncurrency Entity TransactionCurrency_DuplicateMatchingRecord One-To-Many relationship.
Goal_DuplicateMatchingRecord
See goal Entity Goal_DuplicateMatchingRecord One-To-Many relationship.
SharePointSite_DuplicateMatchingRecord
See sharepointsite Entity SharePointSite_DuplicateMatchingRecord One-To-Many relationship.
emailserverprofile_duplicatebaserecord
See emailserverprofile Entity emailserverprofile_duplicatebaserecord One-To-Many relationship.
Publisher_DuplicateBaseRecord
See publisher Entity Publisher_DuplicateBaseRecord One-To-Many relationship.
SystemUser_DuplicateBaseRecord
See systemuser Entity SystemUser_DuplicateBaseRecord One-To-Many relationship.
SocialActivity_DuplicateBaseRecord
See socialactivity Entity SocialActivity_DuplicateBaseRecord One-To-Many relationship.
Contact_DuplicateMatchingRecord
See contact Entity Contact_DuplicateMatchingRecord One-To-Many relationship.
GoalRollupQuery_DuplicateMatchingRecord
See goalrollupquery Entity GoalRollupQuery_DuplicateMatchingRecord One-To-Many relationship.
Contact_DuplicateBaseRecord
See contact Entity Contact_DuplicateBaseRecord One-To-Many relationship.
TransactionCurrency_DuplicateBaseRecord
See transactioncurrency Entity TransactionCurrency_DuplicateBaseRecord One-To-Many relationship.
Email_DuplicateBaseRecord
See email Entity Email_DuplicateBaseRecord One-To-Many relationship.
PhoneCall_DuplicateMatchingRecord
See phonecall Entity PhoneCall_DuplicateMatchingRecord One-To-Many relationship.
Team_DuplicateMatchingRecord
See team Entity Team_DuplicateMatchingRecord One-To-Many relationship.
SystemUser_DuplicateMatchingRecord
See systemuser Entity SystemUser_DuplicateMatchingRecord One-To-Many relationship.
Appointment_DuplicateMatchingRecord
See appointment Entity Appointment_DuplicateMatchingRecord One-To-Many relationship.
Account_DuplicateMatchingRecord
See account Entity Account_DuplicateMatchingRecord One-To-Many relationship.
Fax_DuplicateBaseRecord
See fax Entity Fax_DuplicateBaseRecord One-To-Many relationship.
Letter_DuplicateMatchingRecord
See letter Entity Letter_DuplicateMatchingRecord One-To-Many relationship.
emailserverprofile_duplicatematchingrecord
See emailserverprofile Entity emailserverprofile_duplicatematchingrecord One-To-Many relationship.
SharePointDocumentLocation_DuplicateBaseRecord
See sharepointdocumentlocation Entity SharePointDocumentLocation_DuplicateBaseRecord One-To-Many
relationship.
Goal_DuplicateBaseRecord
See goal Entity Goal_DuplicateBaseRecord One-To-Many relationship.
RecurringAppointmentMaster_DuplicateMatchingRecord
See recurringappointmentmaster Entity RecurringAppointmentMaster_DuplicateMatchingRecord One-To-Many
relationship.
Task_DuplicateBaseRecord
See task Entity Task_DuplicateBaseRecord One-To-Many relationship.
RecurringAppointmentMaster_DuplicateBaseRecord
See recurringappointmentmaster Entity RecurringAppointmentMaster_DuplicateBaseRecord One-To-Many
relationship.
Queue_DuplicateMatchingRecord
See queue Entity Queue_DuplicateMatchingRecord One-To-Many relationship.
SocialProfile_DuplicateBaseRecord
See socialprofile Entity SocialProfile_DuplicateBaseRecord One-To-Many relationship.
SharePointDocumentLocation_DuplicateMatchingRecord
See sharepointdocumentlocation Entity SharePointDocumentLocation_DuplicateMatchingRecord One-To-Many
relationship.
GoalRollupQuery_DuplicateBaseRecord
See goalrollupquery Entity GoalRollupQuery_DuplicateBaseRecord One-To-Many relationship.
AsyncOperation_DuplicateBaseRecord
See asyncoperation Entity AsyncOperation_DuplicateBaseRecord One-To-Many relationship.
Fax_DuplicateMatchingRecord
See fax Entity Fax_DuplicateMatchingRecord One-To-Many relationship.
SocialActivity_DuplicateMatchingRecord
See socialactivity Entity SocialActivity_DuplicateMatchingRecord One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
duplicaterecord EntityType
DuplicateRule Entity Reference
4/3/2019 • 17 minutes to read • Edit Online

Rule used to identify potential duplicates.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/duplicaterules(duplic
ateruleid)
Update ownerid property.

CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionRu


ule ule Action leRequest

Create POST [org CreateRequest or


URI]/api/data/v9.0/duplicaterules Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/duplicaterules(duplic Delete
ateruleid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

PublishDuplicateRule PublishDuplicateRule Action PublishDuplicateRuleRequest

PublishXml PublishXml Action PublishXmlRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/duplicaterules(duplic Retrieve
ateruleid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/duplicaterules RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

UnpublishDuplicateRule UnpublishDuplicateRule Action UnpublishDuplicateRuleRequest


MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/duplicaterules(duplic Update
ateruleid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName DuplicateRules

DisplayCollectionName Duplicate Detection Rules

DisplayName Duplicate Detection Rule

EntitySetName duplicaterules

IsBPFEntity False

LogicalCollectionName duplicaterules

LogicalName duplicaterule

OwnershipType UserOwned

PrimaryIdAttribute duplicateruleid

PrimaryNameAttribute name

SchemaName DuplicateRule

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
BaseEntityName
Description
DuplicateRuleId
ExcludeInactiveRecords
IsCaseSensitive
MatchingEntityName
Name
OwnerId
OwnerIdType
StatusCode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
BaseEntityName
PROPERTY VALUE

Description Record type of the record being evaluated for potential


duplicates.

DisplayName Base Record Type

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName baseentityname

MaxLength 160

RequiredLevel ApplicationRequired

Type String

Description
PROPERTY VALUE

Description Description of the duplicate detection rule.

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type String

DuplicateRuleId
PROPERTY VALUE

Description Unique identifier of the duplicate detection rule.

DisplayName Duplicate Detection Rule

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName duplicateruleid

RequiredLevel SystemRequired

Type Uniqueidentifier

ExcludeInactiveRecords
PROPERTY VALUE

Description Determines whether to flag inactive records as duplicates

DisplayName Exclude Inactive Records

IsValidForForm True

IsValidForRead True

LogicalName excludeinactiverecords

RequiredLevel None

Type Boolean

ExcludeInactiveRecords Options

VALUE LABEL

1 True

0 False

DefaultValue: False
IsCaseSensitive
PROPERTY VALUE

Description Indicates if the operator is case-sensitive.

DisplayName Case Sensitive


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName iscasesensitive

RequiredLevel None

Type Boolean

IsCaseSensitive Options

VALUE LABEL

1 True

0 False

DefaultValue: False
MatchingEntityName
PROPERTY VALUE

Description Record type of the records being evaluated as potential


duplicates.

DisplayName Matching Record Type

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName matchingentityname

MaxLength 160

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the duplicate detection rule.


PROPERTY VALUE

DisplayName Rule Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 160

RequiredLevel SystemRequired

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the duplicate
detection rule.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

StatusCode
PROPERTY VALUE

Description Reason for the status of the duplicate detection rule.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

0 Unpublished 0

1 Publishing 0

2 Published 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber
PROPERTY VALUE

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
BaseEntityMatchCodeTable
BaseEntityTypeCode
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
MatchingEntityMatchCodeTable
MatchingEntityTypeCode
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
StateCode
BaseEntityMatchCodeTable
PROPERTY VALUE

Description Database table that stores match codes for the record type
being evaluated for potential duplicates.

DisplayName Base Record Type Match Code Table

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName baseentitymatchcodetable

MaxLength 50

RequiredLevel None

Type String

BaseEntityTypeCode
PROPERTY VALUE

Description Record type of the record being evaluated for potential


duplicates.

DisplayName Base Record Type

IsValidForForm True

IsValidForRead True

LogicalName baseentitytypecode
PROPERTY VALUE

RequiredLevel SystemRequired

Type Picklist

BaseEntityTypeCode Options

VALUE LABEL

1 Account

2 Contact

5 Note

6 Business Unit Map

7 Owner

8 User

9 Team

10 Business Unit

14 System User Principal

29 Subscription

30 Filter Template

31 Privilege Object Type Code

33 Subscription Synchronization Information

35 Tracking information for deleted entities

36 Client update

37 Subscription Manually Tracked Object

42 SystemUser BusinessUnit Entity Map

44 Field Sharing

45 Subscription Statistic Offline

46 Subscription Statistic Outlook

47 Subscription Sync Entry Offline

48 Subscription Sync Entry Outlook


VALUE LABEL

50 Position

51 System User Manager Map

52 User Search Facet

54 Global Search Configuration

55 FileAttachment

78 Virtual Entity Data Provider

85 Virtual Entity Data Source

92 Team template

99 Social Profile

126 Indexed Article

127 Article

129 Subject

132 Announcement

135 Activity Party

150 User Settings

300 Canvas App

301 Callback Registration

371 Connector

950 New Process

951 Translation Process

955 Expired Process

1001 Attachment

1002 Attachment

1003 Internal Address

1007 Image Descriptor


VALUE LABEL

1016 Article Template

1019 Organization

1021 Organization UI

1023 Privilege

1030 System Form

1031 User Dashboard

1036 Security Role

1037 Role Template

1039 View

1043 String Map

1071 Address

1072 Subscription Clients

1075 Status Map

1082 Article Comment

1086 User Fiscal Calendar

1094 Authorization Server

1095 Partner Application

1111 System Chart

1112 User Chart

1113 Ribbon Tab To Command Mapping

1115 Ribbon Context Group

1116 Ribbon Command

1117 Ribbon Rule

1120 Application Ribbons

1130 Ribbon Difference


VALUE LABEL

1140 Replication Backlog

1189 Document Suggestions

1190 SuggestionCardTemplate

1200 Field Security Profile

1201 Field Permission

1203 Team Profiles

1234 Channel Property Group

1236 Channel Property

1300 SocialInsightsConfiguration

1309 Saved Organization Insights Configuration

1400 Sync Attribute Mapping Profile

1401 Sync Attribute Mapping

1403 Team Sync-Attribute Mapping Profiles

1404 Principal Sync Attribute Map

2000 Annual Fiscal Calendar

2001 Semiannual Fiscal Calendar

2002 Quarterly Fiscal Calendar

2003 Monthly Fiscal Calendar

2004 Fixed Monthly Fiscal Calendar

2010 Email Template

2012 Unresolved Address

2013 Territory

2015 Theme

2016 User Mapping

2020 Queue
VALUE LABEL

2023 QueueItemCount

2024 QueueMemberCount

2027 License

2029 Queue Item

2500 User Entity UI Settings

2501 User Entity Instance Data

3000 Integration Status

3005 Channel Access Profile

3008 External Party

3231 Connection Role

3233 Connection Role Object Type Code

3234 Connection

4003 Calendar

4004 Calendar Rule

4011 Inter Process Lock

4023 Email Hash

4101 Display String Map

4102 Display String

4110 Notification

4120 Exchange Sync Id Mapping

4200 Activity

4201 Appointment

4202 Email

4204 Fax

4207 Letter
VALUE LABEL

4210 Phone Call

4212 Task

4216 Social Activity

4220 UntrackedEmail

4230 Saved View

4231 Metadata Difference

4232 Business Data Localized Label

4250 Recurrence Rule

4251 Recurring Appointment

4299 Email Search

4410 Data Import

4411 Data Map

4412 Import Source File

4413 Import Data

4414 Duplicate Detection Rule

4415 Duplicate Record

4416 Duplicate Rule Condition

4417 Column Mapping

4418 List Value Mapping

4419 Lookup Mapping

4420 Owner Mapping

4423 Import Log

4424 Bulk Delete Operation

4425 Bulk Delete Failure

4426 Transformation Mapping


VALUE LABEL

4427 Transformation Parameter Mapping

4428 Import Entity Mapping

4450 Data Performance Dashboard

4490 Office Document

4500 Relationship Role

4501 Relationship Role Map

4502 Customer Relationship

4567 Auditing

4579 Ribbon Client Metadata.

4600 Entity Map

4601 Attribute Map

4602 Plug-in Type

4603 Plug-in Type Statistic

4605 Plug-in Assembly

4606 Sdk Message

4607 Sdk Message Filter

4608 Sdk Message Processing Step

4609 Sdk Message Request

4610 Sdk Message Response

4611 Sdk Message Response Field

4613 Sdk Message Pair

4614 Sdk Message Request Field

4615 Sdk Message Processing Step Image

4616 Sdk Message Processing Step Secure Configuration

4618 Service Endpoint


VALUE LABEL

4619 Plug-in Trace Log

4700 System Job

4702 Workflow Wait Subscription

4703 Process

4704 Process Dependency

4705 ISV Config

4706 Process Log

4707 Application File

4708 Organization Statistic

4709 Site Map

4710 Process Session

4711 Expander Event

4712 Process Trigger

4724 Process Stage

4725 Business Process Flow Instance

4800 Web Wizard

4802 Wizard Page

4803 Web Wizard Access Privilege

4810 Time Zone Definition

4811 Time Zone Rule

4812 Time Zone Localized Name

7000 System Application Metadata

7001 User Application Metadata

7100 Solution

7101 Publisher
VALUE LABEL

7102 Publisher Address

7103 Solution Component

7105 Dependency

7106 Dependency Node

7107 Invalid Dependency

7108 Dependency Feature

7200 RuntimeDependency

8000 Post

8001 Post Role

8002 Post Regarding

8003 Follow

8005 Comment

8006 Like

8040 ACIViewMapper

8050 Trace

8051 Trace Association

8052 Trace Regarding

8181 Routing Rule Set

8199 Rule Item

8700 AppModule Metadata

8701 AppModule Metadata Dependency

8702 AppModule Metadata Async Operation

8840 Hierarchy Rule

9006 Model-driven App

9007 App Module Component


VALUE LABEL

9009 App Module Roles

9011 App Config Master

9012 App Configuration

9013 App Configuration Instance

9100 Report

9101 Report Related Entity

9102 Report Related Category

9103 Report Visibility

9104 Report Link

9105 Currency

9106 Mail Merge Template

9107 Import Job

9201 LocalConfigStore

9300 Record Creation and Update Rule

9301 Record Creation and Update Rule Item

9333 Web Resource

9400 Channel Access Profile Rule

9401 Channel Access Profile Rule Item

9502 SharePoint Site

9507 Sharepoint Document

9508 Document Location

9509 SharePoint Data

9510 Rollup Properties

9511 Rollup Job

9600 Goal
VALUE LABEL

9602 Rollup Query

9603 Goal Metric

9604 Rollup Field

9605 Email Server Profile

9606 Mailbox

9607 Mailbox Statistics

9608 Mailbox Auto Tracking Folder

9609 Mailbox Tracking Category

9650 Process Configuration

9690 Organization Insights Notification

9699 Organization Insights Metric

9750 SLA

9751 SLA Item

9752 SLA KPI Instance

9753 Custom Control

9754 Custom Control Resource

9755 Custom Control Default Config

9866 Mobile Offline Profile

9867 Mobile Offline Profile Item

9868 Mobile Offline Profile Item Association

9869 Sync Error

9870 Offline Command Definition

9875 Language Provisioning State

9890 SolutionHistoryData

9900 Navigation Setting


VALUE LABEL

9910 MultiEntitySearch

9912 Multi Select Option Value

9919 Hierarchy Security Configuration

9930 Knowledge Base Record

9932 Time Stamp Date Mapping

9936 Azure Service Connection

9940 Document Template

9941 Personal Document Template

9945 Text Analytics Entity Mapping

9947 Knowledge Search Model

9949 Advanced Similarity Rule

9950 Office Graph Document

9951 Similarity Rule

9953 Knowledge Article

9955 Knowledge Article Views

9957 Language

9958 Feedback

9959 Category

9960 Knowledge Article Category

9961 DelveActionHub

9962 Action Card

9968 ActionCardUserState

9973 Action Card User Settings

9983 Action Card Type

9986 Interaction for Email


VALUE LABEL

9987 External Party Item

9996 HolidayWrapper

9997 Email Signature

10000 OData v4 Data Source

10001 Solution Component Summary

10002 Solution Component Data Source

10003 Solution History

10004 Solution History Data Source

10005 Component Layer

10006 Component Layer Data Source

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the duplicate


detection rule.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the duplicate detection rule was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


duplicaterule.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

MatchingEntityMatchCodeTable
PROPERTY VALUE

Description Database table that stores match codes for potential duplicate
records.

DisplayName Matching Record Type Match Code Table

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName matchingentitymatchcodetable

MaxLength 50

RequiredLevel None

Type String
MatchingEntityTypeCode
PROPERTY VALUE

Description Record type of the records being evaluated as potential


duplicates.

DisplayName Matching Record Type

IsValidForForm True

IsValidForRead True

LogicalName matchingentitytypecode

RequiredLevel SystemRequired

Type Picklist

MatchingEntityTypeCode Options

VALUE LABEL

1 Account

2 Contact

5 Note

6 Business Unit Map

7 Owner

8 User

9 Team

10 Business Unit

14 System User Principal

29 Subscription

30 Filter Template

31 Privilege Object Type Code

33 Subscription Synchronization Information

35 Tracking information for deleted entities

36 Client update

37 Subscription Manually Tracked Object


VALUE LABEL

42 SystemUser BusinessUnit Entity Map

44 Field Sharing

45 Subscription Statistic Offline

46 Subscription Statistic Outlook

47 Subscription Sync Entry Offline

48 Subscription Sync Entry Outlook

50 Position

51 System User Manager Map

52 User Search Facet

54 Global Search Configuration

55 FileAttachment

78 Virtual Entity Data Provider

85 Virtual Entity Data Source

92 Team template

99 Social Profile

126 Indexed Article

127 Article

129 Subject

132 Announcement

135 Activity Party

150 User Settings

300 Canvas App

301 Callback Registration

371 Connector

950 New Process


VALUE LABEL

951 Translation Process

955 Expired Process

1001 Attachment

1002 Attachment

1003 Internal Address

1007 Image Descriptor

1016 Article Template

1019 Organization

1021 Organization UI

1023 Privilege

1030 System Form

1031 User Dashboard

1036 Security Role

1037 Role Template

1039 View

1043 String Map

1071 Address

1072 Subscription Clients

1075 Status Map

1082 Article Comment

1086 User Fiscal Calendar

1094 Authorization Server

1095 Partner Application

1111 System Chart

1112 User Chart


VALUE LABEL

1113 Ribbon Tab To Command Mapping

1115 Ribbon Context Group

1116 Ribbon Command

1117 Ribbon Rule

1120 Application Ribbons

1130 Ribbon Difference

1140 Replication Backlog

1189 Document Suggestions

1190 SuggestionCardTemplate

1200 Field Security Profile

1201 Field Permission

1203 Team Profiles

1234 Channel Property Group

1236 Channel Property

1300 SocialInsightsConfiguration

1309 Saved Organization Insights Configuration

1400 Sync Attribute Mapping Profile

1401 Sync Attribute Mapping

1403 Team Sync-Attribute Mapping Profiles

1404 Principal Sync Attribute Map

2000 Annual Fiscal Calendar

2001 Semiannual Fiscal Calendar

2002 Quarterly Fiscal Calendar

2003 Monthly Fiscal Calendar

2004 Fixed Monthly Fiscal Calendar


VALUE LABEL

2010 Email Template

2012 Unresolved Address

2013 Territory

2015 Theme

2016 User Mapping

2020 Queue

2023 QueueItemCount

2024 QueueMemberCount

2027 License

2029 Queue Item

2500 User Entity UI Settings

2501 User Entity Instance Data

3000 Integration Status

3005 Channel Access Profile

3008 External Party

3231 Connection Role

3233 Connection Role Object Type Code

3234 Connection

4003 Calendar

4004 Calendar Rule

4011 Inter Process Lock

4023 Email Hash

4101 Display String Map

4102 Display String

4110 Notification
VALUE LABEL

4120 Exchange Sync Id Mapping

4200 Activity

4201 Appointment

4202 Email

4204 Fax

4207 Letter

4210 Phone Call

4212 Task

4216 Social Activity

4220 UntrackedEmail

4230 Saved View

4231 Metadata Difference

4232 Business Data Localized Label

4250 Recurrence Rule

4251 Recurring Appointment

4299 Email Search

4410 Data Import

4411 Data Map

4412 Import Source File

4413 Import Data

4414 Duplicate Detection Rule

4415 Duplicate Record

4416 Duplicate Rule Condition

4417 Column Mapping

4418 List Value Mapping


VALUE LABEL

4419 Lookup Mapping

4420 Owner Mapping

4423 Import Log

4424 Bulk Delete Operation

4425 Bulk Delete Failure

4426 Transformation Mapping

4427 Transformation Parameter Mapping

4428 Import Entity Mapping

4450 Data Performance Dashboard

4490 Office Document

4500 Relationship Role

4501 Relationship Role Map

4502 Customer Relationship

4567 Auditing

4579 Ribbon Client Metadata.

4600 Entity Map

4601 Attribute Map

4602 Plug-in Type

4603 Plug-in Type Statistic

4605 Plug-in Assembly

4606 Sdk Message

4607 Sdk Message Filter

4608 Sdk Message Processing Step

4609 Sdk Message Request

4610 Sdk Message Response


VALUE LABEL

4611 Sdk Message Response Field

4613 Sdk Message Pair

4614 Sdk Message Request Field

4615 Sdk Message Processing Step Image

4616 Sdk Message Processing Step Secure Configuration

4618 Service Endpoint

4619 Plug-in Trace Log

4700 System Job

4702 Workflow Wait Subscription

4703 Process

4704 Process Dependency

4705 ISV Config

4706 Process Log

4707 Application File

4708 Organization Statistic

4709 Site Map

4710 Process Session

4711 Expander Event

4712 Process Trigger

4724 Process Stage

4725 Business Process Flow Instance

4800 Web Wizard

4802 Wizard Page

4803 Web Wizard Access Privilege

4810 Time Zone Definition


VALUE LABEL

4811 Time Zone Rule

4812 Time Zone Localized Name

7000 System Application Metadata

7001 User Application Metadata

7100 Solution

7101 Publisher

7102 Publisher Address

7103 Solution Component

7105 Dependency

7106 Dependency Node

7107 Invalid Dependency

7108 Dependency Feature

7200 RuntimeDependency

8000 Post

8001 Post Role

8002 Post Regarding

8003 Follow

8005 Comment

8006 Like

8040 ACIViewMapper

8050 Trace

8051 Trace Association

8052 Trace Regarding

8181 Routing Rule Set

8199 Rule Item


VALUE LABEL

8700 AppModule Metadata

8701 AppModule Metadata Dependency

8702 AppModule Metadata Async Operation

8840 Hierarchy Rule

9006 Model-driven App

9007 App Module Component

9009 App Module Roles

9011 App Config Master

9012 App Configuration

9013 App Configuration Instance

9100 Report

9101 Report Related Entity

9102 Report Related Category

9103 Report Visibility

9104 Report Link

9105 Currency

9106 Mail Merge Template

9107 Import Job

9201 LocalConfigStore

9300 Record Creation and Update Rule

9301 Record Creation and Update Rule Item

9333 Web Resource

9400 Channel Access Profile Rule

9401 Channel Access Profile Rule Item

9502 SharePoint Site


VALUE LABEL

9507 Sharepoint Document

9508 Document Location

9509 SharePoint Data

9510 Rollup Properties

9511 Rollup Job

9600 Goal

9602 Rollup Query

9603 Goal Metric

9604 Rollup Field

9605 Email Server Profile

9606 Mailbox

9607 Mailbox Statistics

9608 Mailbox Auto Tracking Folder

9609 Mailbox Tracking Category

9650 Process Configuration

9690 Organization Insights Notification

9699 Organization Insights Metric

9750 SLA

9751 SLA Item

9752 SLA KPI Instance

9753 Custom Control

9754 Custom Control Resource

9755 Custom Control Default Config

9866 Mobile Offline Profile

9867 Mobile Offline Profile Item


VALUE LABEL

9868 Mobile Offline Profile Item Association

9869 Sync Error

9870 Offline Command Definition

9875 Language Provisioning State

9890 SolutionHistoryData

9900 Navigation Setting

9910 MultiEntitySearch

9912 Multi Select Option Value

9919 Hierarchy Security Configuration

9930 Knowledge Base Record

9932 Time Stamp Date Mapping

9936 Azure Service Connection

9940 Document Template

9941 Personal Document Template

9945 Text Analytics Entity Mapping

9947 Knowledge Search Model

9949 Advanced Similarity Rule

9950 Office Graph Document

9951 Similarity Rule

9953 Knowledge Article

9955 Knowledge Article Views

9957 Language

9958 Feedback

9959 Category

9960 Knowledge Article Category


VALUE LABEL

9961 DelveActionHub

9962 Action Card

9968 ActionCardUserState

9973 Action Card User Settings

9983 Action Card Type

9986 Interaction for Email

9987 External Party Item

9996 HolidayWrapper

9997 Email Signature

10000 OData v4 Data Source

10001 Solution Component Summary

10002 Solution Component Data Source

10003 Solution History

10004 Solution History Data Source

10005 Component Layer

10006 Component Layer Data Source

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the duplicate
detection rule.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the duplicate detection rule was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
duplicaterule.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns duplicate


detection rule.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit
PROPERTY VALUE

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the duplicate


detection rule.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the duplicate detection
rule.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

StateCode
PROPERTY VALUE

Description Status of the duplicate detection rule.

DisplayName Status
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Inactive 0 Inactive

1 Active 2 Active

One-To-Many Relationships
Listed by SchemaName.
DuplicateRule_Annotation
DuplicateRule_SyncErrors
DuplicateRule_DuplicateRuleConditions
DuplicateRule_DuplicateBaseRecord
DuplicateRule_Annotation
Same as annotation entity DuplicateRule_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName DuplicateRule_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

DuplicateRule_SyncErrors
Same as syncerror entity DuplicateRule_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName DuplicateRule_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

DuplicateRule_DuplicateRuleConditions
Same as duplicaterulecondition entity DuplicateRule_DuplicateRuleConditions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterulecondition

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName DuplicateRule_DuplicateRuleConditions

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

DuplicateRule_DuplicateBaseRecord
Same as duplicaterecord entity DuplicateRule_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicateruleid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName DuplicateRule_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_duplicaterulebase_createdby
lk_duplicaterule_createdonbehalfby
SystemUser_DuplicateRules
team_DuplicateRules
lk_duplicaterule_modifiedonbehalfby
lk_duplicaterulebase_modifiedby
BusinessUnit_DuplicateRules
lk_duplicaterulebase_createdby
See systemuser Entity lk_duplicaterulebase_createdby One-To-Many relationship.
lk_duplicaterule_createdonbehalfby
See systemuser Entity lk_duplicaterule_createdonbehalfby One-To-Many relationship.
SystemUser_DuplicateRules
See systemuser Entity SystemUser_DuplicateRules One-To-Many relationship.
team_DuplicateRules
See team Entity team_DuplicateRules One-To-Many relationship.
lk_duplicaterule_modifiedonbehalfby
See systemuser Entity lk_duplicaterule_modifiedonbehalfby One-To-Many relationship.
lk_duplicaterulebase_modifiedby
See systemuser Entity lk_duplicaterulebase_modifiedby One-To-Many relationship.
BusinessUnit_DuplicateRules
See businessunit Entity BusinessUnit_DuplicateRules One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
duplicaterule EntityType
DuplicateRuleCondition Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Condition of a duplicate detection rule.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionR CompoundUpdateDuplicateDetectionRu


ule ule Action leRequest

Create POST [org CreateRequest or


URI]/api/data/v9.0/duplicateruleconditio Create
ns
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/duplicateruleconditio Delete
ns(duplicateruleconditionid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/duplicateruleconditio Retrieve
ns(duplicateruleconditionid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/duplicateruleconditio RetrieveMultiple
ns
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/duplicateruleconditio Update
ns(duplicateruleconditionid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName DuplicateRuleConditions

DisplayCollectionName Duplicate Rule Conditions

DisplayName Duplicate Rule Condition

EntitySetName duplicateruleconditions

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName duplicateruleconditions

LogicalName duplicaterulecondition

OwnershipType None

PrimaryIdAttribute duplicateruleconditionid

PrimaryNameAttribute

SchemaName DuplicateRuleCondition

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
BaseAttributeName
DuplicateRuleConditionId
IgnoreBlankValues
MatchingAttributeName
OperatorCode
OperatorParam
RegardingObjectId
BaseAttributeName
PROPERTY VALUE

Description Field that is being compared.

DisplayName Base Field

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName baseattributename

MaxLength 50

RequiredLevel SystemRequired

Type String

DuplicateRuleConditionId
PROPERTY VALUE

Description Unique identifier of the condition.

DisplayName Duplicate Rule Condition

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName duplicateruleconditionid

RequiredLevel SystemRequired

Type Uniqueidentifier

IgnoreBlankValues
PROPERTY VALUE

Description Determines whether to consider blank values as non-duplicate


values

DisplayName Ignore Blank Values

IsValidForForm True

IsValidForRead True

LogicalName ignoreblankvalues

RequiredLevel None

Type Boolean

IgnoreBlankValues Options

VALUE LABEL

1 True

0 False

DefaultValue: False
MatchingAttributeName
PROPERTY VALUE

Description Field that is being compared with the base field.

DisplayName Matching Field


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName matchingattributename

MaxLength 50

RequiredLevel None

Type String

OperatorCode
PROPERTY VALUE

Description Operator for this rule condition.

DisplayName Operator Code

IsValidForForm True

IsValidForRead True

LogicalName operatorcode

RequiredLevel None

Type Picklist

OperatorCode Options

VALUE LABEL

0 Exact Match

1 Same First Characters

2 Same Last Characters

3 Same Date

4 Same Date and Time

5 Exact Match (Pick List Label)

6 Exact Match (Pick List Value)


OperatorParam
PROPERTY VALUE

Description Parameter value of N if the operator is Same First Characters


or Same Last Characters.

DisplayName Operator Parameter

Format None

IsValidForForm True

IsValidForRead True

LogicalName operatorparam

MaxValue 2147483647

MinValue 1

RequiredLevel None

Type Integer

RegardingObjectId
PROPERTY VALUE

Description Unique identifier of the object with which the condition is


associated.

DisplayName Regarding

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectid

RequiredLevel None

Targets duplicaterule

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the condition.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the condition was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon
PROPERTY VALUE

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


duplicate rule condition.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the condition.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the condition was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
duplicate rule condition.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String
ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the duplicate
rule condition.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the condition.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel ApplicationRequired

Type Uniqueidentifier

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the condition.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel ApplicationRequired

Type Uniqueidentifier

One-To-Many Relationships
Listed by SchemaName.
DuplicateRuleCondition_SyncErrors
Same as syncerror entity DuplicateRuleCondition_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName DuplicateRuleCondition_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_duplicaterulecondition_createdonbehalfby
DuplicateRule_DuplicateRuleConditions
lk_duplicaterulecondition_modifiedonbehalfby
lk_duplicateruleconditionbase_modifiedby
lk_duplicateruleconditionbase_createdby
lk_duplicaterulecondition_createdonbehalfby
See systemuser Entity lk_duplicaterulecondition_createdonbehalfby One-To-Many relationship.
DuplicateRule_DuplicateRuleConditions
See duplicaterule Entity DuplicateRule_DuplicateRuleConditions One-To-Many relationship.
lk_duplicaterulecondition_modifiedonbehalfby
See systemuser Entity lk_duplicaterulecondition_modifiedonbehalfby One-To-Many relationship.
lk_duplicateruleconditionbase_modifiedby
See systemuser Entity lk_duplicateruleconditionbase_modifiedby One-To-Many relationship.
lk_duplicateruleconditionbase_createdby
See systemuser Entity lk_duplicateruleconditionbase_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
duplicaterulecondition EntityType
Email Entity Reference
4/3/2019 • 24 minutes to read • Edit Online

Activity that is delivered using email protocols.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/emails(activityid)
Update ownerid property.

BackgroundSendEmail BackgroundSendEmail Action BackgroundSendEmailRequest

CheckIncomingEmail CheckIncomingEmail Function CheckIncomingEmailRequest

CheckPromoteEmail CheckPromoteEmail Function CheckPromoteEmailRequest

Create POST [org URI]/api/data/v9.0/emails CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/emails(activityid) Delete
See Delete

DeliverIncomingEmail DeliverIncomingEmail Action DeliverIncomingEmailRequest

DeliverPromoteEmail DeliverPromoteEmail Action DeliverPromoteEmailRequest

GetTrackingTokenEmail GetTrackingTokenEmail Action GetTrackingTokenEmailRequest

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/emails(activityid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/emails RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest


MESSAGE WEB API OPERATION SDK ASSEMBLY

SendEmail SendEmail Action SendEmailRequest

SendEmailFromTemplate SendEmailFromTemplate Action SendEmailFromTemplateRequest

SendFax SendFax Action SendFaxRequest

SendTemplate SendTemplate Action SendTemplateRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/emails(activityid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/emails(activityid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Emails

DisplayCollectionName Email Messages

DisplayName Email

EntitySetName emails

IsBPFEntity False

LogicalCollectionName emails

LogicalName email

OwnershipType UserOwned

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

SchemaName Email

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityAdditionalParams
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
AttachmentOpenCount
BaseConversationIndexHash
bcc
Category
cc
ConversationTrackingId
DelayedEmailSendTime
DeliveryAttempts
DeliveryPriorityCode
DeliveryReceiptRequested
Description
DirectionCode
EmailReminderExpiryTime
EmailReminderText
EmailReminderType
EmailSenderName
EmailTrackingId
FollowEmailUserPreference
from
ImportSequenceNumber
IsBilled
IsWorkflowCreated
LastOnHoldTime
LastOpenedTime
LinksClickedCount
MessageId
MessageIdDupCheck
MimeType
Notifications
OpenCount
OverriddenCreatedOn
OwnerId
OwnerIdType
ParentActivityId
PriorityCode
ProcessId
ReadReceiptRequested
RegardingObjectId
RegardingObjectTypeCode
ReminderActionCardId
ScheduledEnd
ScheduledStart
Sender
SendersAccountName
SLAId
SortDate
StageId
StateCode
StatusCode
Subcategory
Subject
SubmittedBy
TemplateId
TimeZoneRuleVersionNumber
to
ToRecipients
TrackingToken
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
ActivityAdditionalParams
PROPERTY VALUE

Description For internal use only.

DisplayName Additional Parameters

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName activityadditionalparams

MaxLength 8192

RequiredLevel None

Type Memo

ActivityId
PROPERTY VALUE

Description Unique identifier of the email activity.

DisplayName Email Message

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
PROPERTY VALUE

Description Type the number of minutes spent creating and sending the
email. The duration is used in reporting.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName actualdurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ActualEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual end date and time of the email. By default, it
displays the date and time when the activity was completed or
canceled, but can be edited to capture the actual time to
create and send the email.

DisplayName Actual End

Format DateOnly

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

ActualStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual start date and time for the email. By default, it
displays the date and time when the activity was created, but
can be edited to capture the actual time to create and send
the email.

DisplayName Actual Start

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime

AttachmentOpenCount
PROPERTY VALUE

Description Shows the number of times an email attachment has been


viewed.

DisplayName Attachment Open Count

Format None

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName attachmentopencount
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

BaseConversationIndexHash
PROPERTY VALUE

Description Hash of base of conversation index.

DisplayName Conversation Index (Hash)

Format None

IsValidForForm False

IsValidForRead True

LogicalName baseconversationindexhash

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

bcc
PROPERTY VALUE

Description Enter the recipients that are included on the email distribution,
but are not displayed to other recipients.

DisplayName Bcc

IsValidForForm True

IsValidForRead True

LogicalName bcc

RequiredLevel None

Targets account,contact,knowledgearticle,queue,systemuser,unresolve
daddress
PROPERTY VALUE

Type PartyList

Category
PROPERTY VALUE

Description Type a category to identify the email type, such as lead


outreach, customer follow-up, or service alert, to tie the email
to a business group or function.

DisplayName Category

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName category

MaxLength 250

RequiredLevel None

Type String

cc
PROPERTY VALUE

Description Enter the recipients that should be copied on the email.

DisplayName Cc

IsValidForForm True

IsValidForRead True

LogicalName cc

RequiredLevel None

Targets account,contact,knowledgearticle,queue,systemuser,unresolve
daddress

Type PartyList

ConversationTrackingId
PROPERTY VALUE

Description Conversation Tracking Id.

DisplayName Conversation Tracking Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName conversationtrackingid

RequiredLevel None

Type Uniqueidentifier

DelayedEmailSendTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected date and time when email will be sent.

DisplayName Send Later

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName delayedemailsendtime

RequiredLevel None

Type DateTime

DeliveryAttempts
PROPERTY VALUE

Description Shows the count of the number of attempts made to send the
email. The count is used as an indicator of email routing
issues.

DisplayName No. of Delivery Attempts

Format None

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName deliveryattempts

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

DeliveryPriorityCode
PROPERTY VALUE

Description Select the priority of delivery of the email to the email server.

DisplayName Delivery Priority

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName deliveryprioritycode

RequiredLevel None

Type Picklist

DeliveryPriorityCode Options

VALUE LABEL

0 Low

1 Normal

2 High

DeliveryReceiptRequested
PROPERTY VALUE

Description Select whether the sender should receive confirmation that


the email was delivered.

DisplayName Delivery Receipt Requested


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName deliveryreceiptrequested

RequiredLevel None

Type Boolean

DeliveryReceiptRequested Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Description
PROPERTY VALUE

Description Type the greeting and message text of the email.

DisplayName Description

Format Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 1073741823

RequiredLevel None

Type Memo

DirectionCode
PROPERTY VALUE

Description Select the direction of the email as incoming or outbound.

DisplayName Direction
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName directioncode

RequiredLevel None

Type Boolean

DirectionCode Options

VALUE LABEL

1 Outgoing

0 Incoming

DefaultValue: True
EmailReminderExpiryTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when an email reminder expires.

DisplayName Email Reminder Expiry Time

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName emailreminderexpirytime

RequiredLevel None

Type DateTime

EmailReminderText
PROPERTY VALUE

Description For internal use only.

DisplayName Email Reminder Text

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName emailremindertext

MaxLength 1250

RequiredLevel None

Type String

EmailReminderType
PROPERTY VALUE

Description Shows the type of the email reminder.

DisplayName Email Reminder Type

IsValidForForm False

IsValidForRead True

LogicalName emailremindertype

RequiredLevel None

Type Picklist

EmailReminderType Options

VALUE LABEL

0 If I do not receive a reply by

1 If the email is not opened by

2 Remind me anyways at

EmailSenderName
PROPERTY VALUE

Description Shows the name of the sender of the email.

DisplayName Email Sender Name

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName emailsendername

MaxLength 400

RequiredLevel None

Type String

EmailTrackingId
PROPERTY VALUE

Description Email Tracking Id.

DisplayName Email Tracking Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName emailtrackingid

RequiredLevel None

Type Uniqueidentifier

FollowEmailUserPreference
PROPERTY VALUE

Description Select whether the email allows following recipient activities


sent from Microsoft Dynamics 365.This is user preference
state which can be overridden by system evaluated state.

DisplayName Following

IsValidForForm True

IsValidForRead True

LogicalName followemailuserpreference
PROPERTY VALUE

RequiredLevel None

Type Boolean

FollowEmailUserPreference Options

VALUE LABEL

1 True

0 False

DefaultValue: False
from
PROPERTY VALUE

Description Enter the sender of the email.

DisplayName From

IsValidForForm True

IsValidForRead True

LogicalName from

RequiredLevel None

Targets queue,systemuser

Type PartyList

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber
PROPERTY VALUE

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsBilled
PROPERTY VALUE

Description Information regarding whether the email activity was billed as


part of resolving a case.

DisplayName Is Billed

IsValidForForm False

IsValidForRead True

LogicalName isbilled

RequiredLevel None

Type Boolean

IsBilled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsWorkflowCreated
PROPERTY VALUE

Description Indication if the email was created by a workflow rule.

DisplayName Is Workflow Created

IsValidForForm False

IsValidForRead True

LogicalName isworkflowcreated

RequiredLevel None
PROPERTY VALUE

Type Boolean

IsWorkflowCreated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

LastOpenedTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the latest date and time when email was opened.

DisplayName Last Opened Time

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName lastopenedtime
PROPERTY VALUE

RequiredLevel None

Type DateTime

LinksClickedCount
PROPERTY VALUE

Description Shows the number of times a link in an email has been clicked.

DisplayName Links Clicked Count

Format None

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName linksclickedcount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

MessageId
PROPERTY VALUE

Description Unique identifier of the email message. Used only for email
that is received.

DisplayName Message ID

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName messageid

MaxLength 320
PROPERTY VALUE

RequiredLevel None

Type String

MessageIdDupCheck
PROPERTY VALUE

Description For internal use only.

DisplayName Message ID Dup Check

IsValidForForm False

IsValidForRead False

LogicalName messageiddupcheck

RequiredLevel SystemRequired

Type Uniqueidentifier

MimeType
PROPERTY VALUE

Description MIME type of the email message data.

DisplayName Mime Type

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName mimetype

MaxLength 256

RequiredLevel None

Type String

Notifications
PROPERTY VALUE
PROPERTY VALUE

Description Select the notification code to identify issues with the email
recipients or attachments, such as blocked attachments.

DisplayName Notifications

IsValidForForm True

IsValidForRead True

LogicalName notifications

RequiredLevel None

Type Picklist

Notifications Options

VALUE LABEL

0 None

1 The message was saved as a Microsoft Dynamics 365 email


record, but not all the attachments could be saved with it. An
attachment cannot be saved if it is blocked or if its file type is
invalid.

2 Truncated body.

OpenCount
PROPERTY VALUE

Description Shows the number of times an email has been opened.

DisplayName Open Count

Format None

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName opencount

MaxValue 2147483647

MinValue 0

RequiredLevel None
PROPERTY VALUE

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

ParentActivityId
PROPERTY VALUE

Description Select the activity that the email is associated with.

DisplayName Parent Activity Id

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName parentactivityid

RequiredLevel None

Targets email

Type Lookup

PriorityCode
PROPERTY VALUE

Description Select the priority so that preferred customers or critical issues


are handled quickly.

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode
PROPERTY VALUE

RequiredLevel None

Type Picklist

PriorityCode Options

VALUE LABEL

0 Low

1 Normal

2 High

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

ReadReceiptRequested
PROPERTY VALUE

Description Indicates that a read receipt is requested.

DisplayName Read Receipt Requested

IsValidForForm False

IsValidForRead True

LogicalName readreceiptrequested

RequiredLevel None

Type Boolean

ReadReceiptRequested Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
RegardingObjectId
PROPERTY VALUE

Description Choose the record that the email relates to.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,asyncoperation,contact,knowledgearticle,knowledgeba
serecord

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

ReminderActionCardId
PROPERTY VALUE

Description Reminder Action Card Id.

DisplayName Reminder Action Card Id.


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName reminderactioncardid

RequiredLevel None

Type Uniqueidentifier

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time for the activity to be
completed to provide details about when the email will be
sent.

DisplayName Due Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime

ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected start date and time for the activity to
provide details about the tentative time when the email
activity must be initiated.

DisplayName Start Date

Format DateAndTime

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None

Type DateTime

Sender
PROPERTY VALUE

Description Sender of the email.

DisplayName From

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sender

MaxLength 250

RequiredLevel None

Type String

SendersAccountName
PROPERTY VALUE

Description Shows the name of the sender account of the email.

DisplayName Email Sender Account Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName sendersaccountname
PROPERTY VALUE

MaxLength 400

RequiredLevel None

Type String

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the email record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SortDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time by which the activities are sorted.

DisplayName Sort Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the email is open, completed, or canceled.


Completed and canceled email is read-only and can't be
edited.

DisplayName Activity Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 1 Open

1 Completed 2 Completed

2 Canceled 5 Canceled

StatusCode
PROPERTY VALUE

Description Select the email's status.


PROPERTY VALUE

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Draft 0

2 Completed 1

3 Sent 1

4 Received 1

5 Canceled 2

6 Pending Send 1

7 Sending 1

8 Failed 0

Subcategory
PROPERTY VALUE

Description Type a subcategory to identify the email type and relate the
activity to a specific product, sales region, business group, or
other function.

DisplayName Sub-Category

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subcategory
PROPERTY VALUE

MaxLength 250

RequiredLevel None

Type String

Subject
PROPERTY VALUE

Description Type a short description about the objective or primary topic


of the email.

DisplayName Subject

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subject

MaxLength 400

RequiredLevel None

Type String

SubmittedBy
PROPERTY VALUE

Description Shows the Microsoft Office Outlook account for the user who
submitted the email to Microsoft Dynamics 365.

DisplayName Submitted By

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName submittedby

MaxLength 250
PROPERTY VALUE

RequiredLevel None

Type String

TemplateId
PROPERTY VALUE

Description For internal use only. ID for template used in email.

DisplayName ID for template used.

IsValidForForm False

IsValidForRead True

LogicalName templateid

RequiredLevel None

Targets template

Type Lookup

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

to
PROPERTY VALUE

Description Enter the account, contact, lead, queue, or user recipients for
the email.

DisplayName To

IsValidForForm True

IsValidForRead True

LogicalName to

RequiredLevel None

Targets account,contact,knowledgearticle,queue,systemuser,unresolve
daddress

Type PartyList

ToRecipients
PROPERTY VALUE

Description Shows the email addresses corresponding to the recipients.

DisplayName To Recipients

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName torecipients

MaxLength 500

RequiredLevel None

Type String

TrackingToken
PROPERTY VALUE

Description Shows the tracking token assigned to the email to make sure
responses are automatically tracked in Microsoft Dynamics
365.

DisplayName Tracking Token


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName trackingtoken

MaxLength 50

RequiredLevel None

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivityTypeCode
AttachmentCount
Compressed
ConversationIndex
CorrelationMethod
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EmailReminderStatus
EmailSender
EmailSenderObjectTypeCode
EmailSenderYomiName
ExchangeRate
InReplyTo
IsEmailFollowed
IsEmailReminderSet
IsRegularActivity
IsUnsafe
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParentActivityIdName
PostponeEmailProcessingUntil
RegardingObjectIdName
RegardingObjectIdYomiName
ReplyCount
SafeDescription
ScheduledDurationMinutes
SenderMailboxId
SenderMailboxIdName
SendersAccount
SendersAccountObjectTypeCode
SendersAccountYomiName
SentOn
SLAInvokedId
SLAInvokedIdName
SLAName
TemplateIdName
TransactionCurrencyIdName
VersionNumber
ActivityTypeCode
PROPERTY VALUE

Description Shows the type of activity.

DisplayName Activity Type

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode

RequiredLevel SystemRequired

Type EntityName

AttachmentCount
PROPERTY VALUE

Description Shows the umber of attachments of the email message.

DisplayName Attachment Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName attachmentcount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

Compressed
PROPERTY VALUE

Description Indicates if the body is compressed.

DisplayName Compression

IsValidForForm False

IsValidForRead True

LogicalName compressed
PROPERTY VALUE

RequiredLevel SystemRequired

Type Boolean

Compressed Options

VALUE LABEL

1 Compressed

0 Not compressed

DefaultValue: False
ConversationIndex
PROPERTY VALUE

Description Identifier for all the email responses for this conversation.

DisplayName Conversation Index

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName conversationindex

MaxLength 2048

RequiredLevel None

Type String

CorrelationMethod
PROPERTY VALUE

Description Shows how an email is matched to an existing email in


Microsoft Dynamics 365. For system use only.

DisplayName Correlation Method

IsValidForForm False

IsValidForRead True

LogicalName correlationmethod
PROPERTY VALUE

RequiredLevel None

Type Picklist

CorrelationMethod Options

VALUE LABEL

0 None

1 Skipped

2 XHeader

3 InReplyTo

4 TrackingToken

5 ConversationIndex

6 SmartMatching

7 CustomCorrelation

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On
PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

EmailReminderStatus
PROPERTY VALUE

Description Shows the status of the email reminder.

DisplayName Email Reminder Status

IsValidForForm False

IsValidForRead True

LogicalName emailreminderstatus

RequiredLevel SystemRequired

Type Picklist

EmailReminderStatus Options

VALUE LABEL

0 NotSet
VALUE LABEL

1 ReminderSet

2 ReminderExpired

3 ReminderInvalid

EmailSender
PROPERTY VALUE

Description Shows the sender of the email.

DisplayName Sender

IsValidForForm False

IsValidForRead True

LogicalName emailsender

RequiredLevel None

Targets account,contact,queue,systemuser

Type Lookup

EmailSenderObjectTypeCode
PROPERTY VALUE

Description Shows the object type of sender of the email.

DisplayName Email Sender Type

IsValidForForm False

IsValidForRead True

LogicalName emailsenderobjecttypecode

RequiredLevel None

Type EntityName

EmailSenderYomiName
PROPERTY VALUE

Description Shows the yomi name of the email sender

DisplayName Email Sender yomi Name


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName emailsenderyominame

MaxLength 400

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

InReplyTo
PROPERTY VALUE

Description Type the ID of the email message that this email activity is a
response to.

DisplayName In Reply To Message


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName inreplyto

MaxLength 320

RequiredLevel None

Type String

IsEmailFollowed
PROPERTY VALUE

Description For internal use only. Shows whether this email is followed.
This is evaluated state which overrides user selection of follow
email.

DisplayName Followed

IsValidForForm False

IsValidForRead True

LogicalName isemailfollowed

RequiredLevel None

Type Boolean

IsEmailFollowed Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsEmailReminderSet
PROPERTY VALUE

Description For internal use only. Shows whether this email Reminder is
Set.
PROPERTY VALUE

DisplayName Reminder Set

IsValidForForm False

IsValidForRead True

LogicalName isemailreminderset

RequiredLevel None

Type Boolean

IsEmailReminderSet Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsRegularActivity
PROPERTY VALUE

Description Information regarding whether the activity is a regular activity


type or event type.

DisplayName Is Regular Activity

IsValidForForm False

IsValidForRead True

LogicalName isregularactivity

RequiredLevel SystemRequired

Type Boolean

IsRegularActivity Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsUnsafe
PROPERTY VALUE

Description For internal use only.

DisplayName IsUnsafe

Format None

IsValidForForm False

IsValidForRead True

LogicalName isunsafe

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String
ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerIdName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the email
activity.

DisplayName Owning Business Unit


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the email activity.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the email activity.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup
ParentActivityIdName
PROPERTY VALUE

Description Parent Activity Name

DisplayName Parent Activity Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentactivityidname

MaxLength 400

RequiredLevel None

Type String

PostponeEmailProcessingUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Delay email processing until

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName postponeemailprocessinguntil

RequiredLevel None

Type DateTime

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

ReplyCount
PROPERTY VALUE

Description Shows the number of replies received for an email.

DisplayName Reply Count

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName replycount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SafeDescription
PROPERTY VALUE

Description Safe body text of the e-mail.

DisplayName Safe Description

Format Email

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName safedescription

MaxLength 1073741823

RequiredLevel None

Type Memo

ScheduledDurationMinutes
PROPERTY VALUE

Description Scheduled duration of the email activity, specified in minutes.

DisplayName Scheduled Duration

Format Duration

IsValidForForm False

IsValidForRead True

LogicalName scheduleddurationminutes
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SenderMailboxId
PROPERTY VALUE

Description Select the mailbox associated with the sender of the email
message.

DisplayName Sender's Mailbox

IsValidForForm False

IsValidForRead True

LogicalName sendermailboxid

RequiredLevel None

Targets mailbox

Type Lookup

SenderMailboxIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sendermailboxidname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

SendersAccount
PROPERTY VALUE

Description Shows the parent account of the sender of the email.

DisplayName Senders Account

IsValidForForm False

IsValidForRead True

LogicalName sendersaccount

RequiredLevel None

Targets account

Type Lookup

SendersAccountObjectTypeCode
PROPERTY VALUE

Description Shows the parent account type code of the sender of the
email.

DisplayName SendersAccount Type

IsValidForForm False

IsValidForRead True

LogicalName sendersaccountobjecttypecode

RequiredLevel None

Type EntityName

SendersAccountYomiName
PROPERTY VALUE

Description Shows the name of the sender account yomi name

DisplayName Email Sender Account yomi Name

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sendersaccountyominame

MaxLength 400

RequiredLevel None

Type String

SentOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time that the email was sent.

DisplayName Date Sent

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName senton

RequiredLevel None

Type DateTime

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this email. This field is for internal
use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid
PROPERTY VALUE

RequiredLevel None

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

TemplateIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName templateidname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the email message.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
email_actioncard
email_activity_parties
Email_DuplicateMatchingRecord
Email_SyncErrors
Email_DuplicateBaseRecord
Email_AsyncOperations
Email_ProcessSessions
slakpiinstance_email
Email_Annotation
email_activity_mime_attachment
email_email_parentactivityid
email_principalobjectattributeaccess
Email_BulkDeleteFailures
email_connections1
email_connections2
Email_QueueItem
email_actioncard
Same as actioncard entity email_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName email_actioncard

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

email_activity_parties
Same as activityparty entity email_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName email_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_DuplicateMatchingRecord
Same as duplicaterecord entity Email_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Email_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_SyncErrors
Same as syncerror entity Email_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Email_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Email_DuplicateBaseRecord
Same as duplicaterecord entity Email_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Email_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_AsyncOperations
Same as asyncoperation entity Email_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Email_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_ProcessSessions
Same as processsession entity Email_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Email_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_email
Same as slakpiinstance entity slakpiinstance_email Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName slakpiinstance_email

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_Annotation
Same as annotation entity Email_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Email_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

email_activity_mime_attachment
Same as activitymimeattachment entity email_activity_mime_attachment Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitymimeattachment

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName email_activity_mime_attachment

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

email_email_parentactivityid
Same as email entity email_email_parentactivityid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute parentactivityid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName email_email_parentactivityid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

email_principalobjectattributeaccess
Same as principalobjectattributeaccess entity email_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName email_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_BulkDeleteFailures
Same as bulkdeletefailure entity Email_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Email_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

email_connections1
Same as connection entity email_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName email_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

email_connections2
Same as connection entity email_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName email_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Email_QueueItem
Same as queueitem entity Email_QueueItem Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Email_QueueItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
KnowledgeBaseRecord_Emails
lk_email_modifiedby
Account_Email_SendersAccount
Email_EmailTemplate
Queue_Email_EmailSender
Contact_Email_EmailSender
Account_Email_EmailSender
TransactionCurrency_Email
Contact_Emails
user_email
SystemUser_Email_EmailSender
AsyncOperation_Emails
lk_email_createdonbehalfby
KnowledgeArticle_Emails
email_sendermailboxid_mailbox
activity_pointer_email
lk_email_modifiedonbehalfby
team_email
manualsla_email
business_unit_email_activities
Account_Emails
email_email_parentactivityid
processstage_emails
sla_email
lk_email_createdby
KnowledgeBaseRecord_Emails
See knowledgebaserecord Entity KnowledgeBaseRecord_Emails One-To-Many relationship.
lk_email_modifiedby
See systemuser Entity lk_email_modifiedby One-To-Many relationship.
Account_Email_SendersAccount
See account Entity Account_Email_SendersAccount One-To-Many relationship.
Email_EmailTemplate
See template Entity Email_EmailTemplate One-To-Many relationship.
Queue_Email_EmailSender
See queue Entity Queue_Email_EmailSender One-To-Many relationship.
Contact_Email_EmailSender
See contact Entity Contact_Email_EmailSender One-To-Many relationship.
Account_Email_EmailSender
See account Entity Account_Email_EmailSender One-To-Many relationship.
TransactionCurrency_Email
See transactioncurrency Entity TransactionCurrency_Email One-To-Many relationship.
Contact_Emails
See contact Entity Contact_Emails One-To-Many relationship.
user_email
See systemuser Entity user_email One-To-Many relationship.
SystemUser_Email_EmailSender
See systemuser Entity SystemUser_Email_EmailSender One-To-Many relationship.
AsyncOperation_Emails
See asyncoperation Entity AsyncOperation_Emails One-To-Many relationship.
lk_email_createdonbehalfby
See systemuser Entity lk_email_createdonbehalfby One-To-Many relationship.
KnowledgeArticle_Emails
See knowledgearticle Entity KnowledgeArticle_Emails One-To-Many relationship.
email_sendermailboxid_mailbox
See mailbox Entity email_sendermailboxid_mailbox One-To-Many relationship.
activity_pointer_email
See activitypointer Entity activity_pointer_email One-To-Many relationship.
lk_email_modifiedonbehalfby
See systemuser Entity lk_email_modifiedonbehalfby One-To-Many relationship.
team_email
See team Entity team_email One-To-Many relationship.
manualsla_email
See sla Entity manualsla_email One-To-Many relationship.
business_unit_email_activities
See businessunit Entity business_unit_email_activities One-To-Many relationship.
Account_Emails
See account Entity Account_Emails One-To-Many relationship.
email_email_parentactivityid
See email Entity email_email_parentactivityid One-To-Many relationship.
processstage_emails
See processstage Entity processstage_emails One-To-Many relationship.
sla_email
See sla Entity sla_email One-To-Many relationship.
lk_email_createdby
See systemuser Entity lk_email_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
email EntityType
EmailServerProfile Entity Reference
4/3/2019 • 17 minutes to read • Edit Online

Holds the Email Server Profiles of an organization

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/emailserverprofiles(e
mailserverprofileid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/emailserverprofiles Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/emailserverprofiles(e Delete
mailserverprofileid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/emailserverprofiles(e Retrieve
mailserverprofileid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/emailserverprofiles RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/emailserverprofiles(e
mailserverprofileid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/emailserverprofiles(e Update
mailserverprofileid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName EmailServerProfiles

DisplayCollectionName Email Server Profiles

DisplayName Email Server Profile

EntitySetName emailserverprofiles

IsBPFEntity False

LogicalCollectionName emailserverprofiles

LogicalName emailserverprofile

OwnershipType UserOwned

PrimaryIdAttribute emailserverprofileid

PrimaryNameAttribute name

SchemaName EmailServerProfile

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
DefaultServerLocation
Description
EmailServerProfileId
EncodingCodePage
EntityImage
ExchangeOnlineTenantId
ExchangeVersion
IncomingAuthenticationProtocol
IncomingCredentialRetrieval
IncomingPassword
IncomingPortNumber
IncomingServerLocation
IncomingUseImpersonation
IncomingUserName
IncomingUseSSL
LastAuthorizationStatus
LastCrmMessage
LastTestExecutionStatus
LastTestRequest
LastTestResponse
LastTestStartTime
LastTestTotalExecutionTime
LastTestValidationStatus
MaxConcurrentConnections
MinPollingIntervalInMinutes
MoveUndeliveredEmails
Name
OutgoingAuthenticationProtocol
OutgoingAutoGrantDelegateAccess
OutgoingCredentialRetrieval
OutgoingPassword
OutgoingPortNumber
OutgoingServerLocation
OutgoingUseImpersonation
OutgoingUsername
OutgoingUseSSL
OwnerEmailAddress
OwnerId
OwnerIdType
ProcessEmailsReceivedAfter
SendEmailAlert
ServerType
StateCode
StatusCode
TimeoutMailboxConnection
TimeoutMailboxConnectionAfterAmount
TimeZoneRuleVersionNumber
UseAutoDiscover
UseDefaultTenantId
UseSameSettingsForOutgoingConnections
UTCConversionTimeZoneCode
DefaultServerLocation
PROPERTY VALUE

Description Type the default location of the server.

DisplayName Default Email Server Location

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultserverlocation

MaxLength 2084

RequiredLevel None

Type String

Description
PROPERTY VALUE

Description Type additional information that describes the email server


profile.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

EmailServerProfileId
PROPERTY VALUE

Description Unique identifier of the email server profile.

DisplayName EmailServerProfile

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName emailserverprofileid

RequiredLevel SystemRequired

Type Uniqueidentifier

EncodingCodePage
PROPERTY VALUE

Description Indicates the code page to use when encoding email content.

DisplayName Encoding Code Page

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName encodingcodepage

MaxLength 100

RequiredLevel None

Type String

EntityImage
PROPERTY VALUE

Description The default image for the entity.

DisplayName Entity Image

IsPrimaryImage False

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144
PROPERTY VALUE

RequiredLevel None

Type Image

ExchangeOnlineTenantId
PROPERTY VALUE

Description Type the tenant ID of Exchange Online.

DisplayName Exchange Online Tenant Id

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName exchangeonlinetenantid

MaxLength 36

RequiredLevel None

Type String

ExchangeVersion
PROPERTY VALUE

Description Select the version of Exchange that is on the email server.

DisplayName Exchange Version

IsValidForForm True

IsValidForRead True

LogicalName exchangeversion

RequiredLevel None

Type Picklist

ExchangeVersion Options

VALUE LABEL

0 Exchange 2007
VALUE LABEL

1 Exchange 2007 SP1

2 Exchange 2010

3 Exchange 2010 SP1

4 Exchange 2010 SP2

5 Exchange 2013

IncomingAuthenticationProtocol
PROPERTY VALUE

Description Select the incoming email authentication protocol that is used


for connecting to the email server.

DisplayName Incoming Authentication Protocol

IsValidForForm True

IsValidForRead True

LogicalName incomingauthenticationprotocol

RequiredLevel None

Type Picklist

IncomingAuthenticationProtocol Options

VALUE LABEL

0 Auto Detect

1 Negotiate

2 NTLM

3 Basic

IncomingCredentialRetrieval
PROPERTY VALUE

Description Select how credentials will be retrieved for incoming email.

DisplayName Incoming Email Credential Retrieval

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName incomingcredentialretrieval

RequiredLevel None

Type Picklist

IncomingCredentialRetrieval Options

VALUE LABEL

0 Credentials Specified by a User or Queue

1 Credentials Specified in Email Server Profile

2 Server to Server Authentication

3 Windows Integrated Authentication

4 Without Credentials (Anonymous)

IncomingPassword
PROPERTY VALUE

Description Type the password for incoming email.

DisplayName Incoming Email Password

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead False

LogicalName incomingpassword

MaxLength 250

RequiredLevel None

Type String

IncomingPortNumber
PROPERTY VALUE

Description Type the Exchange port number for incoming mail.


PROPERTY VALUE

DisplayName Incoming Email Port

Format None

IsValidForForm True

IsValidForRead True

LogicalName incomingportnumber

MaxValue 65536

MinValue 0

RequiredLevel None

Type Integer

IncomingServerLocation
PROPERTY VALUE

Description Type the location of the server for incoming email.

DisplayName Incoming Email Server Location

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName incomingserverlocation

MaxLength 2084

RequiredLevel None

Type String

IncomingUseImpersonation
PROPERTY VALUE

Description Select whether to use impersonation to access the mailbox to


process incoming emails.

DisplayName Use Impersonation for Incoming Email


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName incominguseimpersonation

RequiredLevel None

Type Boolean

IncomingUseImpersonation Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IncomingUserName
PROPERTY VALUE

Description Type the user name for incoming email.

DisplayName Incoming Email User Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName incomingusername

MaxLength 250

RequiredLevel None

Type String

IncomingUseSSL
PROPERTY VALUE

Description Select whether to use the Secure Sockets Layer (SSL) protocol
for incoming email.

DisplayName Use SSL for Incoming Email


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName incomingusessl

RequiredLevel None

Type Boolean

IncomingUseSSL Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
LastAuthorizationStatus
PROPERTY VALUE

Description Shows the last test authorization status of email server profile

DisplayName Last Test Authorization Status

IsValidForForm False

IsValidForRead True

LogicalName lastauthorizationstatus

RequiredLevel None

Type Picklist

LastAuthorizationStatus Options

VALUE LABEL

0 Failure

1 Success

LastCrmMessage
PROPERTY VALUE

Description Shows the Dynamics 365 message obtained during the Last
Test
PROPERTY VALUE

DisplayName Last Dynamics 365 Message

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName lastcrmmessage

MaxLength 2084

RequiredLevel None

Type Memo

LastTestExecutionStatus
PROPERTY VALUE

Description Shows the last test Execution status of email server profile

DisplayName Last Test Execution Status

IsValidForForm False

IsValidForRead True

LogicalName lasttestexecutionstatus

RequiredLevel None

Type Picklist

LastTestExecutionStatus Options

VALUE LABEL

0 Failure

1 Success

2 Warning

LastTestRequest
PROPERTY VALUE

Description Shows the EWS Request created during the Last Test
PROPERTY VALUE

DisplayName Last Test Request

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName lasttestrequest

MaxLength 2084

RequiredLevel None

Type Memo

LastTestResponse
PROPERTY VALUE

Description Shows the EWS Response obtained during the Last Test

DisplayName Last Test Response

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName lasttestresponse

MaxLength 2084

RequiredLevel None

Type Memo

LastTestStartTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the Last Test Start date and time

DisplayName Last Test Time


PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastteststarttime

RequiredLevel None

Type DateTime

LastTestTotalExecutionTime
PROPERTY VALUE

Description Shows the Time taken while running the last test

DisplayName Last Test Time Taken

IsValidForForm True

IsValidForRead True

LogicalName lasttesttotalexecutiontime

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

LastTestValidationStatus
PROPERTY VALUE

Description Shows the last test Validation status of email server profile

DisplayName Last Test Validation Status

IsValidForForm False

IsValidForRead True

LogicalName lasttestvalidationstatus

RequiredLevel None

Type Picklist
LastTestValidationStatus Options

VALUE LABEL

0 Failure

1 Success

MaxConcurrentConnections
PROPERTY VALUE

Description Maximum number of concurrent connections allowed to the


email server per authenticated user.

DisplayName Maximum Concurrent Connections

Format None

IsValidForForm True

IsValidForRead True

LogicalName maxconcurrentconnections

MaxValue 65536

MinValue 1

RequiredLevel None

Type Integer

MinPollingIntervalInMinutes
PROPERTY VALUE

Description Minimum polling interval, in minutes, for mailboxes that are


associated with this email server profile.

DisplayName Minimum Polling Interval In Minutes

Format None

IsValidForForm True

IsValidForRead True

LogicalName minpollingintervalinminutes

MaxValue 1440

MinValue 0
PROPERTY VALUE

RequiredLevel None

Type Integer

MoveUndeliveredEmails
PROPERTY VALUE

Description Indicates whether to move undelivered incoming emails to the


Undeliverable folder in Microsoft Exchange.

DisplayName Move Undelivered Emails to the Undeliverable Folder

IsValidForForm True

IsValidForRead True

LogicalName moveundeliveredemails

RequiredLevel None

Type Boolean

MoveUndeliveredEmails Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Name
PROPERTY VALUE

Description Type a meaningful name for the email server profile. This
name is displayed when you need to select an email server
profile.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name
PROPERTY VALUE

MaxLength 100

RequiredLevel ApplicationRequired

Type String

OutgoingAuthenticationProtocol
PROPERTY VALUE

Description Select the outgoing email authentication protocol that is used


for connecting to the email server.

DisplayName Outgoing Authentication Protocol

IsValidForForm True

IsValidForRead True

LogicalName outgoingauthenticationprotocol

RequiredLevel None

Type Picklist

OutgoingAuthenticationProtocol Options

VALUE LABEL

0 Auto Detect

1 Negotiate

2 NTLM

3 Basic

OutgoingAutoGrantDelegateAccess
PROPERTY VALUE

Description Indicates whether the email connector will grant delegate


access permissions to the accessing user when required while
processing outgoing emails.

DisplayName Auto Grant Delegate Access for Outgoing Email.

IsValidForForm True

IsValidForRead True

LogicalName outgoingautograntdelegateaccess
PROPERTY VALUE

RequiredLevel None

Type Boolean

OutgoingAutoGrantDelegateAccess Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
OutgoingCredentialRetrieval
PROPERTY VALUE

Description Select how credentials will be retrieved for outgoing email.

DisplayName Outgoing Email Credential Retrieval

IsValidForForm True

IsValidForRead True

LogicalName outgoingcredentialretrieval

RequiredLevel None

Type Picklist

OutgoingCredentialRetrieval Options

VALUE LABEL

0 Credentials Specified by a User or Queue

1 Credentials Specified in Email Server Profile

2 Server to Server Authentication

3 Windows Integrated Authentication

4 Without Credentials (Anonymous)

OutgoingPassword
PROPERTY VALUE

Description Type the password for outgoing email.


PROPERTY VALUE

DisplayName Outgoing Email Password

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead False

LogicalName outgoingpassword

MaxLength 250

RequiredLevel None

Type String

OutgoingPortNumber
PROPERTY VALUE

Description Type the Exchange port number for outgoing mail.

DisplayName Outgoing Email Port

Format None

IsValidForForm True

IsValidForRead True

LogicalName outgoingportnumber

MaxValue 65536

MinValue 0

RequiredLevel None

Type Integer

OutgoingServerLocation
PROPERTY VALUE

Description Type the location of the server for outgoing email.

DisplayName Outgoing Email Server Location

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName outgoingserverlocation

MaxLength 2084

RequiredLevel None

Type String

OutgoingUseImpersonation
PROPERTY VALUE

Description Select whether to use impersonation for accessing the mailbox


to process outgoing emails.

DisplayName Use Impersonation for Outgoing Email

IsValidForForm True

IsValidForRead True

LogicalName outgoinguseimpersonation

RequiredLevel None

Type Boolean

OutgoingUseImpersonation Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
OutgoingUsername
PROPERTY VALUE

Description Type the user name for outgoing email.

DisplayName Outgoing Email User Name

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName outgoingusername

MaxLength 250

RequiredLevel None

Type String

OutgoingUseSSL
PROPERTY VALUE

Description Select whether to use the Secure Sockets Layer (SSL) protocol
for outgoing email.

DisplayName Use SSL for Outgoing Email

IsValidForForm True

IsValidForRead True

LogicalName outgoingusessl

RequiredLevel None

Type Boolean

OutgoingUseSSL Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
OwnerEmailAddress
PROPERTY VALUE

Description Email Server Profile Owner's email address

DisplayName Email Server Profile Owner's email address

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneremailaddress

MaxLength 100

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
PROPERTY VALUE

Type EntityName

ProcessEmailsReceivedAfter
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time after which email messages that are
received will be processed for mailboxes associated with the
email server profile.

DisplayName Process Emails Received After

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName processemailsreceivedafter

RequiredLevel None

Type DateTime

SendEmailAlert
PROPERTY VALUE

Description Select whether to send an email alert if more than 50% of the
mailboxes in this email server profile failed to synchronize in
an hour period.

DisplayName Send an alert email to the owner of the email server profile
reporting on major events

IsValidForForm True

IsValidForRead True

LogicalName sendemailalert

RequiredLevel None

Type Boolean

SendEmailAlert Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
ServerType
PROPERTY VALUE

Description Select the profile's email server type.

DisplayName Email Server Type

IsValidForForm True

IsValidForRead True

LogicalName servertype

RequiredLevel ApplicationRequired

Type Picklist

ServerType Options

VALUE LABEL

0 Exchange Server

1 Other (POP3/SMTP)

2 Exchange Server (Hybrid)

3 Exchange Online (Hybrid)

StateCode
PROPERTY VALUE

Description Shows whether the email server profile is active or inactive.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired
PROPERTY VALUE

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the email server profile's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TimeoutMailboxConnection
PROPERTY VALUE

Description Select whether to timeout a single mailbox.

DisplayName Timeout Mailbox Connection to Exchange

IsValidForForm True

IsValidForRead True

LogicalName timeoutmailboxconnection

RequiredLevel None
PROPERTY VALUE

Type Boolean

TimeoutMailboxConnection Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
TimeoutMailboxConnectionAfterAmount
PROPERTY VALUE

Description Type the number of milliseconds to timeout a single mailbox.


The upper limit is 100 seconds.

DisplayName Timeout a Single Mailbox Connection After this Amount of


Milliseconds

Format None

IsValidForForm True

IsValidForRead True

LogicalName timeoutmailboxconnectionafteramount

MaxValue 100000

MinValue 0

RequiredLevel None

Type Integer

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UseAutoDiscover
PROPERTY VALUE

Description Select whether to automatically discover the server location

DisplayName Auto Discover Server Location

IsValidForForm True

IsValidForRead True

LogicalName useautodiscover

RequiredLevel None

Type Boolean

UseAutoDiscover Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UseDefaultTenantId
PROPERTY VALUE

Description Select whether to use the Exchange Online Tenant ID obtained


from running Microsoft Azure PowerShell cmdlets (highly
recommended). If you select No, you can edit this field
manually

DisplayName Use Default Tenant Id

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName usedefaulttenantid

RequiredLevel None

Type Boolean

UseDefaultTenantId Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
UseSameSettingsForOutgoingConnections
PROPERTY VALUE

Description Select whether to use the same settings for incoming and
outgoing connections.

DisplayName Use Same Settings for Outgoing Connection

IsValidForForm True

IsValidForRead True

LogicalName usesamesettingsforoutgoingconnections

RequiredLevel None

Type Boolean

UseSameSettingsForOutgoingConnections Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EmailServerTypeName
EntityImage_Timestamp
EntityImage_URL
EntityImageId
IncomingPartnerApplication
IncomingPartnerApplicationName
IsIncomingPasswordSet
IsOutgoingPasswordSet
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OutgoingPartnerApplication
OutgoingPartnerApplicationName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningBusinessUnitName
OwningTeam
OwningUser
VersionNumber
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

EmailServerTypeName
PROPERTY VALUE

Description Email Server Type Name

DisplayName Email Server Type Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailservertypename

MaxLength 250

RequiredLevel None

Type String

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None
PROPERTY VALUE

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid

RequiredLevel None

Type Uniqueidentifier

IncomingPartnerApplication
PROPERTY VALUE

Description Indicates the incoming partner application.

DisplayName Incoming Partner Application


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName incomingpartnerapplication

RequiredLevel None

Targets partnerapplication

Type Lookup

IncomingPartnerApplicationName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName incomingpartnerapplicationname

MaxLength 100

RequiredLevel None

Type String

IsIncomingPasswordSet
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName isincomingpasswordset

RequiredLevel None
PROPERTY VALUE

Type Boolean

IsIncomingPasswordSet Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsOutgoingPasswordSet
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName isoutgoingpasswordset

RequiredLevel None

Type Boolean

IsOutgoingPasswordSet Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


record.

DisplayName Organization Id
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OutgoingPartnerApplication
PROPERTY VALUE

Description Indicates the outgoing partner application.

DisplayName Outgoing Partner Application

IsValidForForm True

IsValidForRead True

LogicalName outgoingpartnerapplication

RequiredLevel None
PROPERTY VALUE

Targets partnerapplication

Type Lookup

OutgoingPartnerApplicationName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName outgoingpartnerapplicationname

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description Name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String
OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Select the business unit that owns the record.

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningBusinessUnitName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunitname

MaxLength 100

RequiredLevel None

Type String

OwningTeam
PROPERTY VALUE

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets
PROPERTY VALUE

Type Lookup

VersionNumber
PROPERTY VALUE

Description Version number of the email server profile.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
emailserverprofile_mailbox
EmailServerProfile_SyncErrors
tracelog_EmailServerProfile
emailserverprofile_bulkdeletefailures
emailserverprofile_asyncoperations
EmailServerProfile_Annotation
emailserverprofile_duplicatebaserecord
emailserverprofile_duplicatematchingrecord
EmailServerProfile_Organization
emailserverprofile_mailbox
Same as mailbox entity emailserverprofile_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailbox

ReferencingAttribute emailserverprofile

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName emailserverprofile_mailbox

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

EmailServerProfile_SyncErrors
Same as syncerror entity EmailServerProfile_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName EmailServerProfile_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

tracelog_EmailServerProfile
Same as tracelog entity tracelog_EmailServerProfile Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity tracelog

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName tracelog_EmailServerProfile

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

emailserverprofile_bulkdeletefailures
Same as bulkdeletefailure entity emailserverprofile_bulkdeletefailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName emailserverprofile_bulkdeletefailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

emailserverprofile_asyncoperations
Same as asyncoperation entity emailserverprofile_asyncoperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName emailserverprofile_asyncoperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

EmailServerProfile_Annotation
Same as annotation entity EmailServerProfile_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName EmailServerProfile_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

emailserverprofile_duplicatebaserecord
Same as duplicaterecord entity emailserverprofile_duplicatebaserecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName emailserverprofile_duplicatebaserecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

emailserverprofile_duplicatematchingrecord
Same as duplicaterecord entity emailserverprofile_duplicatematchingrecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName emailserverprofile_duplicatematchingrecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

EmailServerProfile_Organization
Same as organization entity EmailServerProfile_Organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity organization

ReferencingAttribute defaultemailserverprofileid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName EmailServerProfile_Organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_emailserverprofile_createdonbehalfby
lk_emailserverprofile_modifiedonbehalfby
organization_emailserverprofile
team_emailserverprofile
lk_emailserverprofile_modifiedby
lk_emailserverprofile_createdby
business_unit_emailserverprofile
lk_emailserverprofile_createdonbehalfby
See systemuser Entity lk_emailserverprofile_createdonbehalfby One-To-Many relationship.
lk_emailserverprofile_modifiedonbehalfby
See systemuser Entity lk_emailserverprofile_modifiedonbehalfby One-To-Many relationship.
organization_emailserverprofile
See organization Entity organization_emailserverprofile One-To-Many relationship.
team_emailserverprofile
See team Entity team_emailserverprofile One-To-Many relationship.
lk_emailserverprofile_modifiedby
See systemuser Entity lk_emailserverprofile_modifiedby One-To-Many relationship.
lk_emailserverprofile_createdby
See systemuser Entity lk_emailserverprofile_createdby One-To-Many relationship.
business_unit_emailserverprofile
See businessunit Entity business_unit_emailserverprofile One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
emailserverprofile EntityType
EntityDataProvider Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Developers can register plug-ins on a data provider to enable data access for virtual entities in the system.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/entitydataproviders Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/entitydataproviders( Delete
entitydataproviderid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/entitydataproviders( Retrieve
entitydataproviderid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/entitydataproviders RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/entitydataproviders( Update
entitydataproviderid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName EntityDataProviders

DisplayCollectionName Virtual Entity Data Providers

DisplayName Virtual Entity Data Provider

EntitySetName entitydataproviders

IsBPFEntity False

LogicalCollectionName entitydataproviders

LogicalName entitydataprovider
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute entitydataproviderid

PrimaryNameAttribute name

SchemaName EntityDataProvider

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CreatePlugin
DataSourceLogicalName
DeletePlugin
Description
EntityDataProviderId
IntroducedVersion
IsCustomizable
Name
RetrieveMultiplePlugin
RetrievePlugin
UpdatePlugin
CreatePlugin
PROPERTY VALUE

Description Create Plugin

DisplayName Create Plugin

IsValidForForm False

IsValidForRead True

LogicalName createplugin

RequiredLevel None

Type Uniqueidentifier

DataSourceLogicalName
PROPERTY VALUE

Description When creating a Data Provider, the end user must select the
name of the Data Source entity that will be created for the
provider.
PROPERTY VALUE

DisplayName Data Source Entity Logical Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName datasourcelogicalname

MaxLength 100

RequiredLevel None

Type String

DeletePlugin
PROPERTY VALUE

Description Delete Plugin

DisplayName Delete Plugin

IsValidForForm False

IsValidForRead True

LogicalName deleteplugin

RequiredLevel None

Type Uniqueidentifier

Description
PROPERTY VALUE

Description What is this Data Provider used for and data store
technologies does it target?

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName description

MaxLength 1000

RequiredLevel None

Type String

EntityDataProviderId
PROPERTY VALUE

Description Unique identifier of the data provider.

DisplayName Data Provider

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName entitydataproviderid

RequiredLevel SystemRequired

Type Uniqueidentifier

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48
PROPERTY VALUE

RequiredLevel None

Type String

IsCustomizable
PROPERTY VALUE

Description Information that specifies whether this component can be


customized.

DisplayName Customizable

IsValidForForm False

IsValidForRead True

LogicalName iscustomizable

RequiredLevel SystemRequired

Type ManagedProperty

Name
PROPERTY VALUE

Description The name of this Data Provider. This is the name that appears
in the dropdown when creating a new entity.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel None

Type String

RetrieveMultiplePlugin
PROPERTY VALUE

Description MultipleRetrieve Plugin

DisplayName MultipleRetrieve Plugin

IsValidForForm False

IsValidForRead True

LogicalName retrievemultipleplugin

RequiredLevel None

Type Uniqueidentifier

RetrievePlugin
PROPERTY VALUE

Description Retrieve Plugin

DisplayName Retrieve Plugin

IsValidForForm False

IsValidForRead True

LogicalName retrieveplugin

RequiredLevel None

Type Uniqueidentifier

UpdatePlugin
PROPERTY VALUE

Description Update Plugin

DisplayName Update Plugin

IsValidForForm False

IsValidForRead True

LogicalName updateplugin

RequiredLevel None

Type Uniqueidentifier
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
EntityDataProviderIdUnique
IsManaged
OrganizationId
OverwriteTime
SolutionId
SupportingSolutionId
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

EntityDataProviderIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName Unique Id

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName entitydataprovideridunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization.

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Type Uniqueidentifier
OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
organization_entitydataprovider
See organization Entity organization_entitydataprovider One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
entitydataprovider EntityType
ExchangeSyncIdMapping Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

The mapping used to keep track of the IDs for items synced between CRM and Exchange.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/exchangesyncidmap Create
pings
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/exchangesyncidmap Delete
pings(exchangesyncidmappingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/exchangesyncidmap Retrieve
pings(exchangesyncidmappingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/exchangesyncidmap RetrieveMultiple
pings
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/exchangesyncidmap Update
pings(exchangesyncidmappingid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ExchangeSyncIdMappings

DisplayCollectionName Exchange Sync Id Mappings

DisplayName Exchange Sync Id Mapping

EntitySetName exchangesyncidmappings

IsBPFEntity False

LogicalCollectionName exchangesyncidmappings

LogicalName exchangesyncidmapping
PROPERTY VALUE

OwnershipType UserOwned

PrimaryIdAttribute exchangesyncidmappingid

PrimaryNameAttribute

SchemaName ExchangeSyncIdMapping

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ExchangeEntryId
ExchangeSyncIdmappingId
FromCrmChangeType
IsDeletedInExchange
IsUnlinkedInCRM
ItemSubject
LastSyncError
LastSyncErrorCode
LastSyncErrorOccurredOn
ObjectId
ObjectTypeCode
OwnerId
OwnerIdType
Retries
ToCrmChangeType
UserDecision
ExchangeEntryId
PROPERTY VALUE

Description

DisplayName Exchange Id

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangeentryid

MaxLength 1024
PROPERTY VALUE

RequiredLevel None

Type String

ExchangeSyncIdmappingId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName exchangesyncidmappingid

RequiredLevel SystemRequired

Type Uniqueidentifier

FromCrmChangeType
PROPERTY VALUE

Description

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName fromcrmchangetype

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsDeletedInExchange
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName isdeletedinexchange

RequiredLevel None

Type Boolean

IsDeletedInExchange Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsUnlinkedInCRM
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName isunlinkedincrm

RequiredLevel None

Type Boolean

IsUnlinkedInCRM Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ItemSubject
PROPERTY VALUE

Description

DisplayName Item Subject

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName itemsubject

MaxLength 2048

RequiredLevel None

Type String

LastSyncError
PROPERTY VALUE

Description

DisplayName Sync Error

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerror

MaxLength 2048

RequiredLevel None

Type String

LastSyncErrorCode
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerrorcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

LastSyncErrorOccurredOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Last Sync Error Time

DisplayName Last Sync Error Time

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerroroccurredon

RequiredLevel None

Type DateTime

ObjectId
PROPERTY VALUE

Description

DisplayName Crm Id

IsValidForForm False

IsValidForRead True

LogicalName objectid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

ObjectTypeCode
PROPERTY VALUE

Description

DisplayName Object Type Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName objecttypecode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Retries
PROPERTY VALUE

Description

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName retries

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ToCrmChangeType
PROPERTY VALUE

Description

DisplayName

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName tocrmchangetype

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

UserDecision
PROPERTY VALUE

Description

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName userdecision

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedOn
ModifiedOn
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber
CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

OwnerIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
user_exchangesyncidmapping
team_exchangesyncidmapping
business_unit_exchangesyncidmapping
user_exchangesyncidmapping
See systemuser Entity user_exchangesyncidmapping One-To-Many relationship.
team_exchangesyncidmapping
See team Entity team_exchangesyncidmapping One-To-Many relationship.
business_unit_exchangesyncidmapping
See businessunit Entity business_unit_exchangesyncidmapping One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
exchangesyncidmapping EntityType
ExpiredProcess Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

Expired Process Business Process Flow

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/expiredprocesses Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/expiredprocesses(bus Delete
inessprocessflowinstanceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/expiredprocesses(bus Retrieve
inessprocessflowinstanceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/expiredprocesses RetrieveMultiple
See Query Data

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/expiredprocesses(bus
inessprocessflowinstanceid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/expiredprocesses(bus Update
inessprocessflowinstanceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ExpiredProcesses

DisplayCollectionName Expired Process

DisplayName Expired Process

EntitySetName expiredprocesses

IsBPFEntity True
PROPERTY VALUE

LogicalCollectionName expiredprocesses

LogicalName expiredprocess

OwnershipType OrganizationOwned

PrimaryIdAttribute businessprocessflowinstanceid

PrimaryNameAttribute name

SchemaName ExpiredProcess

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActiveStageId
ActiveStageStartedOn
BusinessProcessFlowInstanceId
CompletedOn
ImportSequenceNumber
KnowledgeArticleId
Name
OverriddenCreatedOn
ProcessId
StateCode
StatusCode
TransactionCurrencyId
TraversedPath
ActiveStageId
PROPERTY VALUE

Description Unique identifier of the active stage for the Business Process
Flow instance.

DisplayName Active Stage

IsValidForForm True

IsValidForRead True

LogicalName activestageid

RequiredLevel None

Targets processstage
PROPERTY VALUE

Type Lookup

ActiveStageStartedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when current active stage is started.

DisplayName Active Stage Started On

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName activestagestartedon

RequiredLevel None

Type DateTime

BusinessProcessFlowInstanceId
PROPERTY VALUE

Description Unique identifier for Expired Process bpf entity instances

DisplayName Expired Process Instance Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName businessprocessflowinstanceid

RequiredLevel SystemRequired

Type Uniqueidentifier

CompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when Business Process Flow instance is


completed.

DisplayName Completed On

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName completedon

RequiredLevel None

Type DateTime

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

KnowledgeArticleId
PROPERTY VALUE

Description Unique identifier of the workflow associated to the Business


Process Flow instance.
PROPERTY VALUE

DisplayName Knowledge Article

IsValidForForm True

IsValidForRead True

LogicalName knowledgearticleid

RequiredLevel None

Targets knowledgearticle

Type Lookup

Name
PROPERTY VALUE

Description Process Name.

DisplayName Process Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 200

RequiredLevel ApplicationRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ProcessId
PROPERTY VALUE

Description Unique identifier of the workflow associated to the Business


Process Flow instance.

DisplayName Process

IsValidForForm True

IsValidForRead True

LogicalName processid

RequiredLevel None

Targets workflow

Type Lookup

StateCode
PROPERTY VALUE

Description Shows whether the Delve action record is pending, completed,


or tracking.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State
StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the delve action record status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Finished 1

3 Aborted 1

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency
PROPERTY VALUE

Type Lookup

TraversedPath
PROPERTY VALUE

Description Traversed Path

DisplayName Comma delimited string of process stage ids that represent


visited stages of the Business Process Flow instance.

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActiveStageIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
Duration
ExchangeRate
KnowledgeArticleIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
ProcessIdName
TransactionCurrencyIdName
VersionNumber
ActiveStageIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName activestageidname

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

Duration
PROPERTY VALUE

Description Duration the business process flow was active.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName duration

MaxValue 2147483647
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

KnowledgeArticleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName knowledgearticleidname

MaxLength 100
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the SDK


message request is associated.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

ProcessIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName processidname

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the business process instance.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
lk_expiredprocess_workflowlogs
ExpiredProcess_SyncErrors
ExpiredProcess_ProcessSessions
lk_expiredprocess_workflowlogs
Same as workflowlog entity lk_expiredprocess_workflowlogs Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog

ReferencingAttribute asyncoperationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName workflowlogs_expiredprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade
ExpiredProcess_SyncErrors
Same as syncerror entity ExpiredProcess_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ExpiredProcess_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

ExpiredProcess_ProcessSessions
Same as processsession entity ExpiredProcess_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ExpiredProcess_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_expiredprocess_createdonbehalfby
transactioncurrency_expiredprocess
lk_expiredprocess_modifiedonbehalfby
organization_expiredprocess
lk_expiredprocess_knowledgearticleid
lk_expiredprocess_createdby
lk_expiredprocess_activestageid
lk_expiredprocess_processid
lk_expiredprocess_modifiedby
lk_expiredprocess_createdonbehalfby
See systemuser Entity lk_expiredprocess_createdonbehalfby One-To-Many relationship.
transactioncurrency_expiredprocess
See transactioncurrency Entity transactioncurrency_expiredprocess One-To-Many relationship.
lk_expiredprocess_modifiedonbehalfby
See systemuser Entity lk_expiredprocess_modifiedonbehalfby One-To-Many relationship.
organization_expiredprocess
See organization Entity organization_expiredprocess One-To-Many relationship.
lk_expiredprocess_knowledgearticleid
See knowledgearticle Entity lk_expiredprocess_knowledgearticleid One-To-Many relationship.
lk_expiredprocess_createdby
See systemuser Entity lk_expiredprocess_createdby One-To-Many relationship.
lk_expiredprocess_activestageid
See processstage Entity lk_expiredprocess_activestageid One-To-Many relationship.
lk_expiredprocess_processid
See workflow Entity lk_expiredprocess_processid One-To-Many relationship.
lk_expiredprocess_modifiedby
See systemuser Entity lk_expiredprocess_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
expiredprocess EntityType
Fax Entity Reference
4/3/2019 • 15 minutes to read • Edit Online

Activity that tracks call outcome and number of pages for a fax and optionally stores an electronic copy of the
document.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/faxes(activityid)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/faxes CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/faxes(activityid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/faxes(activityid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/faxes RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SendEmail SendEmail Action SendEmailRequest

SendFax SendFax Action SendFaxRequest

SendTemplate SendTemplate Action SendTemplateRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/faxes(activityid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/faxes(activityid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Faxes

DisplayCollectionName Faxes

DisplayName Fax

EntitySetName faxes

IsBPFEntity False

LogicalCollectionName faxes

LogicalName fax

OwnershipType UserOwned

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

SchemaName Fax

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
BillingCode
Category
CoverPageName
Description
DirectionCode
FaxNumber
from
ImportSequenceNumber
IsBilled
IsWorkflowCreated
LastOnHoldTime
NumberOfPages
OverriddenCreatedOn
OwnerId
OwnerIdType
PriorityCode
ProcessId
RegardingObjectId
RegardingObjectTypeCode
ScheduledEnd
ScheduledStart
SLAId
SortDate
StageId
StateCode
StatusCode
Subcategory
Subject
SubscriptionId
TimeZoneRuleVersionNumber
to
TransactionCurrencyId
TraversedPath
Tsid
UTCConversionTimeZoneCode
ActivityId
PROPERTY VALUE

Description Unique identifier of the fax activity.

DisplayName Fax

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
PROPERTY VALUE

Description Type the number of minutes spent creating and sending the
fax. The duration is used in reporting.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName actualdurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ActualEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual end date and time of the fax. By default, it
displays the date and time when the activity was completed or
canceled, but can be edited to capture the actual time to
create and send the fax.

DisplayName Actual End

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

ActualStart
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Enter the actual start date and time for the fax. By default, it
displays the date and time when the activity was created, but
can be edited to capture the actual time to create and send
the fax.

DisplayName Actual Start

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime

BillingCode
PROPERTY VALUE

Description Type the billing code for the fax to make sure the fax is
charged to the correct sender or customer account.

DisplayName Billing Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName billingcode

MaxLength 50

RequiredLevel None

Type String

Category
PROPERTY VALUE

Description Type a category to identify the fax type, such as sales offer or
press release, to tie the fax to a business group or function.

DisplayName Category
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName category

MaxLength 250

RequiredLevel None

Type String

CoverPageName
PROPERTY VALUE

Description Type the name of the cover page to use when sending the fax.

DisplayName Cover Page Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName coverpagename

MaxLength 100

RequiredLevel None

Type String

Description
PROPERTY VALUE

Description Type additional information to describe the fax, such as the


primary message or the products and services featured.

DisplayName Description
PROPERTY VALUE

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

DirectionCode
PROPERTY VALUE

Description Select the direction of the fax as incoming or outbound.

DisplayName Direction

IsValidForForm True

IsValidForRead True

LogicalName directioncode

RequiredLevel None

Type Boolean

DirectionCode Options

VALUE LABEL

1 Outgoing

0 Incoming

DefaultValue: True
FaxNumber
PROPERTY VALUE

Description Type the recipient's fax number.

DisplayName Fax Number


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName faxnumber

MaxLength 200

RequiredLevel None

Type String

from
PROPERTY VALUE

Description Enter the account, contact, lead, queue, or user who sent the
fax.

DisplayName From

IsValidForForm True

IsValidForRead True

LogicalName from

RequiredLevel None

Targets account,contact,queue,systemuser

Type PartyList

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsBilled
PROPERTY VALUE

Description Information regarding whether the fax activity was billed as


part of resolving a case.

DisplayName Is Billed

IsValidForForm False

IsValidForRead True

LogicalName isbilled

RequiredLevel None

Type Boolean

IsBilled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsWorkflowCreated
PROPERTY VALUE

Description Indication of whether the fax activity was created by a


workflow rule.

DisplayName Is Workflow Created

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName isworkflowcreated

RequiredLevel None

Type Boolean

IsWorkflowCreated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

NumberOfPages
PROPERTY VALUE

Description Type the number of pages included in the fax.

DisplayName Number of Pages

Format None

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName numberofpages

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PriorityCode
PROPERTY VALUE

Description Select the priority so that preferred customers or critical issues


are handled quickly.

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode

RequiredLevel None

Type Picklist

PriorityCode Options

VALUE LABEL

0 Low

1 Normal
VALUE LABEL

2 High

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Choose the record that the fax relates to.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,contact,knowledgearticle,knowledgebaserecord

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time.

DisplayName Due Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime

ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time.

DisplayName Start Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None

Type DateTime

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the fax record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SortDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time by which the activities are sorted.

DisplayName Sort Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the fax activity is open, completed, or


canceled. Completed and canceled fax activities are read-only
and can't be edited.

DisplayName Activity Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 1 Open

1 Completed 2 Completed

2 Canceled 5 Canceled

StatusCode
PROPERTY VALUE

Description Select the fax's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode
PROPERTY VALUE

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Open 0

2 Completed 1

3 Sent 1

4 Received 1

5 Canceled 2

Subcategory
PROPERTY VALUE

Description Type a subcategory to identify the fax type to relate the


activity to a specific product, sales region, business group, or
other function.

DisplayName Sub-Category

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subcategory

MaxLength 250

RequiredLevel None

Type String

Subject
PROPERTY VALUE

Description Type a short description about the objective or primary topic


of the fax.

DisplayName Subject
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subject

MaxLength 200

RequiredLevel ApplicationRequired

Type String

SubscriptionId
PROPERTY VALUE

Description For internal use only.

DisplayName Subscription

IsValidForForm False

IsValidForRead False

IsValidForUpdate False

LogicalName subscriptionid

RequiredLevel None

Type Uniqueidentifier

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber
PROPERTY VALUE

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

to
PROPERTY VALUE

Description Enter the account, contact, lead, queue, or user recipients for
the fax.

DisplayName To

IsValidForForm True

IsValidForRead True

LogicalName to

RequiredLevel None

Targets account,contact,queue,systemuser

Type PartyList

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

Tsid
PROPERTY VALUE

Description Type the Transmitting Subscriber ID (TSID) associated with a


send action. This is typically a combination of the recipient's
fax or phone number and company name.

DisplayName Transmit. Station Id

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName tsid

MaxLength 20

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.
PROPERTY VALUE

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivityTypeCode
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
IsRegularActivity
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RegardingObjectIdName
RegardingObjectIdYomiName
ScheduledDurationMinutes
SLAInvokedId
SLAInvokedIdName
SLAName
TransactionCurrencyIdName
VersionNumber
ActivityTypeCode
PROPERTY VALUE

Description Type of activity.

DisplayName Activity Type

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode

RequiredLevel SystemRequired

Type EntityName

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On
PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None
PROPERTY VALUE

Type Decimal

IsRegularActivity
PROPERTY VALUE

Description Information regarding whether the activity is a regular activity


type or event type.

DisplayName Is Regular Activity

IsValidForForm False

IsValidForRead True

LogicalName isregularactivity

RequiredLevel SystemRequired

Type Boolean

IsRegularActivity Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647
PROPERTY VALUE

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the fax
activity.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team that owns the fax activity.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user that owns the fax activity.

DisplayName Owning User


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

ScheduledDurationMinutes
PROPERTY VALUE

Description Shows the expected duration of the fax activity, in minutes.

DisplayName Scheduled Duration

Format Duration

IsValidForForm False

IsValidForRead True

LogicalName scheduleddurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this fax. This field is for internal
use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None

Targets sla
PROPERTY VALUE

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the fax.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
fax_principalobjectattributeaccess
Fax_AsyncOperations
slakpiinstance_fax
Fax_DuplicateBaseRecord
Fax_BulkDeleteFailures
fax_activity_parties
fax_connections2
Fax_SyncErrors
Fax_DuplicateMatchingRecord
Fax_Annotation
Fax_ProcessSessions
fax_connections1
Fax_QueueItem
fax_actioncard
fax_principalobjectattributeaccess
Same as principalobjectattributeaccess entity fax_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName fax_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Fax_AsyncOperations
Same as asyncoperation entity Fax_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Fax_AsyncOperations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_fax
Same as slakpiinstance entity slakpiinstance_fax Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName slakpiinstance_fax

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Fax_DuplicateBaseRecord
Same as duplicaterecord entity Fax_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Fax_DuplicateBaseRecord
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Fax_BulkDeleteFailures
Same as bulkdeletefailure entity Fax_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Fax_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

fax_activity_parties
Same as activityparty entity fax_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName fax_activity_parties
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

fax_connections2
Same as connection entity fax_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName fax_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Fax_SyncErrors
Same as syncerror entity Fax_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Fax_SyncErrors
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Fax_DuplicateMatchingRecord
Same as duplicaterecord entity Fax_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Fax_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Fax_Annotation
Same as annotation entity Fax_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Fax_Annotation
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Fax_ProcessSessions
Same as processsession entity Fax_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Fax_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

fax_connections1
Same as connection entity fax_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName fax_connections1
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Fax_QueueItem
Same as queueitem entity Fax_QueueItem Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Fax_QueueItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

fax_actioncard
Same as actioncard entity fax_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName fax_actioncard
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
business_unit_fax_activities
KnowledgeBaseRecord_Faxes
KnowledgeArticle_Faxes
manualsla_fax
sla_fax
activity_pointer_fax
processstage_faxes
user_fax
Account_Faxes
lk_fax_createdonbehalfby
team_fax
lk_fax_createdby
TransactionCurrency_Fax
lk_fax_modifiedby
Contact_Faxes
lk_fax_modifiedonbehalfby
business_unit_fax_activities
See businessunit Entity business_unit_fax_activities One-To-Many relationship.
KnowledgeBaseRecord_Faxes
See knowledgebaserecord Entity KnowledgeBaseRecord_Faxes One-To-Many relationship.
KnowledgeArticle_Faxes
See knowledgearticle Entity KnowledgeArticle_Faxes One-To-Many relationship.
manualsla_fax
See sla Entity manualsla_fax One-To-Many relationship.
sla_fax
See sla Entity sla_fax One-To-Many relationship.
activity_pointer_fax
See activitypointer Entity activity_pointer_fax One-To-Many relationship.
processstage_faxes
See processstage Entity processstage_faxes One-To-Many relationship.
user_fax
See systemuser Entity user_fax One-To-Many relationship.
Account_Faxes
See account Entity Account_Faxes One-To-Many relationship.
lk_fax_createdonbehalfby
See systemuser Entity lk_fax_createdonbehalfby One-To-Many relationship.
team_fax
See team Entity team_fax One-To-Many relationship.
lk_fax_createdby
See systemuser Entity lk_fax_createdby One-To-Many relationship.
TransactionCurrency_Fax
See transactioncurrency Entity TransactionCurrency_Fax One-To-Many relationship.
lk_fax_modifiedby
See systemuser Entity lk_fax_modifiedby One-To-Many relationship.
Contact_Faxes
See contact Entity Contact_Faxes One-To-Many relationship.
lk_fax_modifiedonbehalfby
See systemuser Entity lk_fax_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
fax EntityType
Feedback Entity Reference
4/3/2019 • 8 minutes to read • Edit Online

Container for feedback and ratings for knowledge articles.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/feedback(feedbackid)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/feedback CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/feedback(feedbackid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/feedback(feedbackid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/feedback RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/feedback(feedbackid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/feedback(feedbackid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Feedback

DisplayCollectionName Feedback

DisplayName Feedback

EntitySetName feedback

IsBPFEntity False

LogicalCollectionName feedback

LogicalName feedback

OwnershipType UserOwned

PrimaryIdAttribute feedbackid

PrimaryNameAttribute title

SchemaName Feedback

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Comments
CreatedByContact
CreatedOnBehalfByContact
FeedbackId
ImportSequenceNumber
MaxRating
MinRating
OverriddenCreatedOn
OwnerId
OwnerIdType
Rating
RegardingObjectId
RegardingObjectTypeCode
Source
StateCode
StatusCode
Title
TransactionCurrencyId
Comments
PROPERTY VALUE

Description Type the feedback comments.

DisplayName Comments

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName comments

MaxLength 2000

RequiredLevel None

Type Memo

CreatedByContact
PROPERTY VALUE

Description Shows the contact who created the record.

DisplayName Created By (Contact)

IsValidForForm True

IsValidForRead True

LogicalName createdbycontact

RequiredLevel None

Targets contact

Type Lookup

CreatedOnBehalfByContact
PROPERTY VALUE

Description Shows the contact who created the record on behalf of


another user.

DisplayName Created OnBelhalfBy (Contact)

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbycontact

RequiredLevel None

Targets contact

Type Lookup

FeedbackId
PROPERTY VALUE

Description FeedbackId

DisplayName Feedback

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName feedbackid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647
PROPERTY VALUE

MinValue -2147483648

RequiredLevel None

Type Integer

MaxRating
PROPERTY VALUE

Description Enter the maximum rating value.

DisplayName Maximum Rating

Format None

IsValidForForm True

IsValidForRead True

LogicalName maxrating

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

MinRating
PROPERTY VALUE

Description Enter the minimum rating value.

DisplayName Minimum Rating

Format None

IsValidForForm True

IsValidForRead True

LogicalName minrating

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None
PROPERTY VALUE

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the knowledge
article views.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Rating
PROPERTY VALUE

Description Specifies how helpful the related record was.

DisplayName Rating

Format None

IsValidForForm True

IsValidForRead True

LogicalName rating

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

RegardingObjectId
PROPERTY VALUE

Description Shows the record that the feedback is associated with.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid
PROPERTY VALUE

RequiredLevel None

Targets contact,feedback,knowledgearticle

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

Source
PROPERTY VALUE

Description Shows where the feedback was submitted from.

DisplayName Source

IsValidForForm True

IsValidForRead True

LogicalName source

RequiredLevel None

Type Picklist

Source Options

VALUE LABEL

0 Internal

1 Portal

StateCode
PROPERTY VALUE

Description Shows whether the feedback is open, rejected or closed.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 1 Open

1 Closed 3 Closed

StatusCode
PROPERTY VALUE

Description Select the feedback's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

1 Proposed 0

2 Accepted 0

3 Closed 1
VALUE LABEL STATE

4 Rejected 1

Title
PROPERTY VALUE

Description Type a title for the feedback.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 155

RequiredLevel SystemRequired

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ClosedBy
ClosedByName
ClosedByYomiName
ClosedOn
CreatedBy
CreatedByContactName
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByContactName
CreatedOnBehalfByContactYomiName
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
NormalizedRating
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RegardingObjectIdName
RegardingObjectIdYomiName
TransactionCurrencyIdName
VersionNumber
ClosedBy
PROPERTY VALUE

Description Shows who closed the record.

DisplayName Closed By

IsValidForForm True

IsValidForRead True

LogicalName closedby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ClosedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName closedbyname

MaxLength 100

RequiredLevel None

Type String

ClosedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName closedbyyominame

MaxLength 100

RequiredLevel None

Type String
ClosedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was closed. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Closed On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName closedon

RequiredLevel None

Type DateTime

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByContactName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbycontactname

MaxLength 100

RequiredLevel None

Type String

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedOnBehalfByContactName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbycontactname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByContactYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbycontactyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.
PROPERTY VALUE

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String
ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

NormalizedRating
PROPERTY VALUE

Description Shows the rating scaled to a value between 0 and 1 based on


minimum and maximum ratings.

DisplayName Normalized Rating

IsValidForForm True

IsValidForRead True

LogicalName normalizedrating

MaxValue 1000000000

MinValue -100000000000

Precision 2

RequiredLevel None

Type Decimal

OwnerIdName
PROPERTY VALUE
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the


knowledge article views.
PROPERTY VALUE

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team that owns the feedback.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns this feedback.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the feedback.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
Feedback_SyncErrors
feedback_feedback
feedback_principalobjectattributeaccess
Feedback_SyncErrors
Same as syncerror entity Feedback_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Feedback_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

feedback_feedback
Same as feedback entity feedback_feedback Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity feedback

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName feedback_feedback

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 150

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

feedback_principalobjectattributeaccess
Same as principalobjectattributeaccess entity feedback_principalobjectattributeaccess Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName feedback_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_feedback_modifiedby
Contact_Feedback
lk_feedback_closedby
feedback_feedback
lk_feedback_createdonbehalfby
KnowledgeArticle_Feedback
transactioncurrency_feedback
lk_feedback_modifiedonbehalfby
business_unit_feedback
lk_contact_feedback_createdonbehalfby
lk_contact_feedback_createdby
lk_feedback_createdby
lk_feedback_modifiedby
See systemuser Entity lk_feedback_modifiedby One-To-Many relationship.
Contact_Feedback
See contact Entity Contact_Feedback One-To-Many relationship.
lk_feedback_closedby
See systemuser Entity lk_feedback_closedby One-To-Many relationship.
feedback_feedback
See feedback Entity feedback_feedback One-To-Many relationship.
lk_feedback_createdonbehalfby
See systemuser Entity lk_feedback_createdonbehalfby One-To-Many relationship.
KnowledgeArticle_Feedback
See knowledgearticle Entity KnowledgeArticle_Feedback One-To-Many relationship.
transactioncurrency_feedback
See transactioncurrency Entity transactioncurrency_feedback One-To-Many relationship.
lk_feedback_modifiedonbehalfby
See systemuser Entity lk_feedback_modifiedonbehalfby One-To-Many relationship.
business_unit_feedback
See businessunit Entity business_unit_feedback One-To-Many relationship.
lk_contact_feedback_createdonbehalfby
See contact Entity lk_contact_feedback_createdonbehalfby One-To-Many relationship.
lk_contact_feedback_createdby
See contact Entity lk_contact_feedback_createdby One-To-Many relationship.
lk_feedback_createdby
See systemuser Entity lk_feedback_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
feedback EntityType
FieldPermission Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Group of privileges used to categorize users to provide appropriate access to secured columns.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/fieldpermissions Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/fieldpermissions(field Delete
permissionid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/fieldpermissions(field Retrieve
permissionid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/fieldpermissions RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/fieldpermissions(field Update
permissionid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName FieldPermissions

DisplayCollectionName Field Permissions

DisplayName Field Permission

EntitySetName fieldpermissions

IsBPFEntity False

LogicalCollectionName fieldpermissions

LogicalName fieldpermission
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute fieldpermissionid

PrimaryNameAttribute

SchemaName FieldPermission

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AttributeLogicalName
CanCreate
CanRead
CanUpdate
EntityName
FieldPermissionId
FieldSecurityProfileId
AttributeLogicalName
PROPERTY VALUE

Description Attribute Name.

DisplayName Name of the attribute for which this privilege is defined

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName attributelogicalname

MaxLength 50

RequiredLevel SystemRequired

Type String

CanCreate
PROPERTY VALUE

Description Can this Profile create the attribute

DisplayName Can create the attribute

IsValidForForm True

IsValidForRead True

LogicalName cancreate

RequiredLevel SystemRequired

Type Picklist

CanCreate Options

VALUE LABEL

0 Not Allowed

4 Allowed

CanRead
PROPERTY VALUE

Description Can this Profile read the attribute

DisplayName Can Read the attribute

IsValidForForm True

IsValidForRead True

LogicalName canread

RequiredLevel SystemRequired

Type Picklist

CanRead Options

VALUE LABEL

0 Not Allowed

4 Allowed

CanUpdate
PROPERTY VALUE

Description Can this Profile update the attribute

DisplayName Can Update the attribute

IsValidForForm True

IsValidForRead True

LogicalName canupdate

RequiredLevel SystemRequired

Type Picklist

CanUpdate Options

VALUE LABEL

0 Not Allowed

4 Allowed

EntityName
PROPERTY VALUE

Description Entity name.

DisplayName Name of the Entity for which this privilege is defined

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName entityname

RequiredLevel SystemRequired

Type EntityName

FieldPermissionId
PROPERTY VALUE

Description Unique identifier of the Field Permission.

DisplayName Field Permission

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName fieldpermissionid

RequiredLevel SystemRequired

Type Uniqueidentifier

FieldSecurityProfileId
PROPERTY VALUE

Description Unique identifier of profile to which this privilege belongs.

DisplayName Profile

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName fieldsecurityprofileid

RequiredLevel SystemRequired

Targets fieldsecurityprofile

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
FieldPermissionIdUnique
IsManaged
OrganizationId
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

FieldPermissionIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName Field Permission

IsValidForForm False

IsValidForRead True

LogicalName fieldpermissionidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Targets

Type Lookup

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
FieldPermission_SyncErrors
Same as syncerror entity FieldPermission_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName FieldPermission_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_fieldpermission_fieldsecurityprofileid
solution_fieldpermission
lk_fieldpermission_fieldsecurityprofileid
See fieldsecurityprofile Entity lk_fieldpermission_fieldsecurityprofileid One-To-Many relationship.
solution_fieldpermission
See solution Entity solution_fieldpermission One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
fieldpermission EntityType
FieldSecurityProfile Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Profile which defines access level for secured attributes

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/fieldsecurityprofiles Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/fieldsecurityprofiles(fi Delete
eldsecurityprofileid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/fieldsecurityprofiles(fi Retrieve
eldsecurityprofileid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/fieldsecurityprofiles RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/fieldsecurityprofiles(fi Update
eldsecurityprofileid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName FieldSecurityProfiles

DisplayCollectionName Field Security Profiles

DisplayName Field Security Profile

EntitySetName fieldsecurityprofiles

IsBPFEntity False

LogicalCollectionName fieldsecurityprofiles

LogicalName fieldsecurityprofile
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute fieldsecurityprofileid

PrimaryNameAttribute name

SchemaName FieldSecurityProfile

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Description
FieldSecurityProfileId
Name
Description
PROPERTY VALUE

Description Description of the Profile

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

FieldSecurityProfileId
PROPERTY VALUE

Description Unique identifier of the profile.

DisplayName Field Security Profile

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName fieldsecurityprofileid

RequiredLevel SystemRequired

Type Uniqueidentifier

Name
PROPERTY VALUE

Description Name of the profile.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
FieldSecurityProfileIdUnique
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the profile.

DisplayName Created By

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the profile was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the role.

DisplayName Created By Impersonator

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

FieldSecurityProfileIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName Field Security Profile


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName fieldsecurityprofileidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the profile.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the profile was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
profile.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the associated organization.

DisplayName Organization

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime
PROPERTY VALUE

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
lk_fieldpermission_fieldsecurityprofileid
FieldSecurityProfile_SyncErrors
lk_fieldpermission_fieldsecurityprofileid
Same as fieldpermission entity lk_fieldpermission_fieldsecurityprofileid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fieldpermission

ReferencingAttribute fieldsecurityprofileid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_fieldpermission_fieldsecurityprofileid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

FieldSecurityProfile_SyncErrors
Same as syncerror entity FieldSecurityProfile_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName FieldSecurityProfile_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_fieldsecurityprofile_modifiedby
lk_fieldsecurityprofile_modifiedonbehalfby
lk_fieldsecurityprofile_createdby
lk_fieldsecurityprofile_createdonbehalfby
solution_fieldsecurityprofile
lk_fieldsecurityprofile_organizationid
lk_fieldsecurityprofile_modifiedby
See systemuser Entity lk_fieldsecurityprofile_modifiedby One-To-Many relationship.
lk_fieldsecurityprofile_modifiedonbehalfby
See systemuser Entity lk_fieldsecurityprofile_modifiedonbehalfby One-To-Many relationship.
lk_fieldsecurityprofile_createdby
See systemuser Entity lk_fieldsecurityprofile_createdby One-To-Many relationship.
lk_fieldsecurityprofile_createdonbehalfby
See systemuser Entity lk_fieldsecurityprofile_createdonbehalfby One-To-Many relationship.
solution_fieldsecurityprofile
See solution Entity solution_fieldsecurityprofile One-To-Many relationship.
lk_fieldsecurityprofile_organizationid
See organization Entity lk_fieldsecurityprofile_organizationid One-To-Many relationship.

Many-To-Many Relationships
Relationship details provided where the FieldSecurityProfile entity is the first entity in the relationship. Listed by
SchemaName.
systemuserprofiles_association
teamprofiles_association
systemuserprofiles_association
See systemuser Entity systemuserprofiles_association Many-To-Many Relationship.
teamprofiles_association
See team Entity teamprofiles_association Many-To-Many Relationship.
See also
About the Entity Reference
Web API Reference
fieldsecurityprofile EntityType
FixedMonthlyFiscalCalendar Entity Reference
4/3/2019 • 9 minutes to read • Edit Online

Fixed monthly fiscal calendar of an organization. A span of time during which the financial activities of an
organization are calculated.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/fixedmonthlyfiscalcal Create
endars
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/fixedmonthlyfiscalcal Delete
endars(userfiscalcalendarid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/fixedmonthlyfiscalcal Retrieve
endars(userfiscalcalendarid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/fixedmonthlyfiscalcal RetrieveMultiple
endars
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/fixedmonthlyfiscalcal Update
endars(userfiscalcalendarid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName FixedMonthlyFiscalCalendars

DisplayCollectionName Fixed Monthly Fiscal Calendars

DisplayName Fixed Monthly Fiscal Calendar

EntitySetName fixedmonthlyfiscalcalendars

IsBPFEntity False

LogicalCollectionName fixedmonthlyfiscalcalendars
PROPERTY VALUE

LogicalName fixedmonthlyfiscalcalendar

OwnershipType None

PrimaryIdAttribute userfiscalcalendarid

PrimaryNameAttribute

SchemaName FixedMonthlyFiscalCalendar

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
EffectiveOn
Period1
Period10
Period11
Period12
Period13
Period2
Period3
Period4
Period5
Period6
Period7
Period8
Period9
SalesPersonId
TimeZoneRuleVersionNumber
TransactionCurrencyId
UserFiscalCalendarId
UTCConversionTimeZoneCode
EffectiveOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the fixed monthly fiscal calendar sales
quota takes effect.

DisplayName

Format DateOnly
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName effectiveon

RequiredLevel SystemRequired

Type DateTime

Period1
PROPERTY VALUE

Description Sales quota for the first period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period1

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period10
PROPERTY VALUE

Description Sales quota for the tenth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period10
PROPERTY VALUE

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period11
PROPERTY VALUE

Description Sales quota for the eleventh period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period11

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period12
PROPERTY VALUE

Description Sales quota for the twelfth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period12
PROPERTY VALUE

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period13
PROPERTY VALUE

Description Sales quota for the thirteenth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period13

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period2
PROPERTY VALUE

Description Sales quota for the second period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period2
PROPERTY VALUE

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period3
PROPERTY VALUE

Description Sales quota for the third period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period3

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period4
PROPERTY VALUE

Description Sales quota for the fourth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period4
PROPERTY VALUE

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period5
PROPERTY VALUE

Description Sales quota for the fifth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period5

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period6
PROPERTY VALUE

Description Sales quota for the sixth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period6
PROPERTY VALUE

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period7
PROPERTY VALUE

Description Sales quota for the seventh period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period7

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period8
PROPERTY VALUE

Description Sales quota for the eighth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period8
PROPERTY VALUE

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period9
PROPERTY VALUE

Description Sales quota for the ninth period in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName period9

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

SalesPersonId
PROPERTY VALUE

Description Unique identifier of the associated salesperson.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName salespersonid

RequiredLevel SystemRequired

Targets systemuser

Type Lookup

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the fixed


monthly fiscal calendar.

DisplayName Currency

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName transactioncurrencyid

RequiredLevel ApplicationRequired
PROPERTY VALUE

Targets transactioncurrency

Type Lookup

UserFiscalCalendarId
PROPERTY VALUE

Description Unique identifier of the user of the fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName userfiscalcalendarid

RequiredLevel SystemRequired

Type Uniqueidentifier

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
BusinessUnitId
BusinessUnitIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
FiscalPeriodType
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
Period1_Base
Period10_Base
Period11_Base
Period12_Base
Period13_Base
Period2_Base
Period3_Base
Period4_Base
Period5_Base
Period6_Base
Period7_Base
Period8_Base
Period9_Base
SalesPersonIdName
SalesPersonIdYomiName
TransactionCurrencyIdName
BusinessUnitId
PROPERTY VALUE

Description Business unit responsible for the quota associated with this
calendar.

DisplayName Business Unit

IsValidForForm False

IsValidForRead True

LogicalName businessunitid
PROPERTY VALUE

RequiredLevel ApplicationRequired

Targets businessunit

Type Lookup

BusinessUnitIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName businessunitidname

MaxLength 100

RequiredLevel None

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the quota for the fixed monthly fiscal
calendar was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


fixedmonthlyfiscalcalendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the fixed
monthly fiscal calendar with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000
PROPERTY VALUE

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

FiscalPeriodType
PROPERTY VALUE

Description Type of fiscal period used in the fixed monthly fiscal calendar
sales quota.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName fiscalperiodtype

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the fixed
monthly fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the fixed monthly fiscal calendar was last
modified.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
fixedmonthlyfiscalcalendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

Period1_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the first period
in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period1_base
PROPERTY VALUE

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period10_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the tenth
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period10_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period11_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the eleventh
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName period11_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period12_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the twelfth
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period12_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period13_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the thirteenth
period in the fiscal year.

DisplayName

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName period13_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period2_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the second
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period2_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period3_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the third
period in the fiscal year.

DisplayName
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName period3_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period4_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the fourth
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period4_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period5_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the fifth period
in the fiscal year.
PROPERTY VALUE

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period5_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period6_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the sixth
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period6_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period7_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the seventh
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period7_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period8_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the eighth
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period8_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period9_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the ninth
period in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName period9_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

SalesPersonIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName salespersonidname

MaxLength 100

RequiredLevel SystemRequired

Type String

SalesPersonIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName salespersonidyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

One-To-Many Relationships
Listed by SchemaName.
FixedMonthlyFiscalCalendar_AsyncOperations
FixedMonthlyFiscalCalendar_BulkDeleteFailures
FixedMonthlyFiscalCalendar_AsyncOperations
Same as asyncoperation entity FixedMonthlyFiscalCalendar_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName FixedMonthlyFiscalCalendar_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

FixedMonthlyFiscalCalendar_BulkDeleteFailures
Same as bulkdeletefailure entity FixedMonthlyFiscalCalendar_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName FixedMonthlyFiscalCalendar_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
transactioncurrency_fixedmonthlyfiscalcalendar
lk_fixedmonthlyfiscalcalendar_salespersonid
lk_fixedmonthlyfiscalcalendar_modifiedby
lk_fixedmonthlyfiscalcalendar_createdby
lk_fixedmonthlyfiscalcalendar_createdonbehalfby
lk_fixedmonthlyfiscalcalendar_modifiedonbehalfby
transactioncurrency_fixedmonthlyfiscalcalendar
See transactioncurrency Entity transactioncurrency_fixedmonthlyfiscalcalendar One-To-Many relationship.
lk_fixedmonthlyfiscalcalendar_salespersonid
See systemuser Entity lk_fixedmonthlyfiscalcalendar_salespersonid One-To-Many relationship.
lk_fixedmonthlyfiscalcalendar_modifiedby
See systemuser Entity lk_fixedmonthlyfiscalcalendar_modifiedby One-To-Many relationship.
lk_fixedmonthlyfiscalcalendar_createdby
See systemuser Entity lk_fixedmonthlyfiscalcalendar_createdby One-To-Many relationship.
lk_fixedmonthlyfiscalcalendar_createdonbehalfby
See systemuser Entity lk_fixedmonthlyfiscalcalendar_createdonbehalfby One-To-Many relationship.
lk_fixedmonthlyfiscalcalendar_modifiedonbehalfby
See systemuser Entity lk_fixedmonthlyfiscalcalendar_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
fixedmonthlyfiscalcalendar EntityType
Goal Entity Reference
4/3/2019 • 23 minutes to read • Edit Online

Target objective for a user or a team for a specified time period.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/goals(goalid)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/goals CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/goals(goalid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Recalculate Recalculate Action RecalculateRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/goals(goalid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/goals RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/goals(goalid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/goals(goalid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Goals

DisplayCollectionName Goals

DisplayName Goal

EntitySetName goals

IsBPFEntity False

LogicalCollectionName goals

LogicalName goal

OwnershipType UserOwned

PrimaryIdAttribute goalid

PrimaryNameAttribute title

SchemaName Goal

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActualDecimal
ActualInteger
ActualMoney
AmountDataType
ConsiderOnlyGoalOwnersRecords
CustomRollupFieldDecimal
CustomRollupFieldInteger
CustomRollupFieldMoney
EntityImage
FiscalPeriod
FiscalYear
GoalEndDate
GoalId
GoalOwnerId
GoalOwnerIdType
GoalStartDate
GoalWithErrorId
ImportSequenceNumber
InProgressDecimal
InProgressInteger
InProgressMoney
IsAmount
IsFiscalPeriodGoal
IsOverridden
IsOverride
LastRolledupDate
MetricId
OverriddenCreatedOn
OwnerId
OwnerIdType
ParentGoalId
Percentage
RollupErrorCode
RollupOnlyFromChildGoals
RollUpQueryActualDecimalId
RollupQueryActualIntegerId
RollUpQueryActualMoneyId
RollUpQueryCustomDecimalId
RollUpQueryCustomIntegerId
RollUpQueryCustomMoneyId
RollUpQueryInprogressDecimalId
RollUpQueryInprogressIntegerId
RollUpQueryInprogressMoneyId
StateCode
StatusCode
StretchTargetDecimal
StretchTargetInteger
StretchTargetMoney
TargetDecimal
TargetInteger
TargetMoney
TimeZoneRuleVersionNumber
Title
UTCConversionTimeZoneCode
ActualDecimal
PROPERTY VALUE

Description Shows the actual value (Decimal type) achieved towards the
target as of the last rolled-up date. This field appears when the
metric type of the goal is Amount and the amount data type
is Decimal.

DisplayName Actual (Decimal)

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName actualdecimal

MaxValue 100000000000

MinValue -100000000000

Precision 10

RequiredLevel None

Type Decimal

ActualInteger
PROPERTY VALUE

Description Shows the actual value (integer) achieved towards the target
as of the last rolled-up date. This field appears when the
metric type of the goal is Amount or Count and the amount
data type is Integer.

DisplayName Actual (Integer)

Format None

IsValidForForm True

IsValidForRead True

LogicalName actualinteger

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ActualMoney
PROPERTY VALUE

Description Shows the actual value (Money type) achieved towards the
target as of the last rolled-up date. This field appears when the
metric type of the goal is Amount and the amount data type
is Money.

DisplayName Actual (Money)

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName actualmoney

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

AmountDataType
PROPERTY VALUE

Description Data type of the amount.

DisplayName Amount Data Type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName amountdatatype

RequiredLevel None

Type Picklist

AmountDataType Options

VALUE LABEL

0 Money

1 Decimal

2 Integer

ConsiderOnlyGoalOwnersRecords
PROPERTY VALUE
PROPERTY VALUE

Description Select whether only the goal owner's records, or all records,
should be rolled up for goal results.

DisplayName Record Set for Rollup

IsValidForForm True

IsValidForRead True

LogicalName consideronlygoalownersrecords

RequiredLevel SystemRequired

Type Boolean

ConsiderOnlyGoalOwnersRecords Options

VALUE LABEL

1 Owned by goal owner

0 All

DefaultValue: True
CustomRollupFieldDecimal
PROPERTY VALUE

Description Indicates a placeholder rollup field for a decimal value to track


a third category of results other than actuals and in-progress
results.

DisplayName Custom Rollup Field (Decimal)

IsValidForForm True

IsValidForRead True

LogicalName customrollupfielddecimal

MaxValue 100000000000

MinValue -100000000000

Precision 10

RequiredLevel None

Type Decimal

CustomRollupFieldInteger
PROPERTY VALUE

Description Indicates a placeholder rollup field for an integer value to track


a third category of results other than actuals and in-progress
results.

DisplayName Custom Rollup Field (Integer)

Format None

IsValidForForm True

IsValidForRead True

LogicalName customrollupfieldinteger

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CustomRollupFieldMoney
PROPERTY VALUE

Description Indicates a placeholder rollup field for a money value to track a


third category of results other than actuals and in-progress
results.

DisplayName Custom Rollup Field (Money)

IsValidForForm True

IsValidForRead True

LogicalName customrollupfieldmoney

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

EntityImage
PROPERTY VALUE

Description The default image for the entity.

DisplayName Entity Image

IsPrimaryImage False

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

FiscalPeriod
PROPERTY VALUE

Description Select the fiscal period for the goal.

DisplayName Fiscal Period

IsValidForForm True

IsValidForRead True

LogicalName fiscalperiod

RequiredLevel None

Type Picklist

FiscalPeriod Options

VALUE LABEL

1 Quarter 1

2 Quarter 2

3 Quarter 3

4 Quarter 4

101 January
VALUE LABEL

102 February

103 March

104 April

105 May

106 June

107 July

108 August

109 September

110 October

111 November

112 December

201 Semester 1

202 Semester 2

301 Annual

401 P1

402 P2

403 P3

404 P4

405 P5

406 P6

407 P7

408 P8

409 P9

410 P10

411 P11
VALUE LABEL

412 P12

413 P13

FiscalYear
PROPERTY VALUE

Description Select the fiscal year for the goal that's being tracked.

DisplayName Fiscal Year

IsValidForForm True

IsValidForRead True

LogicalName fiscalyear

RequiredLevel None

Type Picklist

FiscalYear Options

VALUE LABEL

1970 FY1970

1971 FY1971

1972 FY1972

1973 FY1973

1974 FY1974

1975 FY1975

1976 FY1976

1977 FY1977

1978 FY1978

1979 FY1979

1980 FY1980

1981 FY1981

1982 FY1982
VALUE LABEL

1983 FY1983

1984 FY1984

1985 FY1985

1986 FY1986

1987 FY1987

1988 FY1988

1989 FY1989

1990 FY1990

1991 FY1991

1992 FY1992

1993 FY1993

1994 FY1994

1995 FY1995

1996 FY1996

1997 FY1997

1998 FY1998

1999 FY1999

2000 FY2000

2001 FY2001

2002 FY2002

2003 FY2003

2004 FY2004

2005 FY2005

2006 FY2006

2007 FY2007
VALUE LABEL

2008 FY2008

2009 FY2009

2010 FY2010

2011 FY2011

2012 FY2012

2013 FY2013

2014 FY2014

2015 FY2015

2016 FY2016

2017 FY2017

2018 FY2018

2019 FY2019

2020 FY2020

2021 FY2021

2022 FY2022

2023 FY2023

2024 FY2024

2025 FY2025

2026 FY2026

2027 FY2027

2028 FY2028

2029 FY2029

2030 FY2030

2031 FY2031

2032 FY2032
VALUE LABEL

2033 FY2033

2034 FY2034

2035 FY2035

2036 FY2036

2037 FY2037

2038 FY2038

GoalEndDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the date when the goal ends.

DisplayName To

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName goalenddate

RequiredLevel None

Type DateTime

GoalId
PROPERTY VALUE

Description Unique identifier of the goal.

DisplayName Goal

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName goalid

RequiredLevel SystemRequired
PROPERTY VALUE

Type Uniqueidentifier

GoalOwnerId
PROPERTY VALUE

Description Choose the user or team responsible for meeting the goal.

DisplayName Goal Owner

IsValidForForm True

IsValidForRead True

LogicalName goalownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Lookup

GoalOwnerIdType
PROPERTY VALUE

Description

DisplayName Goal Owner Type

IsValidForForm False

IsValidForRead True

LogicalName goalowneridtype

RequiredLevel ApplicationRequired

Type EntityName

GoalStartDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the date and time when the period for tracking the goal
begins.

DisplayName From
PROPERTY VALUE

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName goalstartdate

RequiredLevel None

Type DateTime

GoalWithErrorId
PROPERTY VALUE

Description Unique identifier of the goal that caused an error in the rollup
of the goal hierarchy.

DisplayName Goal With Error

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName goalwitherrorid

RequiredLevel None

Targets goal

Type Lookup

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

InProgressDecimal
PROPERTY VALUE

Description Shows the in-progress value (decimal) against the target. This
value could contribute to a goal, but is not counted yet as
actual.

DisplayName In-progress (Decimal)

IsValidForForm True

IsValidForRead True

LogicalName inprogressdecimal

MaxValue 100000000000

MinValue -100000000000

Precision 10

RequiredLevel None

Type Decimal

InProgressInteger
PROPERTY VALUE

Description Shows the in-progress value (integer) against the target. This
value could contribute to a goal, but is not counted yet as
actual.

DisplayName In-progress (Integer)

Format None

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName inprogressinteger

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

InProgressMoney
PROPERTY VALUE

Description Shows the in-progress value (money) against the target. This
value could contribute to a goal, but is not counted yet as
actual.

DisplayName In-progress (Money)

IsValidForForm True

IsValidForRead True

LogicalName inprogressmoney

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

IsAmount
PROPERTY VALUE

Description Indicates whether the metric type is Count or Amount.

DisplayName Metric Type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName isamount

RequiredLevel ApplicationRequired

Type Boolean

IsAmount Options

VALUE LABEL

1 Amount

0 Count

DefaultValue: True
IsFiscalPeriodGoal
PROPERTY VALUE

Description Select whether the goal period is a fiscal period or custom


period.

DisplayName Goal Period Type

IsValidForForm True

IsValidForRead True

LogicalName isfiscalperiodgoal

RequiredLevel None

Type Boolean

IsFiscalPeriodGoal Options

VALUE LABEL

1 Fiscal Period

0 Custom Period

DefaultValue: True
IsOverridden
PROPERTY VALUE

Description Select whether the system rollup fields are updated. If set to
Yes, the next system rollup will not update the values of the
rollup fields with the system calculated values.
PROPERTY VALUE

DisplayName Overridden

IsValidForForm True

IsValidForRead True

LogicalName isoverridden

RequiredLevel None

Type Boolean

IsOverridden Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsOverride
PROPERTY VALUE

Description Indicates whether the values of system rollup fields can be


updated.

DisplayName Override

IsValidForForm False

IsValidForRead True

LogicalName isoverride

RequiredLevel None

Type Boolean

IsOverride Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastRolledupDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the goal was last rolled up. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Last Rolled Up Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastrolledupdate

RequiredLevel None

Type DateTime

MetricId
PROPERTY VALUE

Description Choose the metric for the goal. This metric determines how
the goal is tracked.

DisplayName Goal Metric

IsValidForForm True

IsValidForRead True

LogicalName metricid

RequiredLevel ApplicationRequired

Targets metric

Type Lookup

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On


PROPERTY VALUE

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Manager

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
PROPERTY VALUE

Type EntityName

ParentGoalId
PROPERTY VALUE

Description Choose a parent goal if the current goal is a child goal. This
sets up a parent-child relationship for reporting and analytics.

DisplayName Parent Goal

IsValidForForm True

IsValidForRead True

LogicalName parentgoalid

RequiredLevel None

Targets goal

Type Lookup

Percentage
PROPERTY VALUE

Description Shows the percentage achieved against the target goal.

DisplayName Percentage Achieved

IsValidForForm True

IsValidForRead True

LogicalName percentage

MaxValue 100000000000

MinValue -100000000000

Precision 0

RequiredLevel None

Type Decimal

RollupErrorCode
PROPERTY VALUE

Description Error code associated with rollup.

DisplayName Rollup Error Code

Format None

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName rolluperrorcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

RollupOnlyFromChildGoals
PROPERTY VALUE

Description Select whether the data should be rolled up only from the
child goals.

DisplayName Roll Up Only from Child Goals

IsValidForForm True

IsValidForRead True

LogicalName rolluponlyfromchildgoals

RequiredLevel SystemRequired

Type Boolean

RollupOnlyFromChildGoals Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
RollUpQueryActualDecimalId
PROPERTY VALUE

Description Choose the query that will be used to calculate the actual data
for the goal (decimal).

DisplayName Rollup Query - Actual(Decimal)

IsValidForForm True

IsValidForRead True

LogicalName rollupqueryactualdecimalid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollupQueryActualIntegerId
PROPERTY VALUE

Description Choose the query that will be used to calculate the actual data
for the goal (integer).

DisplayName Rollup Query - Actual(Integer)

IsValidForForm True

IsValidForRead True

LogicalName rollupqueryactualintegerid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryActualMoneyId
PROPERTY VALUE

Description Choose the query that will be used to calculate the actual data
for the goal (money).

DisplayName Rollup Query - Actual(Money)

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName rollupqueryactualmoneyid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryCustomDecimalId
PROPERTY VALUE

Description Choose the query that will be used to calculate data for the
custom rollup field (decimal).

DisplayName Rollup Query - Custom Rollup Field (Decimal)

IsValidForForm True

IsValidForRead True

LogicalName rollupquerycustomdecimalid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryCustomIntegerId
PROPERTY VALUE

Description Choose the query that will be used to calculate data for the
custom rollup field (integer).

DisplayName Rollup Query - Custom Rollup Field (Integer)

IsValidForForm True

IsValidForRead True

LogicalName rollupquerycustomintegerid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryCustomMoneyId
PROPERTY VALUE

Description Choose the query that will be used to calculate data for the
custom rollup field (money).

DisplayName Rollup Query - Custom Rollup Field (Money)

IsValidForForm True

IsValidForRead True

LogicalName rollupquerycustommoneyid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryInprogressDecimalId
PROPERTY VALUE

Description Choose the query that will be used to calculate data for the
in-progress rollup field (decimal).

DisplayName Rollup Query - In-progress(Decimal)

IsValidForForm True

IsValidForRead True

LogicalName rollupqueryinprogressdecimalid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryInprogressIntegerId
PROPERTY VALUE

Description Choose the query that will be used to calculate data for the
in-progress rollup field (integer).

DisplayName Rollup Query - In-progress(Integer)

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName rollupqueryinprogressintegerid

RequiredLevel None

Targets goalrollupquery

Type Lookup

RollUpQueryInprogressMoneyId
PROPERTY VALUE

Description Choose the query that will be used to calculate data for the
in-progress rollup field (money).

DisplayName Rollup Query - In-progress(Money)

IsValidForForm True

IsValidForRead True

LogicalName rollupqueryinprogressmoneyid

RequiredLevel None

Targets goalrollupquery

Type Lookup

StateCode
PROPERTY VALUE

Description Shows whether the goal is open, completed, or canceled.


Completed and canceled goals are read-only and can't be
edited.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options
VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

1 Inactive 1 Inactive

StatusCode
PROPERTY VALUE

Description Select the goal's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

0 Open 0

1 Closed 1

2 Discarded 1

StretchTargetDecimal
PROPERTY VALUE

Description Select a stretch target (decimal) of the goal to define a higher


or difficult level of goal than the usual ones.

DisplayName Stretch Target (Decimal)

IsValidForForm True

IsValidForRead True

LogicalName stretchtargetdecimal

MaxValue 100000000000

MinValue 0
PROPERTY VALUE

Precision 2

RequiredLevel None

Type Decimal

StretchTargetInteger
PROPERTY VALUE

Description Select the stretch target (integer) of the goal to define a higher
or difficult level of goal than the usual ones.

DisplayName Stretch Target (Integer)

Format None

IsValidForForm True

IsValidForRead True

LogicalName stretchtargetinteger

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

StretchTargetMoney
PROPERTY VALUE

Description Select stretch target (money) of the goal to define a higher or


difficult level of goal than the usual ones.

DisplayName Stretch Target (Money)

IsValidForForm True

IsValidForRead True

LogicalName stretchtargetmoney

MaxValue 922337203685477

MinValue 0

Precision 4
PROPERTY VALUE

PrecisionSource 2

RequiredLevel None

Type Money

TargetDecimal
PROPERTY VALUE

Description Select a goal target of the decimal type to use for tracking
data that include partial numbers, such as pounds sold of a
product sold by weight.

DisplayName Target (Decimal)

IsValidForForm True

IsValidForRead True

LogicalName targetdecimal

MaxValue 100000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

TargetInteger
PROPERTY VALUE

Description Select a goal target of the integer type to use for tracking
anything countable in whole numbers, such as units sold.

DisplayName Target (Integer)

Format None

IsValidForForm True

IsValidForRead True

LogicalName targetinteger

MaxValue 2147483647
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

TargetMoney
PROPERTY VALUE

Description Select a goal target (money) to track a monetary amount such


as revenue from a product.

DisplayName Target (Money)

IsValidForForm True

IsValidForRead True

LogicalName targetmoney

MaxValue 922337203685477

MinValue 0

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647
PROPERTY VALUE

MinValue -1

RequiredLevel None

Type Integer

Title
PROPERTY VALUE

Description Type a title or name that describes the goal.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName title

MaxLength 100

RequiredLevel ApplicationRequired

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None
PROPERTY VALUE

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActualMoney_Base
ActualString
ComputedTargetAsOfTodayDecimal
ComputedTargetAsOfTodayInteger
ComputedTargetAsOfTodayMoney
ComputedTargetAsOfTodayMoney_Base
ComputedTargetAsOfTodayPercentageAchieved
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CustomRollupFieldMoney_Base
CustomRollupFieldString
Depth
EntityImage_Timestamp
EntityImage_URL
EntityImageId
ExchangeRate
GoalOwnerIdName
GoalOwnerIdYomiName
GoalWithErrorIdName
InProgressMoney_Base
InProgressString
MetricIdName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParentGoalIdName
RollUpQueryActualDecimalIdName
RollupQueryActualIntegerIdName
RollUpQueryActualMoneyIdName
RollUpQueryCustomDecimalIdName
RollUpQueryCustomIntegerIdName
RollUpQueryCustomMoneyIdName
RollUpQueryInprogressDecimalIdName
RollUpQueryInprogressIntegerIdName
RollUpQueryInprogressMoneyIdName
StretchTargetMoney_Base
StretchTargetString
TargetMoney_Base
TargetString
TransactionCurrencyId
TransactionCurrencyIdName
TreeId
VersionNumber
ActualMoney_Base
PROPERTY VALUE

Description Shows the actual value (money type) in base currency to track
goal results against the target.

DisplayName Actual (Money) (Base)

IsValidForForm True

IsValidForRead True

LogicalName actualmoney_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

ActualString
PROPERTY VALUE

Description Actual Value of the goal.

DisplayName Actual
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName actualstring

MaxLength 100

RequiredLevel None

Type String

ComputedTargetAsOfTodayDecimal
PROPERTY VALUE

Description Shows the expected amount for actual value (decimal type)
against the target goal.

DisplayName Today's Target (Decimal)

IsValidForForm True

IsValidForRead True

LogicalName computedtargetasoftodaydecimal

MaxValue 100000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

ComputedTargetAsOfTodayInteger
PROPERTY VALUE

Description Shows the expected amount for actual value (integer type)
against the target goal as of the current date.

DisplayName Today's Target (Integer)

Format None
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName computedtargetasoftodayinteger

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ComputedTargetAsOfTodayMoney
PROPERTY VALUE

Description Shows the expected amount for actual value (money type)
against the target goal as of the current date.

DisplayName Today's Target (Money)

IsValidForForm True

IsValidForRead True

LogicalName computedtargetasoftodaymoney

MaxValue 922337203685477

MinValue 0

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

ComputedTargetAsOfTodayMoney_Base
PROPERTY VALUE

Description Shows the expected amount in base currency for actual value
(money type) against the target goal as of the current date.

DisplayName Today's Target (Money) (Base)

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName computedtargetasoftodaymoney_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

ComputedTargetAsOfTodayPercentageAchieved
PROPERTY VALUE

Description Shows the expected value for percentage achieved against the
target goal as of the current date.

DisplayName Today's Target (Percentage Achieved)

IsValidForForm True

IsValidForRead True

LogicalName computedtargetasoftodaypercentageachieved

MaxValue 100000000000

MinValue 0

Precision 0

RequiredLevel None

Type Decimal

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

CustomRollupFieldMoney_Base
PROPERTY VALUE

Description Indicates a placeholder rollup field for a money value in base


currency to track a third category of results other than actuals
and in-progress results.

DisplayName Custom Rollup Field (Money) (Base)

IsValidForForm True

IsValidForRead True

LogicalName customrollupfieldmoney_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

CustomRollupFieldString
PROPERTY VALUE

Description Placeholder rollup field for the goal.

DisplayName Custom Rollup Field

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName customrollupfieldstring

MaxLength 100

RequiredLevel None

Type String

Depth
PROPERTY VALUE

Description Depth of the goal in the tree.

DisplayName Depth

Format None

IsValidForForm False

IsValidForRead True

LogicalName depth

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

GoalOwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName goalowneridname

MaxLength 160

RequiredLevel ApplicationRequired
PROPERTY VALUE

Type String

GoalOwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName goalowneridyominame

MaxLength 160

RequiredLevel ApplicationRequired

Type String

GoalWithErrorIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName goalwitherroridname

MaxLength 100

RequiredLevel None

Type String

InProgressMoney_Base
PROPERTY VALUE

Description Shows the in-progress value (money) in base currency to track


goal results against the target.

DisplayName In-progress (Money) (Base)

IsValidForForm True

IsValidForRead True

LogicalName inprogressmoney_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

InProgressString
PROPERTY VALUE

Description In-progress value of the goal.

DisplayName In-Progress

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName inprogressstring

MaxLength 100

RequiredLevel None

Type String

MetricIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName metricidname

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String
OwnerIdName
PROPERTY VALUE

Description Name of the manager

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier for the business unit that owns the record.
PROPERTY VALUE

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the goal.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user who owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ParentGoalIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentgoalidname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryActualDecimalIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupqueryactualdecimalidname

MaxLength 100

RequiredLevel None

Type String

RollupQueryActualIntegerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupqueryactualintegeridname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryActualMoneyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupqueryactualmoneyidname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryCustomDecimalIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupquerycustomdecimalidname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryCustomIntegerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupquerycustomintegeridname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryCustomMoneyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName rollupquerycustommoneyidname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryInprogressDecimalIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupqueryinprogressdecimalidname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryInprogressIntegerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName rollupqueryinprogressintegeridname

MaxLength 100

RequiredLevel None

Type String

RollUpQueryInprogressMoneyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rollupqueryinprogressmoneyidname

MaxLength 100

RequiredLevel None

Type String

StretchTargetMoney_Base
PROPERTY VALUE

Description Shows the stretch target (money) in base currency to indicate


a higher or difficult level of goal than the usual ones.

DisplayName Stretch Target (Money) (Base)

IsValidForForm True

IsValidForRead True

LogicalName stretchtargetmoney_base

MaxValue 922337203685477

MinValue -922337203685477
PROPERTY VALUE

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

StretchTargetString
PROPERTY VALUE

Description Stretch target value for all data types.

DisplayName Stretched Target

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName stretchtargetstring

MaxLength 100

RequiredLevel None

Type String

TargetMoney_Base
PROPERTY VALUE

Description Shows the goal target of the money type in base currency.

DisplayName Target (Money) (Base)

IsValidForForm True

IsValidForRead True

LogicalName targetmoney_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4
PROPERTY VALUE

PrecisionSource 2

RequiredLevel None

Type Money

TargetString
PROPERTY VALUE

Description Target value of the goal.

DisplayName Target

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName targetstring

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup
TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

TreeId
PROPERTY VALUE

Description Unique identifier of the goal tree.

DisplayName Tree ID

IsValidForForm False

IsValidForRead True

LogicalName treeid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the goal.

DisplayName Version Number

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
goal_parent_goal
Goal_DuplicateBaseRecord
Goal_RollupError_Goal
Goal_SyncErrors
Goal_Annotation
Goal_AsyncOperations
Goal_ProcessSessions
goal_connections1
goal_connections2
Goal_DuplicateMatchingRecord
goal_principalobjectattributeaccess
goal_parent_goal
Same as goal entity goal_parent_goal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute parentgoalid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName goal_parent_goal

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 140
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Goal_DuplicateBaseRecord
Same as duplicaterecord entity Goal_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Goal_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Goal_RollupError_Goal
Same as goal entity Goal_RollupError_Goal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute goalwitherrorid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Goal_RollupError_Goal

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Goal_SyncErrors
Same as syncerror entity Goal_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Goal_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Goal_Annotation
Same as annotation entity Goal_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Goal_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Goal_AsyncOperations
Same as asyncoperation entity Goal_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Goal_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Goal_ProcessSessions
Same as processsession entity Goal_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Goal_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_connections1
Same as connection entity goal_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName goal_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_connections2
Same as connection entity goal_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName goal_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Goal_DuplicateMatchingRecord
Same as duplicaterecord entity Goal_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Goal_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_principalobjectattributeaccess
Same as principalobjectattributeaccess entity goal_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
team_goal
goalrollupquery_actualint
goal_rollupquery_actualmoney
goal_rollupquery_actualdecimal
goal_rollupquery_customint
goal_rollupquery_custommoney
goal_rollupquery_customdecimal
goal_rollupquery_inprogressint
goal_rollupquery_inprogressmoney
goal_rollupquery_inprogressdecimal
lk_goal_createdby
lk_goal_createdonbehalfby
lk_goal_modifiedby
lk_goal_modifiedonbehalfby
user_goal
business_unit_goal
user_goal_goalowner
goal_parent_goal
TransactionCurrency_Goal
metric_goal
Goal_RollupError_Goal
team_goal_goalowner
team_goal
See team Entity team_goal One-To-Many relationship.
goalrollupquery_actualint
See goalrollupquery Entity goalrollupquery_actualint One-To-Many relationship.
goal_rollupquery_actualmoney
See goalrollupquery Entity goal_rollupquery_actualmoney One-To-Many relationship.
goal_rollupquery_actualdecimal
See goalrollupquery Entity goal_rollupquery_actualdecimal One-To-Many relationship.
goal_rollupquery_customint
See goalrollupquery Entity goal_rollupquery_customint One-To-Many relationship.
goal_rollupquery_custommoney
See goalrollupquery Entity goal_rollupquery_custommoney One-To-Many relationship.
goal_rollupquery_customdecimal
See goalrollupquery Entity goal_rollupquery_customdecimal One-To-Many relationship.
goal_rollupquery_inprogressint
See goalrollupquery Entity goal_rollupquery_inprogressint One-To-Many relationship.
goal_rollupquery_inprogressmoney
See goalrollupquery Entity goal_rollupquery_inprogressmoney One-To-Many relationship.
goal_rollupquery_inprogressdecimal
See goalrollupquery Entity goal_rollupquery_inprogressdecimal One-To-Many relationship.
lk_goal_createdby
See systemuser Entity lk_goal_createdby One-To-Many relationship.
lk_goal_createdonbehalfby
See systemuser Entity lk_goal_createdonbehalfby One-To-Many relationship.
lk_goal_modifiedby
See systemuser Entity lk_goal_modifiedby One-To-Many relationship.
lk_goal_modifiedonbehalfby
See systemuser Entity lk_goal_modifiedonbehalfby One-To-Many relationship.
user_goal
See systemuser Entity user_goal One-To-Many relationship.
business_unit_goal
See businessunit Entity business_unit_goal One-To-Many relationship.
user_goal_goalowner
See systemuser Entity user_goal_goalowner One-To-Many relationship.
goal_parent_goal
See goal Entity goal_parent_goal One-To-Many relationship.
TransactionCurrency_Goal
See transactioncurrency Entity TransactionCurrency_Goal One-To-Many relationship.
metric_goal
See metric Entity metric_goal One-To-Many relationship.
Goal_RollupError_Goal
See goal Entity Goal_RollupError_Goal One-To-Many relationship.
team_goal_goalowner
See team Entity team_goal_goalowner One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
goal EntityType
GoalRollupQuery Entity Reference
4/3/2019 • 8 minutes to read • Edit Online

Query that is used to filter the results of the goal rollup.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/goalrollupqueries(go
alrollupqueryid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/goalrollupqueries Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/goalrollupqueries(go Delete
alrollupqueryid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/goalrollupqueries(go Retrieve
alrollupqueryid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/goalrollupqueries RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/goalrollupqueries(go
alrollupqueryid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/goalrollupqueries(go Update
alrollupqueryid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName goalrollupqueries

DisplayCollectionName Rollup Queries

DisplayName Rollup Query

EntitySetName goalrollupqueries

IsBPFEntity False

LogicalCollectionName goalrollupqueries

LogicalName goalrollupquery

OwnershipType UserOwned

PrimaryIdAttribute goalrollupqueryid

PrimaryNameAttribute name

SchemaName GoalRollupQuery

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
FetchXml
GoalRollupQueryId
ImportSequenceNumber
Name
OverriddenCreatedOn
OwnerId
OwnerIdType
QueryEntityType
StateCode
StatusCode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
FetchXml
PROPERTY VALUE

Description String that specifies the condition criteria in FetchXML.

DisplayName Condition Criteria

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName fetchxml

MaxLength 1073741823

RequiredLevel ApplicationRequired

Type String

GoalRollupQueryId
PROPERTY VALUE

Description Unique identifier of the rollup query.

DisplayName Goal Rollup Query

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName goalrollupqueryid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Name
PROPERTY VALUE

Description Type a descriptive name for the goal rollup query.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel ApplicationRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName
QueryEntityType
PROPERTY VALUE

Description Enter the record type of the rollup query.

DisplayName Entity Type

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName queryentitytype

RequiredLevel ApplicationRequired

Type EntityName

StateCode
PROPERTY VALUE

Description Shows whether the goal rollup query is active or inactive.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

1 Inactive 1 Inactive

StatusCode
PROPERTY VALUE

Description Select the goal rollup query's status.


PROPERTY VALUE

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

0 Open 0

1 Closed 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String
OwnerIdName
PROPERTY VALUE

Description Name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the record.
PROPERTY VALUE

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets
PROPERTY VALUE

Type Lookup

VersionNumber
PROPERTY VALUE

Description Version number of the goal rollup query.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
goalrollupquery_actualint
goal_rollupquery_actualmoney
goal_rollupquery_actualdecimal
goal_rollupquery_customint
goal_rollupquery_custommoney
goal_rollupquery_customdecimal
goal_rollupquery_inprogressint
goal_rollupquery_inprogressmoney
goal_rollupquery_inprogressdecimal
GoalRollupQuery_SyncErrors
goalrollupquery_AsyncOperations
GoalRollupQuery_DuplicateMatchingRecord
GoalRollupQuery_DuplicateBaseRecord
goalrollupquery_ProcessSessions
goalrollupquery_actualint
Same as goal entity goalrollupquery_actualint Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal
PROPERTY VALUE

ReferencingAttribute rollupqueryactualintegerid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goalrollupquery_actualint

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_actualmoney
Same as goal entity goal_rollupquery_actualmoney Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute rollupqueryactualmoneyid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_actualmoney

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_actualdecimal
Same as goal entity goal_rollupquery_actualdecimal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal
PROPERTY VALUE

ReferencingAttribute rollupqueryactualdecimalid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_actualdecimal

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_customint
Same as goal entity goal_rollupquery_customint Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute rollupquerycustomintegerid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_customint

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_custommoney
Same as goal entity goal_rollupquery_custommoney Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal
PROPERTY VALUE

ReferencingAttribute rollupquerycustommoneyid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_custommoney

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_customdecimal
Same as goal entity goal_rollupquery_customdecimal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute rollupquerycustomdecimalid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_customdecimal

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_inprogressint
Same as goal entity goal_rollupquery_inprogressint Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal
PROPERTY VALUE

ReferencingAttribute rollupqueryinprogressintegerid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_inprogressint

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_inprogressmoney
Same as goal entity goal_rollupquery_inprogressmoney Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute rollupqueryinprogressmoneyid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_inprogressmoney

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goal_rollupquery_inprogressdecimal
Same as goal entity goal_rollupquery_inprogressdecimal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal
PROPERTY VALUE

ReferencingAttribute rollupqueryinprogressdecimalid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goal_rollupquery_inprogressdecimal

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

GoalRollupQuery_SyncErrors
Same as syncerror entity GoalRollupQuery_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName GoalRollupQuery_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

goalrollupquery_AsyncOperations
Same as asyncoperation entity goalrollupquery_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goalrollupquery_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

GoalRollupQuery_DuplicateMatchingRecord
Same as duplicaterecord entity GoalRollupQuery_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName GoalRollupQuery_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

GoalRollupQuery_DuplicateBaseRecord
Same as duplicaterecord entity GoalRollupQuery_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord
PROPERTY VALUE

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName GoalRollupQuery_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

goalrollupquery_ProcessSessions
Same as processsession entity goalrollupquery_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName goalrollupquery_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
team_goalrollupquery
lk_goalrollupquery_createdby
lk_goalrollupquery_createdonbehalfby
lk_goalrollupquery_modifiedby
lk_goalrollupquery_modifiedonbehalfby
business_unit_goalrollupquery
team_goalrollupquery
See team Entity team_goalrollupquery One-To-Many relationship.
lk_goalrollupquery_createdby
See systemuser Entity lk_goalrollupquery_createdby One-To-Many relationship.
lk_goalrollupquery_createdonbehalfby
See systemuser Entity lk_goalrollupquery_createdonbehalfby One-To-Many relationship.
lk_goalrollupquery_modifiedby
See systemuser Entity lk_goalrollupquery_modifiedby One-To-Many relationship.
lk_goalrollupquery_modifiedonbehalfby
See systemuser Entity lk_goalrollupquery_modifiedonbehalfby One-To-Many relationship.
business_unit_goalrollupquery
See businessunit Entity business_unit_goalrollupquery One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
goalrollupquery EntityType
Import Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Status and ownership information for an import job.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/imports CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/imports(importid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ImportRecordsImport ImportRecordsImport Action ImportRecordsImportRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

ParseImport ParseImport Action ParseImportRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/imports(importid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/imports RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

TransformImport TransformImport Action TransformImportRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/imports(importid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Imports
PROPERTY VALUE

DisplayCollectionName Data Imports

DisplayName Data Import

EntitySetName imports

IsBPFEntity False

LogicalCollectionName imports

LogicalName import

OwnershipType UserOwned

PrimaryIdAttribute importid

PrimaryNameAttribute name

SchemaName Import

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
EMailAddress
ImportId
IsImport
ModeCode
Name
OwnerId
OwnerIdType
SendNotification
StatusCode
EMailAddress
PROPERTY VALUE

Description Type the email address that the import completion


notification must be sent to.

DisplayName Email

FormatName Email

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName emailaddress

MaxLength 100

RequiredLevel None

Type String

ImportId
PROPERTY VALUE

Description Unique identifier of the import job.

DisplayName Import

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importid

RequiredLevel SystemRequired

Type Uniqueidentifier

IsImport
PROPERTY VALUE

Description Information about whether the source of this import job is


data import or data migration.

DisplayName Is Import

IsValidForForm False

IsValidForRead True

LogicalName isimport

RequiredLevel SystemRequired

Type Boolean

IsImport Options
VALUE LABEL

1 Is Import

0 Is Migration

DefaultValue: False
ModeCode
PROPERTY VALUE

Description Select whether to create or update records in Microsoft


Dynamics 365 during the import job.

DisplayName Mode

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName modecode

RequiredLevel SystemRequired

Type Picklist

ModeCode Options

VALUE LABEL

0 Create

1 Update

Name
PROPERTY VALUE

Description Shows the name of the import job, based on the import file
and the entity being imported.

DisplayName Import Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName name

MaxLength 256

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName
SendNotification
PROPERTY VALUE

Description Select whether to send a notification email message to a


selected user after the import is completed.

DisplayName Send Notification

IsValidForForm True

IsValidForRead True

LogicalName sendnotification

RequiredLevel SystemRequired

Type Boolean

SendNotification Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
StatusCode
PROPERTY VALUE

Description Shows the reason code that explains the import job's status to
identify the job's stage of the import processes, from
transforming the data to completed.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

0 Submitted 0
VALUE LABEL STATE

1 Parsing 0

2 Transforming 0

3 Importing 0

4 Completed 0

5 Failed 0

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
Sequence
StateCode
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the import was initiated.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Business unit that owns the import job.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the import.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the import.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

Sequence
PROPERTY VALUE

Description Order in which the import was created.

DisplayName Sequence

Format None

IsValidForForm False

IsValidForRead True

LogicalName sequence

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

StateCode
PROPERTY VALUE

Description Shows the status of the import job. By default, import jobs are
active and can't be deactivated.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

One-To-Many Relationships
Listed by SchemaName.
Import_ImportFile
Import_BulkDeleteFailures
Import_AsyncOperations
Import_ImportFile
Same as importfile entity Import_ImportFile Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importfile

ReferencingAttribute importid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Import_ImportFile

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Import_BulkDeleteFailures
Same as bulkdeletefailure entity Import_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Import_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade
Import_AsyncOperations
Same as asyncoperation entity Import_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Import_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_import_modifiedonbehalfby
team_Imports
lk_importbase_modifiedby
BusinessUnit_Imports
SystemUser_Imports
lk_import_createdonbehalfby
lk_importbase_createdby
lk_import_modifiedonbehalfby
See systemuser Entity lk_import_modifiedonbehalfby One-To-Many relationship.
team_Imports
See team Entity team_Imports One-To-Many relationship.
lk_importbase_modifiedby
See systemuser Entity lk_importbase_modifiedby One-To-Many relationship.
BusinessUnit_Imports
See businessunit Entity BusinessUnit_Imports One-To-Many relationship.
SystemUser_Imports
See systemuser Entity SystemUser_Imports One-To-Many relationship.
lk_import_createdonbehalfby
See systemuser Entity lk_import_createdonbehalfby One-To-Many relationship.
lk_importbase_createdby
See systemuser Entity lk_importbase_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
import EntityType
ImportEntityMapping Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Mapping for entities in a data map.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/importentitymappin Create
gs
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/importentitymappin Delete
gs(importentitymappingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/importentitymappin Retrieve
gs(importentitymappingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/importentitymappin RetrieveMultiple
gs
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName ImportEntityMappings

DisplayCollectionName Import Entity Mappings

DisplayName Import Entity Mapping

EntitySetName importentitymappings

IsBPFEntity False

LogicalCollectionName importentitymappings

LogicalName importentitymapping

OwnershipType None

PrimaryIdAttribute importentitymappingid
PROPERTY VALUE

PrimaryNameAttribute

SchemaName ImportEntityMapping

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
DeDupe
ImportEntityMappingId
ImportMapId
IntroducedVersion
ProcessCode
SourceEntityName
StatusCode
TargetEntityName
DeDupe
PROPERTY VALUE

Description Information about whether the entity needs to be processed


to find and delete duplicate records.

DisplayName Remove Duplicates

IsValidForForm True

IsValidForRead True

LogicalName dedupe

RequiredLevel SystemRequired

Type Picklist

DeDupe Options

VALUE LABEL

1 Ignore

2 Eliminate

ImportEntityMappingId
PROPERTY VALUE

Description Unique identifier of the import entity mapping.


PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importentitymappingid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportMapId
PROPERTY VALUE

Description Unique identifier of the associated data map.

DisplayName Data Map ID

IsValidForForm True

IsValidForRead True

LogicalName importmapid

RequiredLevel ApplicationRequired

Targets importmap

Type Lookup

IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

ProcessCode
PROPERTY VALUE

Description Information about whether the import entity mapping needs


to be processed.

DisplayName Process Code

IsValidForForm True

IsValidForRead True

LogicalName processcode

RequiredLevel SystemRequired

Type Picklist

ProcessCode Options

VALUE LABEL

1 Process

2 Ignore

3 Internal

SourceEntityName
PROPERTY VALUE

Description Name of the source entity.

DisplayName Source Entity Name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName sourceentityname

MaxLength 160

RequiredLevel ApplicationRequired

Type String

StatusCode
PROPERTY VALUE

Description Reason for the status of the import entity mapping.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

TargetEntityName
PROPERTY VALUE

Description Name of the Microsoft Dynamics 365 entity.

DisplayName Target Entity

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName targetentityname
PROPERTY VALUE

MaxLength 160

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportEntityMappingIdUnique
ImportMapIdName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
SolutionId
StateCode
SupportingSolutionId
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired
PROPERTY VALUE

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the import entity
mapping.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import entity mapping was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired
PROPERTY VALUE

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


importentitymapping.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ImportEntityMappingIdUnique
PROPERTY VALUE

Description Unique identifier of the Import Entity Mapping.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName importentitymappingidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportMapIdName
PROPERTY VALUE

Description Name of the associated data map.

DisplayName Data Map

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName importmapidname

MaxLength 100

RequiredLevel SystemRequired

Type String

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the import
entity mapping.

DisplayName Modified By

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import entity mapping was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
importentitymapping.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.


PROPERTY VALUE

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Status of the import entity mapping.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options
VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_importentitymapping_createdonbehalfby
lk_importentitymapping_modifiedonbehalfby
lk_importentitymapping_createdby
ImportEntityMapping_ImportMap
lk_importentitymapping_modifiedby
lk_importentitymapping_createdonbehalfby
See systemuser Entity lk_importentitymapping_createdonbehalfby One-To-Many relationship.
lk_importentitymapping_modifiedonbehalfby
See systemuser Entity lk_importentitymapping_modifiedonbehalfby One-To-Many relationship.
lk_importentitymapping_createdby
See systemuser Entity lk_importentitymapping_createdby One-To-Many relationship.
ImportEntityMapping_ImportMap
See importmap Entity ImportEntityMapping_ImportMap One-To-Many relationship.
lk_importentitymapping_modifiedby
See systemuser Entity lk_importentitymapping_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
importentitymapping EntityType
ImportFile Entity Reference
4/3/2019 • 12 minutes to read • Edit Online

File name of file used for import.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/importfiles(importfil
eid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/importfiles Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/importfiles(importfil Delete
eid)
See Delete

GetDistinctValuesImportFile GetDistinctValuesImportFile Function GetDistinctValuesImportFileRequest

GetHeaderColumnsImportFile GetHeaderColumnsImportFile Function GetHeaderColumnsImportFileRequest

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/importfiles(importfil Retrieve
eid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/importfiles RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrieveParsedDataImportFile RetrieveParsedDataImportFile Function RetrieveParsedDataImportFileRequest

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest


MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/importfiles(importfil Update
eid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ImportFiles

DisplayCollectionName Imports

DisplayName Import Source File

EntitySetName importfiles

IsBPFEntity False

LogicalCollectionName importfiles

LogicalName importfile

OwnershipType UserOwned

PrimaryIdAttribute importfileid

PrimaryNameAttribute name

SchemaName ImportFile

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Content
DataDelimiterCode
EnableDuplicateDetection
EntityKeyId
FieldDelimiterCode
FileTypeCode
ImportFileId
ImportId
ImportMapId
IsFirstRowHeader
Name
OwnerId
OwnerIdType
ProcessCode
RecordsOwnerId
RecordsOwnerIdType
RelatedEntityColumns
Size
Source
SourceEntityName
StateCode
StatusCode
TargetEntityName
TimeZoneRuleVersionNumber
UpsertModeCode
UseSystemMap
UTCConversionTimeZoneCode
Content
PROPERTY VALUE

Description Stores the content of the import file, stored as comma-


separated values.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName content

MaxLength 1073741823

RequiredLevel SystemRequired

Type String

DataDelimiterCode
PROPERTY VALUE

Description Select the single-character data delimiter used in the import


file. This is typically a single or double quotation mark.

DisplayName Data Delimiter

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName datadelimitercode

RequiredLevel SystemRequired

Type Picklist

DataDelimiterCode Options

VALUE LABEL

1 DoubleQuote

2 None

3 SingleQuote

EnableDuplicateDetection
PROPERTY VALUE

Description Select whether duplicate-detection rules should be run against


the import job.

DisplayName Enable Duplicate Detection

IsValidForForm True

IsValidForRead True

LogicalName enableduplicatedetection

RequiredLevel None

Type Boolean

EnableDuplicateDetection Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EntityKeyId
PROPERTY VALUE

Description Unique identifier of the Alternate key Id

DisplayName Entity Key ID


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName entitykeyid

RequiredLevel None

Type Uniqueidentifier

FieldDelimiterCode
PROPERTY VALUE

Description Select the character that is used to separate each field in the
import file. Typically, it is a comma.

DisplayName Field Delimiter

IsValidForForm True

IsValidForRead True

LogicalName fielddelimitercode

RequiredLevel SystemRequired

Type Picklist

FieldDelimiterCode Options

VALUE LABEL

1 Colon

2 Comma

3 Tab

4 Semicolon

FileTypeCode
PROPERTY VALUE

Description Shows the type of source file that is uploaded for import.

DisplayName File Type

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName filetypecode

RequiredLevel SystemRequired

Type Picklist

FileTypeCode Options

VALUE LABEL

0 CSV

1 XML Spreadsheet 2003

2 Attachment

3 XLSX

ImportFileId
PROPERTY VALUE

Description Unique identifier of the import file.

DisplayName Import

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importfileid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportId
PROPERTY VALUE

Description Choose the import job that the file was uploaded for.

DisplayName Import Job ID

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName importid

RequiredLevel SystemRequired

Targets import

Type Lookup

ImportMapId
PROPERTY VALUE

Description Choose a data map to match the import file and its column
headers with the record types and fields in Microsoft
Dynamics 365. If the column headers in the file match the
display names of the target fields in Microsoft Dynamics 365,
we import the data automatically. If not, you can manually
define matches during import.

DisplayName Data Map

IsValidForForm True

IsValidForRead True

LogicalName importmapid

RequiredLevel None

Targets importmap

Type Lookup

IsFirstRowHeader
PROPERTY VALUE

Description Select whether the first row of the import file contains column
headings, which are used for data mapping during the import
job.

DisplayName Is First Row Header

IsValidForForm True

IsValidForRead True

LogicalName isfirstrowheader

RequiredLevel SystemRequired

Type Boolean
IsFirstRowHeader Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Name
PROPERTY VALUE

Description Shows the name of the import file. This name is based on the
name of the uploaded file.

DisplayName Import Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Enter the user who is assigned to follow up with or manage


the import file. This field is updated every time the import file
is assigned to a different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team
PROPERTY VALUE

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

ProcessCode
PROPERTY VALUE

Description Tells whether the import file should be ignored or processed


during the import.

DisplayName Process Code

IsValidForForm True

IsValidForRead True

LogicalName processcode

RequiredLevel SystemRequired

Type Picklist

ProcessCode Options

VALUE LABEL

1 Process

2 Ignore

3 Internal

RecordsOwnerId
PROPERTY VALUE

Description Choose the user that the records created during the import
job should be assigned to.

DisplayName Records Owner

IsValidForForm True

IsValidForRead True

LogicalName recordsownerid

RequiredLevel None

Targets systemuser,team

Type Lookup

RecordsOwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName recordsowneridtype

RequiredLevel SystemRequired

Type EntityName

RelatedEntityColumns
PROPERTY VALUE

Description Shows the columns that are mapped to a related record type
(entity) of the primary record type (entity) included in the
import file.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName relatedentitycolumns

MaxLength 1073741823

RequiredLevel None

Type String

Size
PROPERTY VALUE

Description Shows the size of the import file, in kilobytes.

DisplayName Size

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName size

MaxLength 160

RequiredLevel None

Type String

Source
PROPERTY VALUE

Description Shows the name of the data source file uploaded in the
import job.

DisplayName Source

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName source

MaxLength 256

RequiredLevel None

Type String

SourceEntityName
PROPERTY VALUE

Description Shows the record type (entity) of the source data.

DisplayName Source Entity

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName sourceentityname

MaxLength 160

RequiredLevel None

Type String

StateCode
PROPERTY VALUE

Description Shows the status of the import file record. By default, all
records are active and can't be deactivated.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode
PROPERTY VALUE

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

StatusCode
PROPERTY VALUE

Description Shows the reason code that explains the import file's status to
identify the stage of the import process, from parsing the data
to completed.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

0 Submitted 0

1 Parsing 0

2 Transforming 0

3 Importing 0

4 Completed 0

5 Failed 0

TargetEntityName
PROPERTY VALUE

Description Select the target record type (entity) for the records that will
be created during the import job.
PROPERTY VALUE

DisplayName Target Entity

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName targetentityname

MaxLength 160

RequiredLevel None

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UpsertModeCode
PROPERTY VALUE

Description Select the value which is used for identify the upsert mode. By
Default, it is a Create.

DisplayName Upsert Mode


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName upsertmodecode

RequiredLevel None

Type Picklist

UpsertModeCode Options

VALUE LABEL

0 Create

1 Update

2 Ignore

UseSystemMap
PROPERTY VALUE

Description Tells whether an automatic system map was applied to the


import file, which automatically maps the import data to the
target entity in Microsoft Dynamics 365.

DisplayName Use System Map

IsValidForForm True

IsValidForRead True

LogicalName usesystemmap

RequiredLevel SystemRequired

Type Boolean

UseSystemMap Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AdditionalHeaderRow
CompletedOn
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
FailureCount
HeaderRow
ImportIdName
ImportMapIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParsedTableColumnPrefix
ParsedTableColumnsNumber
ParsedTableName
PartialFailureCount
ProcessingStatus
ProgressCounter
RecordsOwnerIdName
SuccessCount
TotalCount
AdditionalHeaderRow
PROPERTY VALUE

Description Shows the secondary column headers. The additional headers


are used during the process of transforming the import file
into import data records.

DisplayName Additional Header

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName additionalheaderrow

MaxLength 100000

RequiredLevel None

Type String

CompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the import associated with the
import file was completed.

DisplayName Completed On

Format DateOnly

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName completedon

RequiredLevel None

Type DateTime

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String
CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.


PROPERTY VALUE

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

FailureCount
PROPERTY VALUE

Description Shows the number of records in the import file that cannot be
imported.

DisplayName Errors

Format None

IsValidForForm True

IsValidForRead True

LogicalName failurecount

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

HeaderRow
PROPERTY VALUE

Description Shows a list of each column header in the import file


separated by a comma. The header is used for parsing the file
during the import job.

DisplayName Header

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName headerrow

MaxLength 1073741823

RequiredLevel None

Type String

ImportIdName
PROPERTY VALUE

Description Name of the import.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName importidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ImportMapIdName
PROPERTY VALUE

Description Name of the import map.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName importmapidname
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Shows the business unit that the record owner belongs to.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the import file.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the import file.

DisplayName Owning User


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ParsedTableColumnPrefix
PROPERTY VALUE

Description Shows the prefix applied to each column after the import file is
parsed.

DisplayName Parse Table Column Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parsedtablecolumnprefix

MaxLength 160

RequiredLevel None

Type String

ParsedTableColumnsNumber
PROPERTY VALUE

Description Shows the number of columns included in the parsed import


file.

DisplayName Parse Table Column Number

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName parsedtablecolumnsnumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ParsedTableName
PROPERTY VALUE

Description Shows the name of the table that contains the parsed data
from the import file.

DisplayName Parse Table

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parsedtablename

MaxLength 160

RequiredLevel None

Type String

PartialFailureCount
PROPERTY VALUE

Description Shows the number of records in this file that had failures
during the import.

DisplayName Partial Failures

Format None

IsValidForForm True

IsValidForRead True

LogicalName partialfailurecount
PROPERTY VALUE

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

ProcessingStatus
PROPERTY VALUE

Description Shows the import file's processing status code. This indicates
whether the data in the import file has been parsed,
transformed, or imported.

DisplayName Processing Status

IsValidForForm False

IsValidForRead True

LogicalName processingstatus

RequiredLevel SystemRequired

Type Picklist

ProcessingStatus Options

VALUE LABEL

1 Not Started

2 Parsing

3 Parsing Complete

4 Complex Transformation

5 Lookup Transformation

6 Picklist Transformation

7 Owner Transformation

8 Transformation Complete

9 Import Pass 1

10 Import Pass 2
VALUE LABEL

11 Import Complete

12 Primary Key Transformation

ProgressCounter
PROPERTY VALUE

Description Shows the progress code for the processing of the import file.
This field is used when a paused import job is resumed.

DisplayName Progress Counter

Format None

IsValidForForm False

IsValidForRead True

LogicalName progresscounter

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

RecordsOwnerIdName
PROPERTY VALUE

Description Name of the record owner.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName recordsowneridname

MaxLength 160

RequiredLevel None
PROPERTY VALUE

Type String

SuccessCount
PROPERTY VALUE

Description Shows the number of records in the import file that are
imported successfully.

DisplayName Successes

Format None

IsValidForForm True

IsValidForRead True

LogicalName successcount

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

TotalCount
PROPERTY VALUE

Description Shows the total number of records in the import file.

DisplayName Total Processed

Format None

IsValidForForm True

IsValidForRead True

LogicalName totalcount

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer
One-To-Many Relationships
Listed by SchemaName.
ImportFile_BulkDeleteFailures
ImportLog_ImportFile
ImportFile_AsyncOperations
ImportFile_BulkDeleteFailures
Same as bulkdeletefailure entity ImportFile_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportFile_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportLog_ImportFile
Same as importlog entity ImportLog_ImportFile Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importlog

ReferencingAttribute importfileid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportLog_ImportFile

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportFile_AsyncOperations
Same as asyncoperation entity ImportFile_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportFile_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_importfilebase_createdby
lk_importfilebase_createdonbehalfby
team_ImportFiles
ImportFile_Team
ImportFile_SystemUser
SystemUser_ImportFiles
lk_importfilebase_modifiedonbehalfby
Import_ImportFile
ImportMap_ImportFile
lk_importfilebase_modifiedby
BusinessUnit_ImportFiles
lk_importfilebase_createdby
See systemuser Entity lk_importfilebase_createdby One-To-Many relationship.
lk_importfilebase_createdonbehalfby
See systemuser Entity lk_importfilebase_createdonbehalfby One-To-Many relationship.
team_ImportFiles
See team Entity team_ImportFiles One-To-Many relationship.
ImportFile_Team
See team Entity ImportFile_Team One-To-Many relationship.
ImportFile_SystemUser
See systemuser Entity ImportFile_SystemUser One-To-Many relationship.
SystemUser_ImportFiles
See systemuser Entity SystemUser_ImportFiles One-To-Many relationship.
lk_importfilebase_modifiedonbehalfby
See systemuser Entity lk_importfilebase_modifiedonbehalfby One-To-Many relationship.
Import_ImportFile
See import Entity Import_ImportFile One-To-Many relationship.
ImportMap_ImportFile
See importmap Entity ImportMap_ImportFile One-To-Many relationship.
lk_importfilebase_modifiedby
See systemuser Entity lk_importfilebase_modifiedby One-To-Many relationship.
BusinessUnit_ImportFiles
See businessunit Entity BusinessUnit_ImportFiles One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
importfile EntityType
ImportJob Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

For internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/importjobs Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/importjobs(importjo Delete
bid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/importjobs(importjo Retrieve
bid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/importjobs RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/importjobs(importjo Update
bid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ImportJobs

DisplayCollectionName Import Jobs

DisplayName Import Job

EntitySetName importjobs

IsBPFEntity False

LogicalCollectionName importjobs

LogicalName importjob

OwnershipType OrganizationOwned
PROPERTY VALUE

PrimaryIdAttribute importjobid

PrimaryNameAttribute

SchemaName ImportJob

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Data
ImportContext
ImportJobId
Name
OperationContext
Progress
SolutionName
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
Data
PROPERTY VALUE

Description Unstructured data associated with the import job.

DisplayName Data

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName data

MaxLength 1073741823

RequiredLevel None

Type String

ImportContext
PROPERTY VALUE

Description The context of the import


PROPERTY VALUE

DisplayName Import Context

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName importcontext

MaxLength 110

RequiredLevel None

Type String

ImportJobId
PROPERTY VALUE

Description Unique identifier of the import job.

DisplayName Import Job

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName importjobid

RequiredLevel SystemRequired

Type Uniqueidentifier

Name
PROPERTY VALUE

Description Name of the import job.

DisplayName Import Job Name

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel None

Type String

OperationContext
PROPERTY VALUE

Description The context of the solution operation

DisplayName Solution Operation Context

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName operationcontext

MaxLength 50

RequiredLevel None

Type String

Progress
PROPERTY VALUE

Description Import Progress Percentage.

DisplayName Progress

IsValidForForm True

IsValidForRead True

LogicalName progress
PROPERTY VALUE

MaxValue 100

MinValue 0

Precision 2

RequiredLevel None

Type Double

SolutionName
PROPERTY VALUE

Description Unique identifier of the solution.

DisplayName SolutionName

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName solutionname

MaxLength 256

RequiredLevel None

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647
PROPERTY VALUE

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CompletedOn
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
SolutionId
StartedOn
CompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import job was completed.

DisplayName Completed On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName completedon

RequiredLevel None

Type DateTime

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the importJob.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import job record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the import
job record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the importJob.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import job was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


import job record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


importjob.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel None

Type Uniqueidentifier

StartedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import job was started.

DisplayName Started On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName startedon

RequiredLevel None

Type DateTime

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_importjobbase_modifiedonbehalfby
lk_importjobbase_createdonbehalfby
lk_importjobbase_modifiedby
lk_importjobbase_createdby
organization_importjob
lk_importjobbase_modifiedonbehalfby
See systemuser Entity lk_importjobbase_modifiedonbehalfby One-To-Many relationship.
lk_importjobbase_createdonbehalfby
See systemuser Entity lk_importjobbase_createdonbehalfby One-To-Many relationship.
lk_importjobbase_modifiedby
See systemuser Entity lk_importjobbase_modifiedby One-To-Many relationship.
lk_importjobbase_createdby
See systemuser Entity lk_importjobbase_createdby One-To-Many relationship.
organization_importjob
See organization Entity organization_importjob One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
importjob EntityType
ImportLog Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Failure reason and other detailed information for a record that failed to import.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/importlogs(importlo Retrieve
gid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/importlogs RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Entity Properties
PROPERTY VALUE

CollectionSchemaName ImportLogs

DisplayCollectionName ImportLogs

DisplayName Import Log

EntitySetName importlogs

IsBPFEntity False

LogicalCollectionName importlogs

LogicalName importlog

OwnershipType UserOwned

PrimaryIdAttribute importlogid

PrimaryNameAttribute

SchemaName ImportLog

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AdditionalInfo
ColumnValue
ErrorDescription
ErrorNumber
HeaderColumn
ImportDataId
ImportFileId
ImportLogId
LineNumber
LogPhaseCode
OwnerId
OwnerIdType
StatusCode
AdditionalInfo
PROPERTY VALUE

Description Additional information related to the error.

DisplayName More Information

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName additionalinfo

MaxLength 5000

RequiredLevel None

Type String

ColumnValue
PROPERTY VALUE

Description Value in the column.

DisplayName Column Value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName columnvalue

MaxLength 160

RequiredLevel None

Type String

ErrorDescription
PROPERTY VALUE

Description Description of an error.

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName errordescription

MaxLength 512

RequiredLevel None

Type String

ErrorNumber
PROPERTY VALUE

Description Error code of an error.

DisplayName Error Code

Format None

IsValidForForm True

IsValidForRead True

LogicalName errornumber

MaxValue 10000000

MinValue 0
PROPERTY VALUE

RequiredLevel None

Type Integer

HeaderColumn
PROPERTY VALUE

Description Name of the column heading.

DisplayName Column Heading

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName headercolumn

MaxLength 1073741823

RequiredLevel None

Type String

ImportDataId
PROPERTY VALUE

Description Unique identifier of the import data for this import log.

DisplayName Source Row

IsValidForForm True

IsValidForRead True

LogicalName importdataid

RequiredLevel None

Targets importdata

Type Lookup

ImportFileId
PROPERTY VALUE

Description Unique identifier of the import file for this import log.

DisplayName Import File Id

IsValidForForm True

IsValidForRead True

LogicalName importfileid

RequiredLevel None

Targets importfile

Type Lookup

ImportLogId
PROPERTY VALUE

Description Unique identifier of the import log.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importlogid

RequiredLevel SystemRequired

Type Uniqueidentifier

LineNumber
PROPERTY VALUE

Description Original line number of the data used in this log.

DisplayName Original Row Number

Format None

IsValidForForm True

IsValidForRead True

LogicalName linenumber
PROPERTY VALUE

MaxValue 10000000

MinValue 0

RequiredLevel None

Type Integer

LogPhaseCode
PROPERTY VALUE

Description Phase for which the log is recorded.

DisplayName Log Phase

IsValidForForm True

IsValidForRead True

LogicalName logphasecode

RequiredLevel None

Type Picklist

LogPhaseCode Options

VALUE LABEL

0 Parse

1 Transform

2 Import Create

3 Import Update

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the import
log.

DisplayName Owner

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

StatusCode
PROPERTY VALUE

Description Reason for the status of the import log.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options
VALUE LABEL STATE

0 Active 0

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportDataIdName
ImportFileIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
SequenceNumber
StateCode
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the import log.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the import log was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


importlog.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ImportDataIdName
PROPERTY VALUE

Description Name of the import data.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName importdataidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ImportFileIdName
PROPERTY VALUE

Description Name of the import file.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName importfileidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the import log.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup
ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the import log was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
importlog.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Business unit that owns the import log.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the import log.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the import log.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

SequenceNumber
PROPERTY VALUE

Description Sequence number of the error in this log.

DisplayName Sequence Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName sequencenumber
PROPERTY VALUE

MaxValue 10000000

MinValue 0

RequiredLevel SystemRequired

Type Integer

StateCode
PROPERTY VALUE

Description Status of the import log.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

One-To-Many Relationships
Listed by SchemaName.
ImportLog_BulkDeleteFailures
ImportLog_AsyncOperations
ImportLog_BulkDeleteFailures
Same as bulkdeletefailure entity ImportLog_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName ImportLog_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportLog_AsyncOperations
Same as asyncoperation entity ImportLog_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportLog_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_importlog_createdonbehalfby
BusinessUnit_ImportLogs
SystemUser_ImportLogs
lk_importlogbase_modifiedby
lk_importlogbase_createdby
ImportLog_ImportFile
team_ImportLogs
lk_importlog_modifiedonbehalfby
lk_importlog_createdonbehalfby
See systemuser Entity lk_importlog_createdonbehalfby One-To-Many relationship.
BusinessUnit_ImportLogs
See businessunit Entity BusinessUnit_ImportLogs One-To-Many relationship.
SystemUser_ImportLogs
See systemuser Entity SystemUser_ImportLogs One-To-Many relationship.
lk_importlogbase_modifiedby
See systemuser Entity lk_importlogbase_modifiedby One-To-Many relationship.
lk_importlogbase_createdby
See systemuser Entity lk_importlogbase_createdby One-To-Many relationship.
ImportLog_ImportFile
See importfile Entity ImportLog_ImportFile One-To-Many relationship.
team_ImportLogs
See team Entity team_ImportLogs One-To-Many relationship.
lk_importlog_modifiedonbehalfby
See systemuser Entity lk_importlog_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
importlog EntityType
ImportMap Entity Reference
4/3/2019 • 14 minutes to read • Edit Online

Data map used in import.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/importmaps(import
mapid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/importmaps Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/importmaps(import Delete
mapid)
See Delete

ExportMappingsImportMap ExportMappingsImportMap Action ExportMappingsImportMapRequest

GrantAccess GrantAccess Action GrantAccessRequest

ImportMappingsImportMap ImportMappingsImportMap Action ImportMappingsImportMapRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/importmaps(import Retrieve
mapid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/importmaps RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/importmaps(import
mapid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/importmaps(import Update
mapid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ImportMaps

DisplayCollectionName Data Maps

DisplayName Data Map

EntitySetName importmaps

IsBPFEntity False

LogicalCollectionName importmaps

LogicalName importmap

OwnershipType UserOwned

PrimaryIdAttribute importmapid

PrimaryNameAttribute name

SchemaName ImportMap

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Description
EntitiesPerFile
ImportMapId
ImportMapType
IntroducedVersion
IsWizardCreated
MapCustomizations
Name
OwnerId
OwnerIdType
Source
SourceType
SourceUserIdentifierForSourceCRMUserLink
SourceUserIdentifierForSourceDataSourceUserLink
StateCode
StatusCode
TargetUserIdentifierForSourceCRMUserLink
Description
PROPERTY VALUE

Description Type additional information to describe the data map, such as


the intended use or data source.

DisplayName Description

FormatName TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type String

EntitiesPerFile
PROPERTY VALUE

Description Choose whether a data file can contain data for one or more
record types.

DisplayName Entities Per File

IsValidForForm True

IsValidForRead True

LogicalName entitiesperfile

RequiredLevel SystemRequired

Type Picklist

EntitiesPerFile Options

VALUE LABEL

1 Single Entity Per File


VALUE LABEL

2 Multiple Entities Per File

ImportMapId
PROPERTY VALUE

Description Unique identifier of the data map.

DisplayName Data Map

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importmapid

RequiredLevel SystemRequired

Type Uniqueidentifier

ImportMapType
PROPERTY VALUE

Description Select the type of data map to distinguish out-of-the-box


data maps from custom maps.

DisplayName Map Type

IsValidForForm True

IsValidForRead True

LogicalName importmaptype

RequiredLevel None

Type Picklist

ImportMapType Options

VALUE LABEL

1 Standard

2 Out of Box

3 In Process

IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

IsWizardCreated
PROPERTY VALUE

Description Information about whether this data map was created by the
Data Migration Manager.

DisplayName Is Wizard-Created

IsValidForForm False

IsValidForRead True

LogicalName iswizardcreated

RequiredLevel None

Type Boolean

IsWizardCreated Options

VALUE LABEL

1 True

0 False

DefaultValue: False
MapCustomizations
PROPERTY VALUE

Description Customizations XML

DisplayName Map Customizations

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName mapcustomizations

MaxLength 1073741823

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Type a descriptive name for the data map.

DisplayName Map Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 320

RequiredLevel None

Type String

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.
PROPERTY VALUE

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

Source
PROPERTY VALUE

Description Type the name of the migration source that this data map is
used for.

DisplayName Source

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName source
PROPERTY VALUE

MaxLength 160

RequiredLevel None

Type String

SourceType
PROPERTY VALUE

Description Select the migration source type that this data map is used for.

DisplayName Source System Type

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName sourcetype

RequiredLevel None

Type Picklist

SourceType Options

VALUE LABEL

1 Map For SalesForce.com Full Data Export

2 Map For SalesForce.com Report Export

3 Map For SalesForce.com Contact and Account Report Export

4 Microsoft Office Outlook 2010 with Business Contact


Manager

5 Generic Map for Contact and Account

SourceUserIdentifierForSourceCRMUserLink
PROPERTY VALUE

Description Source user value for source Microsoft Dynamics 365 user
link.

DisplayName Source User Value

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sourceuseridentifierforsourcecrmuserlink

MaxLength 160

RequiredLevel None

Type String

SourceUserIdentifierForSourceDataSourceUserLink
PROPERTY VALUE

Description Column in the source file that uniquely identifies a user.

DisplayName Source User Identifier

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sourceuseridentifierforsourcedatasourceuserlink

MaxLength 160

RequiredLevel None

Type String

StateCode
PROPERTY VALUE

Description Shows whether the data map is active or inactive. Inactive


data maps are read-only and can't be edited.

DisplayName Status

IsValidForCreate False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the data map's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TargetUserIdentifierForSourceCRMUserLink
PROPERTY VALUE

Description Microsoft Dynamics 365 user.

DisplayName Target User Value

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName targetuseridentifierforsourcecrmuserlink

MaxLength 160

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportMapIdUnique
IsManaged
IsValidForImport
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
SolutionId
SupportingSolutionId
TargetEntity
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.
PROPERTY VALUE

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ImportMapIdUnique
PROPERTY VALUE

Description Unique identifier of the ImortMap.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName importmapidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
IsValidForImport
PROPERTY VALUE

Description Information about whether the data map is valid for use with
data import.

DisplayName Is Valid For Import

IsValidForForm False

IsValidForRead True

LogicalName isvalidforimport

RequiredLevel None

Type Boolean

IsValidForImport Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Business unit that owns the data map.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the data map.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the data map.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

TargetEntity
PROPERTY VALUE

Description Select the name of the Microsoft Dynamics 365 record type
that this data map is defined for.

DisplayName Record Type

IsValidForForm True

IsValidForRead True

LogicalName targetentity

RequiredLevel ApplicationRequired

Type Picklist

TargetEntity Options

VALUE LABEL

1 Account

2 Contact

5 Note

6 Business Unit Map

7 Owner

8 User

9 Team

10 Business Unit
VALUE LABEL

14 System User Principal

29 Subscription

30 Filter Template

31 Privilege Object Type Code

33 Subscription Synchronization Information

35 Tracking information for deleted entities

36 Client update

37 Subscription Manually Tracked Object

42 SystemUser BusinessUnit Entity Map

44 Field Sharing

45 Subscription Statistic Offline

46 Subscription Statistic Outlook

47 Subscription Sync Entry Offline

48 Subscription Sync Entry Outlook

50 Position

51 System User Manager Map

52 User Search Facet

54 Global Search Configuration

55 FileAttachment

78 Virtual Entity Data Provider

85 Virtual Entity Data Source

92 Team template

99 Social Profile

126 Indexed Article

127 Article
VALUE LABEL

129 Subject

132 Announcement

135 Activity Party

150 User Settings

300 Canvas App

301 Callback Registration

371 Connector

950 New Process

951 Translation Process

955 Expired Process

1001 Attachment

1002 Attachment

1003 Internal Address

1007 Image Descriptor

1016 Article Template

1019 Organization

1021 Organization UI

1023 Privilege

1030 System Form

1031 User Dashboard

1036 Security Role

1037 Role Template

1039 View

1043 String Map

1071 Address
VALUE LABEL

1072 Subscription Clients

1075 Status Map

1082 Article Comment

1086 User Fiscal Calendar

1094 Authorization Server

1095 Partner Application

1111 System Chart

1112 User Chart

1113 Ribbon Tab To Command Mapping

1115 Ribbon Context Group

1116 Ribbon Command

1117 Ribbon Rule

1120 Application Ribbons

1130 Ribbon Difference

1140 Replication Backlog

1189 Document Suggestions

1190 SuggestionCardTemplate

1200 Field Security Profile

1201 Field Permission

1203 Team Profiles

1234 Channel Property Group

1236 Channel Property

1300 SocialInsightsConfiguration

1309 Saved Organization Insights Configuration

1400 Sync Attribute Mapping Profile


VALUE LABEL

1401 Sync Attribute Mapping

1403 Team Sync-Attribute Mapping Profiles

1404 Principal Sync Attribute Map

2000 Annual Fiscal Calendar

2001 Semiannual Fiscal Calendar

2002 Quarterly Fiscal Calendar

2003 Monthly Fiscal Calendar

2004 Fixed Monthly Fiscal Calendar

2010 Email Template

2012 Unresolved Address

2013 Territory

2015 Theme

2016 User Mapping

2020 Queue

2023 QueueItemCount

2024 QueueMemberCount

2027 License

2029 Queue Item

2500 User Entity UI Settings

2501 User Entity Instance Data

3000 Integration Status

3005 Channel Access Profile

3008 External Party

3231 Connection Role

3233 Connection Role Object Type Code


VALUE LABEL

3234 Connection

4003 Calendar

4004 Calendar Rule

4011 Inter Process Lock

4023 Email Hash

4101 Display String Map

4102 Display String

4110 Notification

4120 Exchange Sync Id Mapping

4200 Activity

4201 Appointment

4202 Email

4204 Fax

4207 Letter

4210 Phone Call

4212 Task

4216 Social Activity

4220 UntrackedEmail

4230 Saved View

4231 Metadata Difference

4232 Business Data Localized Label

4250 Recurrence Rule

4251 Recurring Appointment

4299 Email Search

4410 Data Import


VALUE LABEL

4411 Data Map

4412 Import Source File

4413 Import Data

4414 Duplicate Detection Rule

4415 Duplicate Record

4416 Duplicate Rule Condition

4417 Column Mapping

4418 List Value Mapping

4419 Lookup Mapping

4420 Owner Mapping

4423 Import Log

4424 Bulk Delete Operation

4425 Bulk Delete Failure

4426 Transformation Mapping

4427 Transformation Parameter Mapping

4428 Import Entity Mapping

4450 Data Performance Dashboard

4490 Office Document

4500 Relationship Role

4501 Relationship Role Map

4502 Customer Relationship

4567 Auditing

4579 Ribbon Client Metadata.

4600 Entity Map

4601 Attribute Map


VALUE LABEL

4602 Plug-in Type

4603 Plug-in Type Statistic

4605 Plug-in Assembly

4606 Sdk Message

4607 Sdk Message Filter

4608 Sdk Message Processing Step

4609 Sdk Message Request

4610 Sdk Message Response

4611 Sdk Message Response Field

4613 Sdk Message Pair

4614 Sdk Message Request Field

4615 Sdk Message Processing Step Image

4616 Sdk Message Processing Step Secure Configuration

4618 Service Endpoint

4619 Plug-in Trace Log

4700 System Job

4702 Workflow Wait Subscription

4703 Process

4704 Process Dependency

4705 ISV Config

4706 Process Log

4707 Application File

4708 Organization Statistic

4709 Site Map

4710 Process Session


VALUE LABEL

4711 Expander Event

4712 Process Trigger

4724 Process Stage

4725 Business Process Flow Instance

4800 Web Wizard

4802 Wizard Page

4803 Web Wizard Access Privilege

4810 Time Zone Definition

4811 Time Zone Rule

4812 Time Zone Localized Name

7000 System Application Metadata

7001 User Application Metadata

7100 Solution

7101 Publisher

7102 Publisher Address

7103 Solution Component

7105 Dependency

7106 Dependency Node

7107 Invalid Dependency

7108 Dependency Feature

7200 RuntimeDependency

8000 Post

8001 Post Role

8002 Post Regarding

8003 Follow
VALUE LABEL

8005 Comment

8006 Like

8040 ACIViewMapper

8050 Trace

8051 Trace Association

8052 Trace Regarding

8181 Routing Rule Set

8199 Rule Item

8700 AppModule Metadata

8701 AppModule Metadata Dependency

8702 AppModule Metadata Async Operation

8840 Hierarchy Rule

9006 Model-driven App

9007 App Module Component

9009 App Module Roles

9011 App Config Master

9012 App Configuration

9013 App Configuration Instance

9100 Report

9101 Report Related Entity

9102 Report Related Category

9103 Report Visibility

9104 Report Link

9105 Currency

9106 Mail Merge Template


VALUE LABEL

9107 Import Job

9201 LocalConfigStore

9300 Record Creation and Update Rule

9301 Record Creation and Update Rule Item

9333 Web Resource

9400 Channel Access Profile Rule

9401 Channel Access Profile Rule Item

9502 SharePoint Site

9507 Sharepoint Document

9508 Document Location

9509 SharePoint Data

9510 Rollup Properties

9511 Rollup Job

9600 Goal

9602 Rollup Query

9603 Goal Metric

9604 Rollup Field

9605 Email Server Profile

9606 Mailbox

9607 Mailbox Statistics

9608 Mailbox Auto Tracking Folder

9609 Mailbox Tracking Category

9650 Process Configuration

9690 Organization Insights Notification

9699 Organization Insights Metric


VALUE LABEL

9750 SLA

9751 SLA Item

9752 SLA KPI Instance

9753 Custom Control

9754 Custom Control Resource

9755 Custom Control Default Config

9866 Mobile Offline Profile

9867 Mobile Offline Profile Item

9868 Mobile Offline Profile Item Association

9869 Sync Error

9870 Offline Command Definition

9875 Language Provisioning State

9890 SolutionHistoryData

9900 Navigation Setting

9910 MultiEntitySearch

9912 Multi Select Option Value

9919 Hierarchy Security Configuration

9930 Knowledge Base Record

9932 Time Stamp Date Mapping

9936 Azure Service Connection

9940 Document Template

9941 Personal Document Template

9945 Text Analytics Entity Mapping

9947 Knowledge Search Model

9949 Advanced Similarity Rule


VALUE LABEL

9950 Office Graph Document

9951 Similarity Rule

9953 Knowledge Article

9955 Knowledge Article Views

9957 Language

9958 Feedback

9959 Category

9960 Knowledge Article Category

9961 DelveActionHub

9962 Action Card

9968 ActionCardUserState

9973 Action Card User Settings

9983 Action Card Type

9986 Interaction for Email

9987 External Party Item

9996 HolidayWrapper

9997 Email Signature

10000 OData v4 Data Source

10001 Solution Component Summary

10002 Solution Component Data Source

10003 Solution History

10004 Solution History Data Source

10005 Component Layer

10006 Component Layer Data Source

One-To-Many Relationships
Listed by SchemaName.
TransformationMapping_ImportMap
OwnerMapping_ImportMap
ImportMap_AsyncOperations
ImportMap_ImportFile
ImportMap_BulkDeleteFailures
ImportEntityMapping_ImportMap
ImportMap_SyncErrors
ColumnMapping_ImportMap
TransformationMapping_ImportMap
Same as transformationmapping entity TransformationMapping_ImportMap Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity transformationmapping

ReferencingAttribute importmapid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName TransformationMapping_ImportMap

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

OwnerMapping_ImportMap
Same as ownermapping entity OwnerMapping_ImportMap Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity ownermapping

ReferencingAttribute importmapid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName OwnerMapping_ImportMap
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportMap_AsyncOperations
Same as asyncoperation entity ImportMap_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportMap_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportMap_ImportFile
Same as importfile entity ImportMap_ImportFile Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importfile

ReferencingAttribute importmapid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportMap_ImportFile
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportMap_BulkDeleteFailures
Same as bulkdeletefailure entity ImportMap_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportMap_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportEntityMapping_ImportMap
Same as importentitymapping entity ImportEntityMapping_ImportMap Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importentitymapping

ReferencingAttribute importmapid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ImportEntityMapping_ImportMap
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ImportMap_SyncErrors
Same as syncerror entity ImportMap_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ImportMap_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

ColumnMapping_ImportMap
Same as columnmapping entity ColumnMapping_ImportMap Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity columnmapping

ReferencingAttribute importmapid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName ColumnMapping_ImportMap
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_importmapbase_createdby
lk_importmap_createdonbehalfby
BusinessUnit_ImportMaps
team_ImportMaps
lk_importmap_modifiedonbehalfby
SystemUser_ImportMaps
lk_importmapbase_modifiedby
lk_importmapbase_createdby
See systemuser Entity lk_importmapbase_createdby One-To-Many relationship.
lk_importmap_createdonbehalfby
See systemuser Entity lk_importmap_createdonbehalfby One-To-Many relationship.
BusinessUnit_ImportMaps
See businessunit Entity BusinessUnit_ImportMaps One-To-Many relationship.
team_ImportMaps
See team Entity team_ImportMaps One-To-Many relationship.
lk_importmap_modifiedonbehalfby
See systemuser Entity lk_importmap_modifiedonbehalfby One-To-Many relationship.
SystemUser_ImportMaps
See systemuser Entity SystemUser_ImportMaps One-To-Many relationship.
lk_importmapbase_modifiedby
See systemuser Entity lk_importmapbase_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
importmap EntityType
InteractionForEmail Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/interactionforemails(i Delete
nteractionforemailid)
See Delete

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/interactionforemails RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName InteractionForEmails

DisplayCollectionName Interactions for Email

DisplayName Interaction for Email

EntitySetName interactionforemails

IsBPFEntity False

LogicalCollectionName interactionforemails

LogicalName interactionforemail

OwnershipType UserOwned

PrimaryIdAttribute interactionforemailid

PrimaryNameAttribute name

SchemaName InteractionForEmail

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
EmailAddress
ImportSequenceNumber
InteractedComponentText
InteractionForEmailId
InteractionLocation
InteractionRepliedBy
InteractionReplyId
InteractionUserAgent
name
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
TransactionCurrencyId
UTCConversionTimeZoneCode
EmailAddress
PROPERTY VALUE

Description For internal use only.

DisplayName Email Interaction Component Related Text

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName emailaddress

MaxLength 1250

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

InteractedComponentText
PROPERTY VALUE

Description For internal use only.

DisplayName Email Interaction Component Related Text

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName interactedcomponenttext

MaxLength 1250

RequiredLevel None

Type String

InteractionForEmailId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Interaction for Email

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName interactionforemailid

RequiredLevel SystemRequired

Type Uniqueidentifier

InteractionLocation
PROPERTY VALUE

Description Shows the location for an Interaction

DisplayName Location for an Interaction

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName interactionlocation

MaxLength 1250

RequiredLevel None

Type String

InteractionRepliedBy
PROPERTY VALUE

Description Shows the Name who replied to email if interaction is reply

DisplayName Name who replied to email if interaction is reply

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName interactionrepliedby

MaxLength 1250

RequiredLevel None
PROPERTY VALUE

Type String

InteractionReplyId
PROPERTY VALUE

Description InteractionReplyId

DisplayName InteractionReplyId

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName interactionreplyid

MaxLength 1250

RequiredLevel None

Type String

InteractionUserAgent
PROPERTY VALUE

Description Shows the User Agent for an Interaction if available

DisplayName User Agent for an Interaction

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName interactionuseragent

MaxLength 1250

RequiredLevel None

Type String

name
PROPERTY VALUE

Description The name of the custom entity.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the record.

DisplayName Owner
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
PROPERTY VALUE

Description Status of the Interaction for Email

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

statecode Options
VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

statuscode
PROPERTY VALUE

Description Reason for the status of the Interaction for Email

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

statuscode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None
PROPERTY VALUE

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Exchange rate for the currency associated with the


InteractionForEmail with respect to the base currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EmailActivityId
EmailInteractionReplyId
EmailInteractionTime
ExchangeRate
InteractionPartyId
InteractionPartyTypecode
InteractionType
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.


PROPERTY VALUE

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

EmailActivityId
PROPERTY VALUE

Description Email Activity Id.

DisplayName Email Activity Id

IsValidForForm False

IsValidForRead True

LogicalName emailactivityid

RequiredLevel None

Type Uniqueidentifier

EmailInteractionReplyId
PROPERTY VALUE

Description Email Activity Id.

DisplayName Email Activity Id

IsValidForForm False

IsValidForRead True

LogicalName emailinteractionreplyid

RequiredLevel None

Type Uniqueidentifier

EmailInteractionTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the Interaction date and time of the an email.

DisplayName Interaction date and time of the an email

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName emailinteractiontime

RequiredLevel None

Type DateTime

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the


InteractionForEmail with respect to the base currency.

DisplayName ExchangeRate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate
PROPERTY VALUE

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

InteractionPartyId
PROPERTY VALUE

Description For internal use only.

DisplayName Interaction party id.

IsValidForForm False

IsValidForRead True

LogicalName interactionpartyid

RequiredLevel None

Type Uniqueidentifier

InteractionPartyTypecode
PROPERTY VALUE

Description For internal use only

DisplayName Interaction party type code.

Format None

IsValidForForm False

IsValidForRead False

LogicalName interactionpartytypecode

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer
InteractionType
PROPERTY VALUE

Description Shows the type of Interaction.

DisplayName Interaction Type

IsValidForForm False

IsValidForRead True

LogicalName interactiontype

RequiredLevel SystemRequired

Type Picklist

InteractionType Options

VALUE LABEL

0 EmailOpen

1 LinkOpen

2 AttachmentOpen

3 EmailReply

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.


PROPERTY VALUE

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdName
PROPERTY VALUE

Description Name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
interactionforemail_ActivityPointers
interactionforemail_AsyncOperations
interactionforemail_ActivityPointers
Same as activitypointer entity interactionforemail_ActivityPointers Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName new_interactionforemail_ActivityPointers
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

interactionforemail_AsyncOperations
Same as asyncoperation entity interactionforemail_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName new_interactionforemail_AsyncOperations

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_interactionforemail_createdby
lk_interactionforemail_createdonbehalfby
lk_interactionforemail_modifiedby
lk_interactionforemail_modifiedonbehalfby
user_interactionforemail
team_interactionforemail
business_unit_interactionforemail
TransactionCurrency_InteractionForEmail
lk_interactionforemail_createdby
See systemuser Entity lk_interactionforemail_createdby One-To-Many relationship.
lk_interactionforemail_createdonbehalfby
See systemuser Entity lk_interactionforemail_createdonbehalfby One-To-Many relationship.
lk_interactionforemail_modifiedby
See systemuser Entity lk_interactionforemail_modifiedby One-To-Many relationship.
lk_interactionforemail_modifiedonbehalfby
See systemuser Entity lk_interactionforemail_modifiedonbehalfby One-To-Many relationship.
user_interactionforemail
See systemuser Entity user_interactionforemail One-To-Many relationship.
team_interactionforemail
See team Entity team_interactionforemail One-To-Many relationship.
business_unit_interactionforemail
See businessunit Entity business_unit_interactionforemail One-To-Many relationship.
TransactionCurrency_InteractionForEmail
See transactioncurrency Entity TransactionCurrency_InteractionForEmail One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
interactionforemail EntityType
InvalidDependency Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

An invalid dependency in the CRM system.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/invaliddependencies( Retrieve
invaliddependencyid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/invaliddependencies RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName InvalidDependencies

DisplayCollectionName Invalid Dependencies

DisplayName Invalid Dependency

EntitySetName invaliddependencies

IsBPFEntity False

LogicalCollectionName invaliddependencies

LogicalName invaliddependency

OwnershipType None

PrimaryIdAttribute invaliddependencyid

PrimaryNameAttribute

SchemaName InvalidDependency

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
MissingComponentId
PROPERTY VALUE

Description Unique identifier of the missing component.

DisplayName Regarding

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName missingcomponentid

RequiredLevel None

Type Uniqueidentifier

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ExistingComponentId
ExistingComponentType
ExistingDependencyType
InvalidDependencyId
IsExistingNodeRequiredComponent
MissingComponentInfo
MissingComponentLookupType
MissingComponentType
ExistingComponentId
PROPERTY VALUE

Description Unique identifier of the object that has an invalid dependency

DisplayName Existing Object Id

IsValidForForm False

IsValidForRead True

LogicalName existingcomponentid

RequiredLevel None

Type Uniqueidentifier

ExistingComponentType
PROPERTY VALUE

Description Component type of the object that has an invalid dependency

DisplayName Existing Object's Component Type

IsValidForForm False

IsValidForRead True

LogicalName existingcomponenttype

RequiredLevel None

Type Picklist

ExistingComponentType Options

VALUE LABEL

1 Entity

2 Attribute

3 Relationship

4 Attribute Picklist Value

5 Attribute Lookup Value

6 View Attribute

7 Localized Label

8 Relationship Extra Condition

9 Option Set

10 Entity Relationship

11 Entity Relationship Role

12 Entity Relationship Relationships

13 Managed Property

14 Entity Key

16 Privilege

17 PrivilegeObjectTypeCode

18 Index
VALUE LABEL

20 Role

21 Role Privilege

22 Display String

23 Display String Map

24 Form

25 Organization

26 Saved Query

29 Workflow

31 Report

32 Report Entity

33 Report Category

34 Report Visibility

35 Attachment

36 Email Template

37 Contract Template

38 KB Article Template

39 Mail Merge Template

44 Duplicate Rule

45 Duplicate Rule Condition

46 Entity Map

47 Attribute Map

48 Ribbon Command

49 Ribbon Context Group

50 Ribbon Customization

52 Ribbon Rule
VALUE LABEL

53 Ribbon Tab To Command Map

55 Ribbon Diff

59 Saved Query Visualization

60 System Form

61 Web Resource

62 Site Map

63 Connection Role

64 Complex Control

65 Hierarchy Rule

66 Custom Control

68 Custom Control Default Config

70 Field Security Profile

71 Field Permission

90 Plugin Type

91 Plugin Assembly

92 SDK Message Processing Step

93 SDK Message Processing Step Image

95 Service Endpoint

150 Routing Rule

151 Routing Rule Item

152 SLA

153 SLA Item

154 Convert Rule

155 Convert Rule Item

161 Mobile Offline Profile


VALUE LABEL

162 Mobile Offline Profile Item

165 Similarity Rule

166 Data Source Mapping

201 SDKMessage

202 SDKMessageFilter

203 SdkMessagePair

204 SdkMessageRequest

205 SdkMessageRequestField

206 SdkMessageResponse

207 SdkMessageResponseField

208 Import Map

210 WebWizard

300 Canvas App

371 Connector

ExistingDependencyType
PROPERTY VALUE

Description The dependency type of the invalid dependency.

DisplayName Weight

IsValidForForm False

IsValidForRead True

LogicalName existingdependencytype

RequiredLevel SystemRequired

Type Picklist

ExistingDependencyType Options

VALUE LABEL

0 None
VALUE LABEL

1 Solution Internal

2 Published

4 Unpublished

InvalidDependencyId
PROPERTY VALUE

Description Unique identifier of the invalid dependency.

DisplayName Invalid Dependency Identifier

IsValidForForm False

IsValidForRead True

LogicalName invaliddependencyid

RequiredLevel SystemRequired

Type Uniqueidentifier

IsExistingNodeRequiredComponent
PROPERTY VALUE

Description Indicates whether the existing node is the required component


in the dependency

DisplayName Is this node the required component

IsValidForForm False

IsValidForRead True

LogicalName isexistingnoderequiredcomponent

RequiredLevel None

Type Boolean

IsExistingNodeRequiredComponent Options

VALUE LABEL

1 Ancestor

0 Descendent

DefaultValue: True
MissingComponentInfo
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName missingcomponentinfo

MaxLength 1073741823

RequiredLevel None

Type String

MissingComponentLookupType
PROPERTY VALUE

Description The lookup type of the missing component.

DisplayName Lookup Type

Format None

IsValidForForm False

IsValidForRead True

LogicalName missingcomponentlookuptype

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MissingComponentType
PROPERTY VALUE

Description The object type code of the missing component.


PROPERTY VALUE

DisplayName Type Code

IsValidForForm False

IsValidForRead True

LogicalName missingcomponenttype

RequiredLevel SystemRequired

Type Picklist

MissingComponentType Options

VALUE LABEL

1 Entity

2 Attribute

3 Relationship

4 Attribute Picklist Value

5 Attribute Lookup Value

6 View Attribute

7 Localized Label

8 Relationship Extra Condition

9 Option Set

10 Entity Relationship

11 Entity Relationship Role

12 Entity Relationship Relationships

13 Managed Property

14 Entity Key

16 Privilege

17 PrivilegeObjectTypeCode

18 Index

20 Role
VALUE LABEL

21 Role Privilege

22 Display String

23 Display String Map

24 Form

25 Organization

26 Saved Query

29 Workflow

31 Report

32 Report Entity

33 Report Category

34 Report Visibility

35 Attachment

36 Email Template

37 Contract Template

38 KB Article Template

39 Mail Merge Template

44 Duplicate Rule

45 Duplicate Rule Condition

46 Entity Map

47 Attribute Map

48 Ribbon Command

49 Ribbon Context Group

50 Ribbon Customization

52 Ribbon Rule

53 Ribbon Tab To Command Map


VALUE LABEL

55 Ribbon Diff

59 Saved Query Visualization

60 System Form

61 Web Resource

62 Site Map

63 Connection Role

64 Complex Control

65 Hierarchy Rule

66 Custom Control

68 Custom Control Default Config

70 Field Security Profile

71 Field Permission

90 Plugin Type

91 Plugin Assembly

92 SDK Message Processing Step

93 SDK Message Processing Step Image

95 Service Endpoint

150 Routing Rule

151 Routing Rule Item

152 SLA

153 SLA Item

154 Convert Rule

155 Convert Rule Item

161 Mobile Offline Profile

162 Mobile Offline Profile Item


VALUE LABEL

165 Similarity Rule

166 Data Source Mapping

201 SDKMessage

202 SDKMessageFilter

203 SdkMessagePair

204 SdkMessageRequest

205 SdkMessageRequestField

206 SdkMessageResponse

207 SdkMessageResponseField

208 Import Map

210 WebWizard

300 Canvas App

371 Connector

See also
About the Entity Reference
Web API Reference
invaliddependency EntityType
KbArticle Entity Reference
4/3/2019 • 9 minutes to read • Edit Online

Structured content that is part of the knowledge base.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/kbarticles CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/kbarticles(kbarticleid Delete
)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/kbarticles(kbarticleid Retrieve
)
See Retrieve

RetrieveByTopIncidentProductKbArticle RetrieveByTopIncidentProductKbArticleR
equest

RetrieveByTopIncidentSubjectKbArticle RetrieveByTopIncidentSubjectKbArticle RetrieveByTopIncidentSubjectKbArticleR


Function equest

RetrieveMultiple GET [org URI]/api/data/v9.0/kbarticles RetrieveMultipleRequest or


See Query Data RetrieveMultiple

SearchByBodyKbArticle SearchByBodyKbArticle Function SearchByBodyKbArticleRequest

SearchByKeywordsKbArticle SearchByKeywordsKbArticle Function SearchByKeywordsKbArticleRequest

SearchByTitleKbArticle SearchByTitleKbArticle Function SearchByTitleKbArticleRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/kbarticles(kbarticleid
)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/kbarticles(kbarticleid Update
)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName KbArticles

DisplayCollectionName Articles

DisplayName Article

EntitySetName kbarticles

IsBPFEntity False

LogicalCollectionName kbarticles

LogicalName kbarticle

OwnershipType OrganizationOwned

PrimaryIdAttribute kbarticleid

PrimaryNameAttribute title

SchemaName KbArticle

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ArticleXml
Comments
Description
EntityImage
ImportSequenceNumber
KbArticleId
KbArticleTemplateId
KeyWords
LanguageCode
OverriddenCreatedOn
StateCode
StatusCode
SubjectId
Title
TransactionCurrencyId
ArticleXml
PROPERTY VALUE

Description Shows the article content and formatting, stored as XML.


PROPERTY VALUE

DisplayName Article XML

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName articlexml

MaxLength 1073741823

RequiredLevel None

Type Memo

Comments
PROPERTY VALUE

Description Comments regarding the knowledge base article.

DisplayName Comments

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName comments

MaxLength 100000

RequiredLevel None

Type Memo

Description
PROPERTY VALUE

Description Type additional information that describes the knowledge base


article.

DisplayName Description
PROPERTY VALUE

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

EntityImage
PROPERTY VALUE

Description The default image for the entity.

DisplayName Entity Image

IsPrimaryImage False

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

KbArticleId
PROPERTY VALUE

Description Shows the ID of the article.

DisplayName Article

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName kbarticleid

RequiredLevel SystemRequired

Type Uniqueidentifier

KbArticleTemplateId
PROPERTY VALUE

Description Choose the template that you want to use as a base for
creating the new article.

DisplayName Base Template

IsValidForForm True

IsValidForRead True

LogicalName kbarticletemplateid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets kbarticletemplate

Type Lookup

KeyWords
PROPERTY VALUE

Description Keywords to be used for searches in knowledge base articles.

DisplayName Key Words

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName keywords

MaxLength 100000

RequiredLevel None

Type Memo

LanguageCode
PROPERTY VALUE

Description Select which language the article must be available in. This list
is based on the list of language packs that are installed in your
Microsoft Dynamics 365 environment.

DisplayName Language

Format Language

IsValidForForm True

IsValidForRead True

LogicalName languagecode

MaxValue 2147483647

MinValue 0
PROPERTY VALUE

RequiredLevel None

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

StateCode
PROPERTY VALUE

Description Shows whether the knowledge base article is in draft,


unapproved, or published status. Published articles are read-
only and can't be edited unless they are unpublished.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options
VALUE LABEL DEFAULTSTATUS INVARIANTNAME

1 Draft 1 Draft

2 Unapproved 2 Unapproved

3 Published 3 Published

StatusCode
PROPERTY VALUE

Description Select the article's status.

DisplayName Status Reason

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Draft 1

2 Unapproved 2

3 Published 3

SubjectId
PROPERTY VALUE

Description Choose the subject of the article to assist with article searches.
You can configure subjects under Business Management in the
Settings area.

DisplayName Subject

IsValidForForm True

IsValidForRead True

LogicalName subjectid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets subject

Type Lookup

Title
PROPERTY VALUE

Description Type a subject or descriptive name for the article to assist with
article searches.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 500

RequiredLevel ApplicationRequired

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
Content
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EntityImage_Timestamp
EntityImage_URL
EntityImageId
ExchangeRate
KbArticleTemplateIdTitle
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
Number
OrganizationId
OrganizationIdName
SubjectIdName
TransactionCurrencyIdName
VersionNumber
Content
PROPERTY VALUE

Description Description of the content of the knowledge base article.

DisplayName Content

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName content

MaxLength 1073741823
PROPERTY VALUE

RequiredLevel None

Type Memo

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the knowledge base
article.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the knowledge base article was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the article.

DisplayName Created By (Delegate)

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String
EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid

RequiredLevel None

Type Uniqueidentifier

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

KbArticleTemplateIdTitle
PROPERTY VALUE

Description Title of the associated knowledge base article template.

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName kbarticletemplateidtitle

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the knowledge
base article.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the knowledge base article was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon
PROPERTY VALUE

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
kbarticle.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

Number
PROPERTY VALUE

Description Knowledge base article number.

DisplayName Number

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName number

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


article.
PROPERTY VALUE

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

SubjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName subjectidname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Title of the knowledge base article.

DisplayName Title

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808
PROPERTY VALUE

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
KbArticle_SharepointDocumentLocation
kbarticle_principalobjectattributeaccess
KbArticle_DuplicateBaseRecord
KbArticle_DuplicateMatchingRecord
KbArticle_Annotation
kbarticle_comments
KbArticle_SyncErrors
KbArticle_AsyncOperations
KbArticle_ProcessSessions
KbArticle_BulkDeleteFailures
KbArticle_SharepointDocumentLocation
Same as sharepointdocumentlocation entity KbArticle_SharepointDocumentLocation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sharepointdocumentlocation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KbArticle_SharepointDocumentLocation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: Cascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

kbarticle_principalobjectattributeaccess
Same as principalobjectattributeaccess entity kbarticle_principalobjectattributeaccess Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName kbarticle_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticle_DuplicateBaseRecord
Same as duplicaterecord entity KbArticle_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticle_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticle_DuplicateMatchingRecord
Same as duplicaterecord entity KbArticle_DuplicateMatchingRecord Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticle_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticle_Annotation
Same as annotation entity KbArticle_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KbArticle_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

kbarticle_comments
Same as kbarticlecomment entity kbarticle_comments Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity kbarticlecomment

ReferencingAttribute kbarticleid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName kbarticle_comments

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticle_SyncErrors
Same as syncerror entity KbArticle_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KbArticle_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KbArticle_AsyncOperations
Same as asyncoperation entity KbArticle_AsyncOperations Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticle_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticle_ProcessSessions
Same as processsession entity KbArticle_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticle_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticle_BulkDeleteFailures
Same as bulkdeletefailure entity KbArticle_BulkDeleteFailures Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticle_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
subject_kb_articles
lk_kbarticle_modifiedonbehalfby
kb_article_template_kb_articles
lk_kbarticlebase_modifiedby
organization_kb_articles
lk_kbarticle_createdonbehalfby
TransactionCurrency_KbArticle
lk_kbarticlebase_createdby
subject_kb_articles
See subject Entity subject_kb_articles One-To-Many relationship.
lk_kbarticle_modifiedonbehalfby
See systemuser Entity lk_kbarticle_modifiedonbehalfby One-To-Many relationship.
kb_article_template_kb_articles
See kbarticletemplate Entity kb_article_template_kb_articles One-To-Many relationship.
lk_kbarticlebase_modifiedby
See systemuser Entity lk_kbarticlebase_modifiedby One-To-Many relationship.
organization_kb_articles
See organization Entity organization_kb_articles One-To-Many relationship.
lk_kbarticle_createdonbehalfby
See systemuser Entity lk_kbarticle_createdonbehalfby One-To-Many relationship.
TransactionCurrency_KbArticle
See transactioncurrency Entity TransactionCurrency_KbArticle One-To-Many relationship.
lk_kbarticlebase_createdby
See systemuser Entity lk_kbarticlebase_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
kbarticle EntityType
KbArticleComment Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Comment on a knowledge base article.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/kbarticlecomments Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/kbarticlecomments(k Delete
barticlecommentid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/kbarticlecomments(k Retrieve
barticlecommentid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/kbarticlecomments RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/kbarticlecomments(k Update
barticlecommentid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName KbArticleComments

DisplayCollectionName Article Comments

DisplayName Article Comment

EntitySetName kbarticlecomments

IsBPFEntity False

LogicalCollectionName kbarticlecomments

LogicalName kbarticlecomment
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute kbarticlecommentid

PrimaryNameAttribute title

SchemaName KbArticleComment

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CommentText
KbArticleCommentId
KbArticleId
Title
CommentText
PROPERTY VALUE

Description Comment text for the knowledge base article.

DisplayName Comment Text

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName commenttext

MaxLength 100000

RequiredLevel None

Type Memo

KbArticleCommentId
PROPERTY VALUE

Description Unique identifier of the knowledge base article comment.

DisplayName Article Comment

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName kbarticlecommentid

RequiredLevel SystemRequired

Type Uniqueidentifier

KbArticleId
PROPERTY VALUE

Description Unique identifier of the knowledge base article to which the


comment applies.

DisplayName KB Article

IsValidForForm False

IsValidForRead True

LogicalName kbarticleid

RequiredLevel SystemRequired

Targets kbarticle

Type Lookup

Title
PROPERTY VALUE

Description Title of the knowledge base article comment.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 200
PROPERTY VALUE

RequiredLevel ApplicationRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the knowledge base
article comment.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the knowledge base article comment was
created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


kbarticlecomment.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the knowledge
base article comment.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String
ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the knowledge base article comment was
last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
kbarticlecomment.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the article


comment is associated.

DisplayName Organization

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationid

RequiredLevel SystemRequired

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
KbArticleComment_ProcessSessions
KbArticleComment_AsyncOperations
KbArticleComment_BulkDeleteFailures
KbArticleComment_ProcessSessions
Same as processsession entity KbArticleComment_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticleComment_ProcessSessions
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticleComment_AsyncOperations
Same as asyncoperation entity KbArticleComment_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticleComment_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticleComment_BulkDeleteFailures
Same as bulkdeletefailure entity KbArticleComment_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticleComment_BulkDeleteFailures
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_kbarticlecomment_modifiedonbehalfby
lk_kbarticlecommentbase_createdby
lk_kbarticlecomment_createdonbehalfby
lk_kbarticlecommentbase_modifiedby
kbarticle_comments
lk_kbarticlecomment_modifiedonbehalfby
See systemuser Entity lk_kbarticlecomment_modifiedonbehalfby One-To-Many relationship.
lk_kbarticlecommentbase_createdby
See systemuser Entity lk_kbarticlecommentbase_createdby One-To-Many relationship.
lk_kbarticlecomment_createdonbehalfby
See systemuser Entity lk_kbarticlecomment_createdonbehalfby One-To-Many relationship.
lk_kbarticlecommentbase_modifiedby
See systemuser Entity lk_kbarticlecommentbase_modifiedby One-To-Many relationship.
kbarticle_comments
See kbarticle Entity kbarticle_comments One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
kbarticlecomment EntityType
KbArticleTemplate Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Template for a knowledge base article that contains the standard attributes of an article.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/kbarticletemplates Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/kbarticletemplates(k Delete
barticletemplateid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/kbarticletemplates(k Retrieve
barticletemplateid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/kbarticletemplates RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/kbarticletemplates(k Update
barticletemplateid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName KbArticleTemplates

DisplayCollectionName Article Templates

DisplayName Article Template

EntitySetName kbarticletemplates

IsBPFEntity False

LogicalCollectionName kbarticletemplates

LogicalName kbarticletemplate
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute kbarticletemplateid

PrimaryNameAttribute title

SchemaName KbArticleTemplate

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Description
FormatXml
ImportSequenceNumber
IntroducedVersion
IsActive
IsCustomizable
KbArticleTemplateId
LanguageCode
OverriddenCreatedOn
StructureXml
Title
Description
PROPERTY VALUE

Description Description of the knowledge base article template.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

FormatXml
PROPERTY VALUE

Description XML format of the knowledge base article template.

DisplayName Format XML

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName formatxml

MaxLength 1073741823

RequiredLevel None

Type Memo

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

IsActive
PROPERTY VALUE

Description Information about whether the knowledge base article is


active.

DisplayName Status

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName isactive

RequiredLevel None

Type Boolean

IsActive Options

VALUE LABEL

1 Active

0 Inactive

DefaultValue: True
IsCustomizable
PROPERTY VALUE

Description Information that specifies whether this component can be


customized.

DisplayName Customizable

IsValidForForm False

IsValidForRead True

LogicalName iscustomizable

RequiredLevel SystemRequired

Type ManagedProperty

KbArticleTemplateId
PROPERTY VALUE

Description Unique identifier of the knowledge base article template.

DisplayName Article Template

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName kbarticletemplateid

RequiredLevel SystemRequired

Type Uniqueidentifier

LanguageCode
PROPERTY VALUE

Description Language of the Article Template

DisplayName Language

Format Language

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName languagecode

MaxValue 2147483647

MinValue 0

RequiredLevel ApplicationRequired

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

StructureXml
PROPERTY VALUE

Description XML structure of the knowledge base article.

DisplayName Structure XML

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName structurexml
PROPERTY VALUE

MaxLength 1073741823

RequiredLevel None

Type Memo

Title
PROPERTY VALUE

Description Title of the knowledge base article template.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 500

RequiredLevel ApplicationRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
KbArticleTemplateIdUnique
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the knowledge base
article template.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the knowledge base article template was
created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


kbarticletemplate.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

IsManaged
PROPERTY VALUE

Description

DisplayName

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
KbArticleTemplateIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName kbarticletemplateidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the knowledge
base article template.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String
ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the knowledge base article template was
last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
kbarticletemplate.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


template.

DisplayName Organization

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired
PROPERTY VALUE

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber
PROPERTY VALUE

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
kb_article_template_kb_articles
KbArticleTemplate_SyncErrors
KbArticleTemplate_AsyncOperations
KbArticleTemplate_BulkDeleteFailures
KbArticleTemplate_ProcessSessions
kb_article_template_kb_articles
Same as kbarticle entity kb_article_template_kb_articles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity kbarticle

ReferencingAttribute kbarticletemplateid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName kb_article_template_kb_articles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticleTemplate_SyncErrors
Same as syncerror entity KbArticleTemplate_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KbArticleTemplate_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KbArticleTemplate_AsyncOperations
Same as asyncoperation entity KbArticleTemplate_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticleTemplate_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticleTemplate_BulkDeleteFailures
Same as bulkdeletefailure entity KbArticleTemplate_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticleTemplate_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KbArticleTemplate_ProcessSessions
Same as processsession entity KbArticleTemplate_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KbArticleTemplate_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_kbarticletemplate_createdonbehalfby
organization_kb_article_templates
lk_kbarticletemplate_modifiedonbehalfby
lk_kbarticletemplatebase_modifiedby
lk_kbarticletemplatebase_createdby
lk_kbarticletemplate_createdonbehalfby
See systemuser Entity lk_kbarticletemplate_createdonbehalfby One-To-Many relationship.
organization_kb_article_templates
See organization Entity organization_kb_article_templates One-To-Many relationship.
lk_kbarticletemplate_modifiedonbehalfby
See systemuser Entity lk_kbarticletemplate_modifiedonbehalfby One-To-Many relationship.
lk_kbarticletemplatebase_modifiedby
See systemuser Entity lk_kbarticletemplatebase_modifiedby One-To-Many relationship.
lk_kbarticletemplatebase_createdby
See systemuser Entity lk_kbarticletemplatebase_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
kbarticletemplate EntityType
KnowledgeArticle Entity Reference
4/3/2019 • 19 minutes to read • Edit Online

Organizational knowledge for internal and external use.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/knowledgearticles(kn
owledgearticleid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/knowledgearticles Create
See Create

CreateKnowledgeArticleTranslation CreateKnowledgeArticleTranslation CreateKnowledgeArticleTranslationRequ


Action est

CreateKnowledgeArticleVersion CreateKnowledgeArticleVersion Action CreateKnowledgeArticleVersionRequest

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/knowledgearticles(kn Delete
owledgearticleid)
See Delete

FullTextSearchKnowledgeArticle FullTextSearchKnowledgeArticle Action FullTextSearchKnowledgeArticleRequest

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/knowledgearticles(kn Retrieve
owledgearticleid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/knowledgearticles RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest


MESSAGE WEB API OPERATION SDK ASSEMBLY

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/knowledgearticles(kn
owledgearticleid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/knowledgearticles(kn Update
owledgearticleid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName KnowledgeArticles

DisplayCollectionName Knowledge Articles

DisplayName Knowledge Article

EntitySetName knowledgearticles

IsBPFEntity False

LogicalCollectionName knowledgearticles

LogicalName knowledgearticle

OwnershipType UserOwned

PrimaryIdAttribute knowledgearticleid

PrimaryNameAttribute title

SchemaName KnowledgeArticle

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ArticlePublicNumber
Content
Description
ExpirationDate
ExpirationStateId
ExpirationStatusId
ExpiredReviewOptions
ImportSequenceNumber
IsInternal
IsLatestVersion
IsPrimary
IsRootArticle
Keywords
knowledgearticleId
LanguageLocaleId
MajorVersionNumber
MinorVersionNumber
OverriddenCreatedOn
OwnerId
OwnerIdType
ParentArticleContentId
PreviousArticleContentId
primaryauthorid
processid
PublishOn
PublishStatusId
ReadyForReview
Review
RootArticleId
ScheduledStatusId
SetCategoryAssociations
stageid
StateCode
StatusCode
SubjectId
TimeZoneRuleVersionNumber
Title
TransactionCurrencyId
traversedpath
UpdateContent
UTCConversionTimeZoneCode
ArticlePublicNumber
PROPERTY VALUE

Description Shows the automatically generated ID exposed to customers,


partners, and other external users to reference and look up
articles.

DisplayName Article Public Number

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName articlepublicnumber

MaxLength 4000

RequiredLevel SystemRequired

Type String

Content
PROPERTY VALUE

Description Shows the body of the article stored in HTML format.

DisplayName Content

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName content

MaxLength 1073741823

RequiredLevel None

Type Memo

Description
PROPERTY VALUE

Description A short overview of the article, primarily used in search results


and for search engine optimization.

DisplayName Description

FormatName TextArea

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName description

MaxLength 155

RequiredLevel None

Type String

ExpirationDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter an expiration date for the article. Leave this field blank
for no expiration date.

DisplayName Expiration Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName expirationdate

RequiredLevel None

Type DateTime

ExpirationStateId
PROPERTY VALUE

Description Contains the id of the expiration state of the entity.

DisplayName Expiration State Id

Format None

IsValidForForm False

IsValidForRead True

LogicalName expirationstateid

MaxValue 2147483647
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

ExpirationStatusId
PROPERTY VALUE

Description Contains the id of the expiration status of the entity.

DisplayName Expired Status

Format None

IsValidForForm False

IsValidForRead True

LogicalName expirationstatusid

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ExpiredReviewOptions
PROPERTY VALUE

Description Expired Review Options

DisplayName Expired Review Options

IsValidForForm True

IsValidForRead True

LogicalName expiredreviewoptions

RequiredLevel None

Type Picklist

ExpiredReviewOptions Options
VALUE LABEL

0 Needs Updating

1 Republish

2 Archive

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsInternal
PROPERTY VALUE

Description Shows whether this article is only visible internally.

DisplayName Internal

IsValidForForm True

IsValidForRead True

LogicalName isinternal

RequiredLevel None

Type Boolean

IsInternal Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsLatestVersion
PROPERTY VALUE

Description Shows which version of the knowledge article is the latest


version.

DisplayName Is Latest Version

IsValidForForm True

IsValidForRead True

LogicalName islatestversion

RequiredLevel SystemRequired

Type Boolean

IsLatestVersion Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsPrimary
PROPERTY VALUE

Description Select whether the article is the primary article.

DisplayName Primary Article

IsValidForForm True

IsValidForRead True

LogicalName isprimary

RequiredLevel None

Type Boolean
IsPrimary Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsRootArticle
PROPERTY VALUE

Description Select whether the article is the root article.

DisplayName Root Article

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName isrootarticle

RequiredLevel SystemRequired

Type Boolean

IsRootArticle Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Keywords
PROPERTY VALUE

Description Type keywords to be used for searches in knowledge base


articles. Separate keywords by using commas.

DisplayName Keywords

Format Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName keywords

MaxLength 4000

RequiredLevel Recommended

Type Memo

knowledgearticleId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Knowledge Article

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName knowledgearticleid

RequiredLevel SystemRequired

Type Uniqueidentifier

LanguageLocaleId
PROPERTY VALUE

Description Select the language that the article's content is in.

DisplayName Language

IsValidForForm True

IsValidForRead True

LogicalName languagelocaleid

RequiredLevel SystemRequired

Targets languagelocale

Type Lookup

MajorVersionNumber
PROPERTY VALUE

Description Shows the major version number of this article's content.

DisplayName Major Version Number

Format None

IsValidForForm True

IsValidForRead True

LogicalName majorversionnumber

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MinorVersionNumber
PROPERTY VALUE

Description Shows the minor version number of this article's content.

DisplayName Minor Version Number

Format None

IsValidForForm True

IsValidForRead True

LogicalName minorversionnumber

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.


PROPERTY VALUE

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the record.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
PROPERTY VALUE

Type EntityName

ParentArticleContentId
PROPERTY VALUE

Description Contains the id of the parent article content associated with


the entity.

DisplayName Parent Article Content Id

IsValidForForm True

IsValidForRead True

LogicalName parentarticlecontentid

RequiredLevel None

Targets knowledgearticle

Type Lookup

PreviousArticleContentId
PROPERTY VALUE

Description Shows the version that the current article was restored from.

DisplayName Previous Article Content ID

IsValidForForm True

IsValidForRead True

LogicalName previousarticlecontentid

RequiredLevel None

Targets knowledgearticle

Type Lookup

primaryauthorid
PROPERTY VALUE

Description Contains the id of the primary author associated with the


article.

DisplayName Primary Author Id


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName primaryauthorid

RequiredLevel None

Targets systemuser

Type Lookup

processid
PROPERTY VALUE

Description Contains the id of the process associated with the entity.

DisplayName Process Id

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

PublishOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was published.

DisplayName Publish On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName publishon

RequiredLevel None

Type DateTime
PublishStatusId
PROPERTY VALUE

Description Publish Status of the Article.

DisplayName Published Status

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName publishstatusid

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ReadyForReview
PROPERTY VALUE

Description Ready For Review

DisplayName Ready For Review

IsValidForForm True

IsValidForRead True

LogicalName readyforreview

RequiredLevel None

Type Boolean

ReadyForReview Options

VALUE LABEL

1 Completed

0 Mark Complete

DefaultValue: False
Review
PROPERTY VALUE

Description Review

DisplayName Review

IsValidForForm True

IsValidForRead True

LogicalName review

RequiredLevel None

Type Picklist

Review Options

VALUE LABEL

0 Approved

1 Rejected

RootArticleId
PROPERTY VALUE

Description Contains the id of the root article.

DisplayName Root Article Id

IsValidForForm True

IsValidForRead True

LogicalName rootarticleid

RequiredLevel None

Targets knowledgearticle

Type Lookup

ScheduledStatusId
PROPERTY VALUE

Description Contains the id of the scheduled status of the entity.

DisplayName Scheduled Status

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName scheduledstatusid

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

SetCategoryAssociations
PROPERTY VALUE

Description Shows whether category associations have been set

DisplayName Set Category Associations

IsValidForForm True

IsValidForRead True

LogicalName setcategoryassociations

RequiredLevel None

Type Boolean

SetCategoryAssociations Options

VALUE LABEL

1 Completed

0 Mark as Complete

DefaultValue: False
stageid
PROPERTY VALUE

Description Contains the id of the stage where the entity is located.

DisplayName Stage Id

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the article is a draft or is published, archived,


or discarded. Draft articles aren't available externally and can
be edited. Published articles are available externally, based on
applicable permissions, but can't be edited. All metadata
changes are reflected in the published version. Archived and
discarded articles aren't available externally and can't be
edited.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Draft 1 Draft

1 Approved 5 Approved

2 Scheduled 6 Scheduled

3 Published 7 Published

4 Expired 10 Expired

5 Archived 12 Archived

6 Discarded 13 Discarded

StatusCode
PROPERTY VALUE

Description Select the article's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Proposed 0

2 Draft 0

3 Needs review 0

4 In review 0

5 Approved 1

6 Scheduled 2

7 Published 3

8 Needs review 3

9 Updating 3

10 Expired 4

11 Rejected 4

12 Archived 5

13 Discarded 6

14 Rejected 6

SubjectId
PROPERTY VALUE
PROPERTY VALUE

Description Choose the subject of the article to assist with article searches.
You can configure subjects under Business Management in the
Settings area.

DisplayName Subject

IsValidForForm True

IsValidForRead True

LogicalName subjectid

RequiredLevel None

Targets subject

Type Lookup

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Title
PROPERTY VALUE

Description Type a title for the article.

DisplayName Title

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 4000

RequiredLevel SystemRequired

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Exchange rate for the currency associated with the


KnowledgeArticle with respect to the base currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

traversedpath
PROPERTY VALUE

Description A comma separated list of string values representing the


unique identifiers of stages in a Business Process Flow Instance
in the order that they occur.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UpdateContent
PROPERTY VALUE

Description Update Content

DisplayName Update Content

IsValidForForm True

IsValidForRead True

LogicalName updatecontent

RequiredLevel None

Type Boolean

UpdateContent Options

VALUE LABEL

1 Content Updated

0 Mark When Completed

DefaultValue: False
UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
KnowledgeArticleViews
KnowledgeArticleViews_Date
KnowledgeArticleViews_State
LanguageLocaleIdLocaleId
LanguageLocaleIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParentArticleContentIdName
PreviousArticleContentIdName
primaryauthoridName
Rating
Rating_Count
Rating_Date
Rating_State
Rating_Sum
RootArticleIdName
SubjectIdDsc
SubjectIdName
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the


KnowledgeArticle with respect to the base currency.

DisplayName ExchangeRate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

KnowledgeArticleViews
PROPERTY VALUE

Description Shows the total number of article views.

DisplayName Knowledge Article Views

Format None

IsValidForForm True

IsValidForRead True

LogicalName knowledgearticleviews

MaxValue 2147483647

MinValue 0
PROPERTY VALUE

RequiredLevel None

Type Integer

KnowledgeArticleViews_Date
PROPERTY VALUE

DateTimeBehavior UserLocal

Description The date time for Knowledge Article View.

DisplayName Knowledge Article View(Last Updated Time)

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName knowledgearticleviews_date

RequiredLevel None

Type DateTime

KnowledgeArticleViews_State
PROPERTY VALUE

Description State of Knowledge Article View.

DisplayName Knowledge Article View(State)

Format None

IsValidForForm True

IsValidForRead True

LogicalName knowledgearticleviews_state

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

LanguageLocaleIdLocaleId
PROPERTY VALUE

Description

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName languagelocaleidlocaleid

MaxValue 2147483647

MinValue 1

RequiredLevel None

Type Integer

LanguageLocaleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName languagelocaleidname

MaxLength 500

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup
ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdName
PROPERTY VALUE

Description Name of the owner


PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ParentArticleContentIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentarticlecontentidname

MaxLength 500

RequiredLevel None

Type String

PreviousArticleContentIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName previousarticlecontentidname

MaxLength 100

RequiredLevel None

Type String

primaryauthoridName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName primaryauthoridname

MaxLength 100

RequiredLevel None

Type String

Rating
PROPERTY VALUE

Description Information which specifies how helpful the related record was.

DisplayName Rating

IsValidForForm True

IsValidForRead True

LogicalName rating

MaxValue 100000000000

MinValue -100000000000

Precision 2

RequiredLevel None

Type Decimal

Rating_Count
PROPERTY VALUE

Description Rating Count

DisplayName Rating(Count)

Format None

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName rating_count

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Rating_Date
PROPERTY VALUE

DateTimeBehavior UserLocal

Description The date time for Rating.

DisplayName Rating(Last Updated Time)

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName rating_date

RequiredLevel None

Type DateTime

Rating_State
PROPERTY VALUE

Description State of Rating

DisplayName Rating(State)

Format None

IsValidForForm True

IsValidForRead True

LogicalName rating_state

MaxValue 2147483647
PROPERTY VALUE

MinValue -2147483648

RequiredLevel None

Type Integer

Rating_Sum
PROPERTY VALUE

Description Total sum of Rating

DisplayName Rating(sum)

IsValidForForm True

IsValidForRead True

LogicalName rating_sum

MaxValue 1000000000

MinValue 0

Precision 2

RequiredLevel None

Type Decimal

RootArticleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName rootarticleidname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

SubjectIdDsc
PROPERTY VALUE

Description

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName subjectiddsc

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

SubjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName subjectidname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
knowledgearticle_connections1
knowledgearticle_connections2
knowledgearticle_DuplicateMatchingRecord
knowledgearticle_DuplicateBaseRecord
knowledgearticle_SharePointDocumentLocations
knowledgearticle_QueueItems
knowledgearticle_Annotations
knowledgearticle_Teams
knowledgearticle_AsyncOperations
knowledgearticle_ProcessSession
knowledgearticle_BulkDeleteFailures
knowledgearticle_PrincipalObjectAttributeAccess
KnowledgeArticle_SocialActivities
KnowledgeArticle_Letters
KnowledgeArticle_Tasks
knowledgearticle_views
KnowledgeArticle_Faxes
lk_expiredprocess_knowledgearticleid
KnowledgeArticle_Appointments
lk_newprocess_knowledgearticleid
knowledgearticle_rootarticle_id
lk_translationprocess_knowledgearticleid
KnowledgeArticle_RecurringAppointmentMasters
KnowledgeArticle_ActivityPointers
KnowledgeArticle_SyncErrors
KnowledgeArticle_Feedback
knowledgearticle_previousarticle_contentid
knowledgearticle_PostFollows
knowledgearticle_activity_parties
knowledgearticle_parentarticle_contentid
KnowledgeArticle_Phonecalls
KnowledgeArticle_Emails
knowledgearticle_connections1
Same as connection entity knowledgearticle_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_connections2
Same as connection entity knowledgearticle_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_connections2

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_DuplicateMatchingRecord
Same as duplicaterecord entity knowledgearticle_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_DuplicateBaseRecord
Same as duplicaterecord entity knowledgearticle_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_SharePointDocumentLocations
Same as sharepointdocumentlocation entity knowledgearticle_SharePointDocumentLocations Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity sharepointdocumentlocation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_SharePointDocumentLocations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

knowledgearticle_QueueItems
Same as queueitem entity knowledgearticle_QueueItems Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_QueueItems

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_Annotations
Same as annotation entity knowledgearticle_Annotations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_Annotations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

knowledgearticle_Teams
Same as team entity knowledgearticle_Teams Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity team

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_Teams

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

knowledgearticle_AsyncOperations
Same as asyncoperation entity knowledgearticle_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_AsyncOperations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_ProcessSession
Same as processsession entity knowledgearticle_ProcessSession Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_ProcessSession

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_BulkDeleteFailures
Same as bulkdeletefailure entity knowledgearticle_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_BulkDeleteFailures
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_PrincipalObjectAttributeAccess
Same as principalobjectattributeaccess entity knowledgearticle_PrincipalObjectAttributeAccess Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_PrincipalObjectAttributeAccess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeArticle_SocialActivities
Same as socialactivity entity KnowledgeArticle_SocialActivities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName KnowledgeArticle_SocialActivities

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KnowledgeArticle_Letters
Same as letter entity KnowledgeArticle_Letters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticle_Letters

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KnowledgeArticle_Tasks
Same as task entity KnowledgeArticle_Tasks Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName KnowledgeArticle_Tasks

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

knowledgearticle_views
Same as knowledgearticleviews entity knowledgearticle_views Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticleviews

ReferencingAttribute knowledgearticleid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_views

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 10

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeArticle_Faxes
Same as fax entity KnowledgeArticle_Faxes Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName KnowledgeArticle_Faxes

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

lk_expiredprocess_knowledgearticleid
Same as expiredprocess entity lk_expiredprocess_knowledgearticleid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity expiredprocess

ReferencingAttribute knowledgearticleid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_expiredprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeArticle_Appointments
Same as appointment entity KnowledgeArticle_Appointments Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName KnowledgeArticle_Appointments

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

lk_newprocess_knowledgearticleid
Same as newprocess entity lk_newprocess_knowledgearticleid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity newprocess

ReferencingAttribute knowledgearticleid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_newprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_rootarticle_id
Same as knowledgearticle entity knowledgearticle_rootarticle_id Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticle

ReferencingAttribute rootarticleid

IsHierarchical True

IsCustomizable True
PROPERTY VALUE

ReferencedEntityNavigationPropertyName knowledgearticle_rootarticle_id

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_translationprocess_knowledgearticleid
Same as translationprocess entity lk_translationprocess_knowledgearticleid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity translationprocess

ReferencingAttribute knowledgearticleid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_translationprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeArticle_RecurringAppointmentMasters
Same as recurringappointmentmaster entity KnowledgeArticle_RecurringAppointmentMasters Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticle_RecurringAppointmentMasters

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KnowledgeArticle_ActivityPointers
Same as activitypointer entity KnowledgeArticle_ActivityPointers Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName KnowledgeArticle_ActivityPointers

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 10

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeArticle_SyncErrors
Same as syncerror entity KnowledgeArticle_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticle_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KnowledgeArticle_Feedback
Same as feedback entity KnowledgeArticle_Feedback Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity feedback

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticle_Feedback

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 150

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_previousarticle_contentid
Same as knowledgearticle entity knowledgearticle_previousarticle_contentid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticle

ReferencingAttribute previousarticlecontentid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_previousarticle_contentid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_PostFollows
Same as postfollow entity knowledgearticle_PostFollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName knowledgearticle_PostFollows

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_activity_parties
Same as activityparty entity knowledgearticle_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute partyid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName knowledgearticle_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

knowledgearticle_parentarticle_contentid
Same as knowledgearticle entity knowledgearticle_parentarticle_contentid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticle

ReferencingAttribute parentarticlecontentid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName knowledgearticle_parentarticle_contentid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeArticle_Phonecalls
Same as phonecall entity KnowledgeArticle_Phonecalls Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticle_Phonecalls

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

KnowledgeArticle_Emails
Same as email entity KnowledgeArticle_Emails Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticle_Emails

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_knowledgearticle_createdby
lk_knowledgearticle_createdonbehalfby
lk_knowledgearticle_modifiedby
lk_knowledgearticle_modifiedonbehalfby
user_knowledgearticle
team_knowledgearticle
business_unit_knowledgearticle
processstage_knowledgearticle
knowledgearticle_languagelocaleid
knowledgearticle_primaryauthorid
knowledgearticle_parentarticle_contentid
knowledgearticle_previousarticle_contentid
subject_knowledgearticles
knowledgearticle_rootarticle_id
TransactionCurrency_knowledgearticle
lk_knowledgearticle_createdby
See systemuser Entity lk_knowledgearticle_createdby One-To-Many relationship.
lk_knowledgearticle_createdonbehalfby
See systemuser Entity lk_knowledgearticle_createdonbehalfby One-To-Many relationship.
lk_knowledgearticle_modifiedby
See systemuser Entity lk_knowledgearticle_modifiedby One-To-Many relationship.
lk_knowledgearticle_modifiedonbehalfby
See systemuser Entity lk_knowledgearticle_modifiedonbehalfby One-To-Many relationship.
user_knowledgearticle
See systemuser Entity user_knowledgearticle One-To-Many relationship.
team_knowledgearticle
See team Entity team_knowledgearticle One-To-Many relationship.
business_unit_knowledgearticle
See businessunit Entity business_unit_knowledgearticle One-To-Many relationship.
processstage_knowledgearticle
See processstage Entity processstage_knowledgearticle One-To-Many relationship.
knowledgearticle_languagelocaleid
See languagelocale Entity knowledgearticle_languagelocaleid One-To-Many relationship.
knowledgearticle_primaryauthorid
See systemuser Entity knowledgearticle_primaryauthorid One-To-Many relationship.
knowledgearticle_parentarticle_contentid
See knowledgearticle Entity knowledgearticle_parentarticle_contentid One-To-Many relationship.
knowledgearticle_previousarticle_contentid
See knowledgearticle Entity knowledgearticle_previousarticle_contentid One-To-Many relationship.
subject_knowledgearticles
See subject Entity subject_knowledgearticles One-To-Many relationship.
knowledgearticle_rootarticle_id
See knowledgearticle Entity knowledgearticle_rootarticle_id One-To-Many relationship.
TransactionCurrency_knowledgearticle
See transactioncurrency Entity TransactionCurrency_knowledgearticle One-To-Many relationship.

Many-To-Many Relationships
Relationship details provided where the KnowledgeArticle entity is the first entity in the relationship. Listed by
SchemaName.
knowledgearticle_category
IntersectEntityName: knowledgearticlescategories
Entity 1

PROPERTY VALUE

IntersectAttribute knowledgearticleid

IsCustomizable False

LogicalName knowledgearticle

NavigationPropertyName knowledgearticle_category

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 10000

Entity 2

PROPERTY VALUE

LogicalName category

IntersectAttribute categoryid

NavigationPropertyName knowledgearticle_category

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

See also
About the Entity Reference
Web API Reference
knowledgearticle EntityType
KnowledgeArticleViews Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

No of times an article is viewed per day

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/knowledgearticleview Create
s
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/knowledgearticleview Delete
s(knowledgearticleviewsid)
See Delete

IncrementKnowledgeArticleViewCount IncrementKnowledgeArticleViewCount IncrementKnowledgeArticleViewCountR


Function equest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/knowledgearticleview Retrieve
s(knowledgearticleviewsid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/knowledgearticleview RetrieveMultiple
s
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/knowledgearticleview Update
s(knowledgearticleviewsid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName KnowledgeArticleViews

DisplayCollectionName Knowledge Article Views

DisplayName Knowledge Article Views

EntitySetName knowledgearticleviews

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName knowledgearticleviews

LogicalName knowledgearticleviews

OwnershipType None

PrimaryIdAttribute knowledgearticleviewsid

PrimaryNameAttribute knowledgearticleidname

SchemaName KnowledgeArticleViews

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ImportSequenceNumber
KnowledgeArticleId
KnowledgeArticleView
KnowledgeArticleViewsId
Location
OverriddenCreatedOn
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
ViewDate
ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647
PROPERTY VALUE

MinValue -2147483648

RequiredLevel None

Type Integer

KnowledgeArticleId
PROPERTY VALUE

Description Choose the Knowledge Article.

DisplayName Knowledge Article

IsValidForForm True

IsValidForRead True

LogicalName knowledgearticleid

RequiredLevel SystemRequired

Targets knowledgearticle

Type Lookup

KnowledgeArticleView
PROPERTY VALUE

Description Number of Knowledge Article Views visited per day

DisplayName Knowledge Article View

Format None

IsValidForForm True

IsValidForRead True

LogicalName knowledgearticleview

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

KnowledgeArticleViewsId
PROPERTY VALUE

Description Unique identifier of the Knowledge Article Views

DisplayName View

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName knowledgearticleviewsid

RequiredLevel SystemRequired

Type Uniqueidentifier

Location
PROPERTY VALUE

Description Shows where the knowledge was used

DisplayName Location

IsValidForForm True

IsValidForRead True

LogicalName location

RequiredLevel None

Type Picklist

Location Options

VALUE LABEL

1 Internal

2 Web

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On


PROPERTY VALUE

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

statecode
PROPERTY VALUE

Description Status of the Knowledge Article Views

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

statecode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

statuscode
PROPERTY VALUE

Description Reason for the status of the Knowledge Article Views

DisplayName Status Reason

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

statuscode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

ViewDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Information about the Day

DisplayName Day

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName viewdate

RequiredLevel None

Type DateTime

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
KnowledgeArticleIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
TransactionCurrencyId
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

KnowledgeArticleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName knowledgearticleidname

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the knowledge
article views.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
PROPERTY VALUE

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the


knowledge article views.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel ApplicationRequired

Type Uniqueidentifier

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the knowledge article
views.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel ApplicationRequired

Type Uniqueidentifier

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808
PROPERTY VALUE

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
KnowledgeArticleViews_SyncErrors
knowledgearticleview_principalobjectattributeaccess
KnowledgeArticleViews_SyncErrors
Same as syncerror entity KnowledgeArticleViews_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeArticleViews_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

knowledgearticleview_principalobjectattributeaccess
Same as principalobjectattributeaccess entity knowledgearticleview_principalobjectattributeaccess Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName knowledgearticleviews_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_knowledgearticleviews_modifiedonbehalfby
knowledgearticle_views
lk_knowledgearticleviews_createdby
lk_knowledgearticleviews_modifiedby
lk_knowledgearticleviews_createdonbehalfby
transactioncurrency_knowledgearticleviews
lk_knowledgearticleviews_modifiedonbehalfby
See systemuser Entity lk_knowledgearticleviews_modifiedonbehalfby One-To-Many relationship.
knowledgearticle_views
See knowledgearticle Entity knowledgearticle_views One-To-Many relationship.
lk_knowledgearticleviews_createdby
See systemuser Entity lk_knowledgearticleviews_createdby One-To-Many relationship.
lk_knowledgearticleviews_modifiedby
See systemuser Entity lk_knowledgearticleviews_modifiedby One-To-Many relationship.
lk_knowledgearticleviews_createdonbehalfby
See systemuser Entity lk_knowledgearticleviews_createdonbehalfby One-To-Many relationship.
transactioncurrency_knowledgearticleviews
See transactioncurrency Entity transactioncurrency_knowledgearticleviews One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
knowledgearticleviews EntityType
KnowledgeBaseRecord Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

Metadata of knowledge base (KB ) articles associated with Microsoft Dynamics 365 entities.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/knowledgebaserecor
ds(knowledgebaserecordid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/knowledgebaserecor Create
ds
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/knowledgebaserecor Delete
ds(knowledgebaserecordid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/knowledgebaserecor Retrieve
ds(knowledgebaserecordid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/knowledgebaserecor RetrieveMultiple
ds
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/knowledgebaserecor
ds(knowledgebaserecordid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/knowledgebaserecor Update
ds(knowledgebaserecordid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName KnowledgeBaseRecords

DisplayCollectionName Knowledge Base Records

DisplayName Knowledge Base Record

EntitySetName knowledgebaserecords

IsBPFEntity False

LogicalCollectionName knowledgebaserecords

LogicalName knowledgebaserecord

OwnershipType OrganizationOwned

PrimaryIdAttribute knowledgebaserecordid

PrimaryNameAttribute title

SchemaName KnowledgeBaseRecord

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
KnowledgeBaseRecordId
PrivateUrl
PublicUrl
TimeZoneRuleVersionNumber
Title
TransactionCurrencyId
UniqueId
KnowledgeBaseRecordId
PROPERTY VALUE

Description This field will be used to store the Unique ID of the associated
Knowledge Base records
PROPERTY VALUE

DisplayName ID

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName knowledgebaserecordid

RequiredLevel SystemRequired

Type Uniqueidentifier

PrivateUrl
PROPERTY VALUE

Description Shows the internal Parature service desk URL of the


knowledge base records.

DisplayName Private URL

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName privateurl

MaxLength 256

RequiredLevel ApplicationRequired

Type String

PublicUrl
PROPERTY VALUE

Description Shows the public Parature portal URL of the knowledge base
records.

DisplayName Public URL

FormatName Url

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName publicurl

MaxLength 256

RequiredLevel None

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Title
PROPERTY VALUE

Description Shows the title of the knowledge base (KB) Record.

DisplayName KB Record Title

FormatName TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName title

MaxLength 4000

RequiredLevel ApplicationRequired

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Exchange rate for the currency associated with the Knowledge
Base Record with respect to the base currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UniqueId
PROPERTY VALUE

Description Shows the unique ID of the linked knowledge base (KB) article.

DisplayName Unique ID

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName uniqueid

MaxLength 256
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.


PROPERTY VALUE

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the knowledge
base record with respect to the base currency.

DisplayName ExchangeRate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10
PROPERTY VALUE

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String
TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
KnowledgeBaseRecord_ActivityPointers
KnowledgeBaseRecord_Appointments
KnowledgeBaseRecord_Emails
KnowledgeBaseRecord_Faxes
KnowledgeBaseRecord_Letters
KnowledgeBaseRecord_PhoneCalls
KnowledgeBaseRecord_Tasks
KnowledgeBaseRecord_RecurringAppointmentMasters
KnowledgeBaseRecord_SocialActivities
KnowledgeBaseRecord_connections1
KnowledgeBaseRecord_connections2
KnowledgeBaseRecord_DuplicateMatchingRecord
KnowledgeBaseRecord_DuplicateBaseRecord
KnowledgeBaseRecord_Annotations
KnowledgeBaseRecord_AsyncOperations
KnowledgeBaseRecord_ProcessSession
KnowledgeBaseRecord_BulkDeleteFailures
KnowledgeBaseRecord_PrincipalObjectAttributeAccess
KnowledgeBaseRecord_SyncErrors
KnowledgeBaseRecord_ActivityPointers
Same as activitypointer entity KnowledgeBaseRecord_ActivityPointers Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_ActivityPointers

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_Appointments
Same as appointment entity KnowledgeBaseRecord_Appointments Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_Appointments

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_Emails
Same as email entity KnowledgeBaseRecord_Emails Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_Emails

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_Faxes
Same as fax entity KnowledgeBaseRecord_Faxes Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_Faxes

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_Letters
Same as letter entity KnowledgeBaseRecord_Letters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_Letters

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_PhoneCalls
Same as phonecall entity KnowledgeBaseRecord_PhoneCalls Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute regardingobjectid
PROPERTY VALUE

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_PhoneCalls

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_Tasks
Same as task entity KnowledgeBaseRecord_Tasks Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_Tasks

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_RecurringAppointmentMasters
Same as recurringappointmentmaster entity KnowledgeBaseRecord_RecurringAppointmentMasters Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_RecurringAppointmentMasters

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_SocialActivities
Same as socialactivity entity KnowledgeBaseRecord_SocialActivities Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity socialactivity

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_SocialActivities

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_connections1
Same as connection entity KnowledgeBaseRecord_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection
PROPERTY VALUE

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_connections2
Same as connection entity KnowledgeBaseRecord_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_connections2

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_DuplicateMatchingRecord
Same as duplicaterecord entity KnowledgeBaseRecord_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord
PROPERTY VALUE

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_DuplicateBaseRecord
Same as duplicaterecord entity KnowledgeBaseRecord_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_Annotations
Same as annotation entity KnowledgeBaseRecord_Annotations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation
PROPERTY VALUE

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_Annotations

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_AsyncOperations
Same as asyncoperation entity KnowledgeBaseRecord_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_AsyncOperations

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_ProcessSession
Same as processsession entity KnowledgeBaseRecord_ProcessSession Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_ProcessSession

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_BulkDeleteFailures
Same as bulkdeletefailure entity KnowledgeBaseRecord_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_PrincipalObjectAttributeAccess
Same as principalobjectattributeaccess entity KnowledgeBaseRecord_PrincipalObjectAttributeAccess Many-To-
One relationship.
PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_PrincipalObjectAttributeAccess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

KnowledgeBaseRecord_SyncErrors
Same as syncerror entity KnowledgeBaseRecord_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName KnowledgeBaseRecord_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_KnowledgeBaseRecord_createdby
lk_KnowledgeBaseRecord_createdonbehalfby
lk_KnowledgeBaseRecord_modifiedby
lk_KnowledgeBaseRecord_modifiedonbehalfby
organization_KnowledgeBaseRecord
TransactionCurrency_KnowledgeBaseRecord
lk_KnowledgeBaseRecord_createdby
See systemuser Entity lk_KnowledgeBaseRecord_createdby One-To-Many relationship.
lk_KnowledgeBaseRecord_createdonbehalfby
See systemuser Entity lk_KnowledgeBaseRecord_createdonbehalfby One-To-Many relationship.
lk_KnowledgeBaseRecord_modifiedby
See systemuser Entity lk_KnowledgeBaseRecord_modifiedby One-To-Many relationship.
lk_KnowledgeBaseRecord_modifiedonbehalfby
See systemuser Entity lk_KnowledgeBaseRecord_modifiedonbehalfby One-To-Many relationship.
organization_KnowledgeBaseRecord
See organization Entity organization_KnowledgeBaseRecord One-To-Many relationship.
TransactionCurrency_KnowledgeBaseRecord
See transactioncurrency Entity TransactionCurrency_KnowledgeBaseRecord One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
knowledgebaserecord EntityType
LanguageLocale Entity Reference
4/3/2019 • 2 minutes to read • Edit Online

Language

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/languagelocale(lang Retrieve
uagelocaleid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/languagelocale RetrieveMultiple
See Query Data

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/languagelocale(lang
uagelocaleid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/languagelocale(lang Update
uagelocaleid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName LanguageLocales

DisplayCollectionName Languages

DisplayName Language

EntitySetName languagelocale

IsBPFEntity False

LogicalCollectionName languagelocales

LogicalName languagelocale

OwnershipType OrganizationOwned

PrimaryIdAttribute languagelocaleid
PROPERTY VALUE

PrimaryNameAttribute name

SchemaName LanguageLocale

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
LanguageLocaleId
LocaleId
statecode
statuscode
LanguageLocaleId
PROPERTY VALUE

Description LanguageLocaleId

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName languagelocaleid

RequiredLevel SystemRequired

Type Uniqueidentifier

LocaleId
PROPERTY VALUE

Description Locale ID

DisplayName Locale ID

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName localeid
PROPERTY VALUE

MaxValue 2147483647

MinValue 1

RequiredLevel SystemRequired

Type Integer

statecode
PROPERTY VALUE

Description State Code

DisplayName State Code

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

statecode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

statuscode
PROPERTY VALUE

Description Language Status Code

DisplayName Language Status Code

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None
PROPERTY VALUE

Type Status

statuscode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
Code
Language
Name
OrganizationId
Region
VersionNumber
Code
PROPERTY VALUE

Description Code

DisplayName Code

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName code

MaxLength 100

RequiredLevel SystemRequired

Type String

Language
PROPERTY VALUE

Description Language
PROPERTY VALUE

DisplayName Language

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName language

MaxLength 100

RequiredLevel SystemRequired

Type String

Name
PROPERTY VALUE

Description Name

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


language locale.

DisplayName Organization
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

Region
PROPERTY VALUE

Description Region

DisplayName Region

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName region

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807
PROPERTY VALUE

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
knowledgearticle_languagelocaleid
Same as knowledgearticle entity knowledgearticle_languagelocaleid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticle

ReferencingAttribute languagelocaleid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName knowledgearticle_languagelocaleid

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
languagelocale_organization
See organization Entity languagelocale_organization One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
languagelocale EntityType
Letter Entity Reference
4/3/2019 • 14 minutes to read • Edit Online

Activity that tracks the delivery of a letter. The activity can contain the electronic copy of the letter.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/letters(activityid)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/letters CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/letters(activityid) Delete
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/letters(activityid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/letters RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/letters(activityid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/letters(activityid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Letters

DisplayCollectionName Letters

DisplayName Letter

EntitySetName letters

IsBPFEntity False

LogicalCollectionName letters

LogicalName letter

OwnershipType UserOwned

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

SchemaName Letter

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
Address
bcc
Category
cc
Description
DirectionCode
from
ImportSequenceNumber
IsBilled
IsWorkflowCreated
LastOnHoldTime
OverriddenCreatedOn
OwnerId
OwnerIdType
PriorityCode
ProcessId
RegardingObjectId
RegardingObjectTypeCode
ScheduledEnd
ScheduledStart
SLAId
SortDate
StageId
StateCode
StatusCode
Subcategory
Subject
SubscriptionId
TimeZoneRuleVersionNumber
to
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
ActivityId
PROPERTY VALUE

Description Unique identifier of the letter activity.

DisplayName Letter

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
PROPERTY VALUE

Description Type the number of minutes spent creating and sending the
letter. The duration is used in reporting.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName actualdurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ActualEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual end date and time of the letter. By default, it
displays the date and time when the activity was completed or
canceled, but can be edited to capture the actual time to
create and send the letter.

DisplayName Actual End

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

ActualStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual start date and time for the letter. By default, it
displays the date and time when the activity was created, but
can be edited to capture the actual time to create and send
the letter.

DisplayName Actual Start

Format DateOnly

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime

Address
PROPERTY VALUE

Description Type the complete recipient address for the letter to ensure
timely delivery.

DisplayName Address

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address

MaxLength 200

RequiredLevel None

Type String

bcc
PROPERTY VALUE

Description Enter the recipients that are included in the letter distribution,
but are not displayed to other recipients.

DisplayName Bcc

IsValidForForm True

IsValidForRead True

LogicalName bcc

RequiredLevel None

Targets account,contact,systemuser
PROPERTY VALUE

Type PartyList

Category
PROPERTY VALUE

Description Type a category to identify the letter type, such as sales offer
or past due notice, to tie the letter to a business group or
function.

DisplayName Category

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName category

MaxLength 250

RequiredLevel None

Type String

cc
PROPERTY VALUE

Description Enter the recipients that should be copied on the letter.

DisplayName Cc

IsValidForForm True

IsValidForRead True

LogicalName cc

RequiredLevel None

Targets account,contact,systemuser

Type PartyList

Description
PROPERTY VALUE

Description Type the letter body or additional information to describe the


letter, such as the primary message or the products and
services described.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

DirectionCode
PROPERTY VALUE

Description Select the direction of the letter as incoming or outbound.

DisplayName Direction

IsValidForForm True

IsValidForRead True

LogicalName directioncode

RequiredLevel None

Type Boolean

DirectionCode Options

VALUE LABEL

1 Outgoing

0 Incoming

DefaultValue: True
from
PROPERTY VALUE

Description Enter the account, contact, lead, or user who sent the letter.

DisplayName From

IsValidForForm True

IsValidForRead True

LogicalName from

RequiredLevel None

Targets account,contact,systemuser

Type PartyList

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsBilled
PROPERTY VALUE

Description Shows whether the letter activity was billed as part of


resolving a case.

DisplayName Is Billed
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName isbilled

RequiredLevel None

Type Boolean

IsBilled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsWorkflowCreated
PROPERTY VALUE

Description Shows whether the letter activity was created by a workflow


rule.

DisplayName Is Workflow Created

IsValidForForm False

IsValidForRead True

LogicalName isworkflowcreated

RequiredLevel None

Type Boolean

IsWorkflowCreated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PriorityCode
PROPERTY VALUE

Description Select the priority so that preferred customers or critical issues


are handled quickly.

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode

RequiredLevel None

Type Picklist

PriorityCode Options
VALUE LABEL

0 Low

1 Normal

2 High

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Choose the record that the letter relates to.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,contact,knowledgearticle,knowledgebaserecord

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time.

DisplayName Due Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime

ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time.

DisplayName Start Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None
PROPERTY VALUE

Type DateTime

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the Letter record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SortDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time by which the activities are sorted.

DisplayName Sort Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

StageId
PROPERTY VALUE

Description Shows the ID of the stage.


PROPERTY VALUE

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the letter is open, completed, or canceled.


Completed and canceled letters are read-only and can't be
edited.

DisplayName Activity Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 2 Open

1 Completed 4 Completed

2 Canceled 5 Canceled

StatusCode
PROPERTY VALUE

Description Select the letter's status.

DisplayName Status Reason


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Open 0

2 Draft 0

3 Received 1

4 Sent 1

5 Canceled 2

Subcategory
PROPERTY VALUE

Description Type a subcategory to identify the letter type and relate the
activity to a specific product, sales region, business group, or
other function.

DisplayName Sub-Category

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subcategory

MaxLength 250

RequiredLevel None

Type String

Subject
PROPERTY VALUE

Description Type a short description about the objective or primary topic


of the letter.

DisplayName Subject

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subject

MaxLength 200

RequiredLevel ApplicationRequired

Type String

SubscriptionId
PROPERTY VALUE

Description For internal use only.

DisplayName Subscription

IsValidForForm False

IsValidForRead False

IsValidForUpdate False

LogicalName subscriptionid

RequiredLevel None

Type Uniqueidentifier

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

to
PROPERTY VALUE

Description Enter the account, contact, lead, or user recipients for the
letter.

DisplayName To

IsValidForForm True

IsValidForRead True

LogicalName to

RequiredLevel None

Targets account,contact,systemuser

Type PartyList

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None
PROPERTY VALUE

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivityTypeCode
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
IsRegularActivity
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RegardingObjectIdName
RegardingObjectIdYomiName
ScheduledDurationMinutes
SLAInvokedId
SLAInvokedIdName
SLAName
TransactionCurrencyIdName
VersionNumber
ActivityTypeCode
PROPERTY VALUE

Description Shows the type of activity.

DisplayName Activity Type

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode
PROPERTY VALUE

RequiredLevel SystemRequired

Type EntityName

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

IsRegularActivity
PROPERTY VALUE

Description Shows whether the activity is a regular activity type or event


type.

DisplayName Is Regular Activity

IsValidForForm False

IsValidForRead True

LogicalName isregularactivity

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

IsRegularActivity Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime
ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the letter
activity.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None
PROPERTY VALUE

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team that owns the letter activity.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user that owns the letter activity.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

ScheduledDurationMinutes
PROPERTY VALUE

Description Scheduled duration of the letter activity, specified in minutes.

DisplayName Scheduled Duration

Format Duration

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName scheduleddurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this Letter. This field is for
internal use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the letter.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
Letter_DuplicateBaseRecord
Letter_BulkDeleteFailures
letter_connections1
slakpiinstance_letter
Letter_AsyncOperations
Letter_Annotation
letter_actioncard
letter_principalobjectattributeaccess
Letter_ProcessSessions
Letter_DuplicateMatchingRecord
Letter_SyncErrors
letter_activity_parties
Letter_QueueItem
letter_connections2
Letter_DuplicateBaseRecord
Same as duplicaterecord entity Letter_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord
PROPERTY VALUE

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Letter_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_BulkDeleteFailures
Same as bulkdeletefailure entity Letter_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Letter_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

letter_connections1
Same as connection entity letter_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection
PROPERTY VALUE

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName letter_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_letter
Same as slakpiinstance entity slakpiinstance_letter Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName slakpiinstance_letter

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_AsyncOperations
Same as asyncoperation entity Letter_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Letter_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_Annotation
Same as annotation entity Letter_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Letter_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

letter_actioncard
Same as actioncard entity letter_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName letter_actioncard

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

letter_principalobjectattributeaccess
Same as principalobjectattributeaccess entity letter_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName letter_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_ProcessSessions
Same as processsession entity Letter_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Letter_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_DuplicateMatchingRecord
Same as duplicaterecord entity Letter_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Letter_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_SyncErrors
Same as syncerror entity Letter_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Letter_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

letter_activity_parties
Same as activityparty entity letter_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName letter_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Letter_QueueItem
Same as queueitem entity Letter_QueueItem Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem
PROPERTY VALUE

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Letter_QueueItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

letter_connections2
Same as connection entity letter_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName letter_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
KnowledgeBaseRecord_Letters
Contact_Letters
sla_letter
activity_pointer_letter
team_letter
processstage_letters
user_letter
KnowledgeArticle_Letters
lk_letter_createdby
TransactionCurrency_Letter
lk_letter_modifiedby
Account_Letters
lk_letter_createdonbehalfby
business_unit_letter_activities
manualsla_letter
lk_letter_modifiedonbehalfby
KnowledgeBaseRecord_Letters
See knowledgebaserecord Entity KnowledgeBaseRecord_Letters One-To-Many relationship.
Contact_Letters
See contact Entity Contact_Letters One-To-Many relationship.
sla_letter
See sla Entity sla_letter One-To-Many relationship.
activity_pointer_letter
See activitypointer Entity activity_pointer_letter One-To-Many relationship.
team_letter
See team Entity team_letter One-To-Many relationship.
processstage_letters
See processstage Entity processstage_letters One-To-Many relationship.
user_letter
See systemuser Entity user_letter One-To-Many relationship.
KnowledgeArticle_Letters
See knowledgearticle Entity KnowledgeArticle_Letters One-To-Many relationship.
lk_letter_createdby
See systemuser Entity lk_letter_createdby One-To-Many relationship.
TransactionCurrency_Letter
See transactioncurrency Entity TransactionCurrency_Letter One-To-Many relationship.
lk_letter_modifiedby
See systemuser Entity lk_letter_modifiedby One-To-Many relationship.
Account_Letters
See account Entity Account_Letters One-To-Many relationship.
lk_letter_createdonbehalfby
See systemuser Entity lk_letter_createdonbehalfby One-To-Many relationship.
business_unit_letter_activities
See businessunit Entity business_unit_letter_activities One-To-Many relationship.
manualsla_letter
See sla Entity manualsla_letter One-To-Many relationship.
lk_letter_modifiedonbehalfby
See systemuser Entity lk_letter_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
letter EntityType
LookUpMapping Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

In a data map, maps a lookup attribute in a source file to Microsoft Dynamics 365.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/lookupmappings Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/lookupmappings(loo Delete
kupmappingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/lookupmappings(loo Retrieve
kupmappingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/lookupmappings RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName LookUpMappings

DisplayCollectionName Lookup Mappings

DisplayName Lookup Mapping

EntitySetName lookupmappings

IsBPFEntity False

LogicalCollectionName lookupmappings

LogicalName lookupmapping

OwnershipType None

PrimaryIdAttribute lookupmappingid

PrimaryNameAttribute
PROPERTY VALUE

SchemaName LookUpMapping

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ColumnMappingId
IntroducedVersion
LookUpAttributeName
LookUpEntityName
LookUpMappingId
LookUpSourceCode
ProcessCode
StatusCode
TransformationParameterMappingId
ColumnMappingId
PROPERTY VALUE

Description Unique identifier of the column mapping with which this


lookup mapping is associated.

DisplayName Column Mapping Id

IsValidForForm True

IsValidForRead True

LogicalName columnmappingid

RequiredLevel None

Targets columnmapping

Type Lookup

IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

LookUpAttributeName
PROPERTY VALUE

Description Name of the field with which the lookup is associated.

DisplayName Lookup Field Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName lookupattributename

MaxLength 160

RequiredLevel ApplicationRequired

Type String

LookUpEntityName
PROPERTY VALUE

Description Name of the entity with which the lookup is associated.

DisplayName Lookup Entity Name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName lookupentityname

MaxLength 160

RequiredLevel ApplicationRequired

Type String

LookUpMappingId
PROPERTY VALUE

Description Unique identifier of the lookup mapping.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName lookupmappingid

RequiredLevel SystemRequired

Type Uniqueidentifier

LookUpSourceCode
PROPERTY VALUE

Description Lookup source code for lookup mapping.

DisplayName Lookup Source

IsValidForForm True

IsValidForRead True

LogicalName lookupsourcecode

RequiredLevel SystemRequired

Type Picklist

LookUpSourceCode Options
VALUE LABEL

0 Source

1 System

ProcessCode
PROPERTY VALUE

Description Information about whether the lookup mapping has to be


processed.

DisplayName Process Code

IsValidForForm True

IsValidForRead True

LogicalName processcode

RequiredLevel SystemRequired

Type Picklist

ProcessCode Options

VALUE LABEL

1 Process

2 Ignore

3 Internal

StatusCode
PROPERTY VALUE

Description Reason for the status of the lookup mapping.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options
VALUE LABEL STATE

0 Active 0

TransformationParameterMappingId
PROPERTY VALUE

Description Unique identifier of the transformation parameter mapping


with which this lookup mapping is associated.

DisplayName Transformation Parameter Mapping Id

IsValidForForm True

IsValidForRead True

LogicalName transformationparametermappingid

RequiredLevel None

Targets transformationparametermapping

Type Lookup

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ColumnMappingIdName
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
LookUpMappingIdUnique
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
SolutionId
StateCode
SupportingSolutionId
ColumnMappingIdName
PROPERTY VALUE

Description Name of the column mapping.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName columnmappingidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted
VALUE LABEL

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the lookup mapping.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the lookup mapping was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


lookupmapping.

DisplayName Created By (Delegate)

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
LookUpMappingIdUnique
PROPERTY VALUE

Description Unique identifier of the LookUp Mapping.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName lookupmappingidunique

RequiredLevel SystemRequired

Type Uniqueidentifier
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the lookup
mapping.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the lookup mapping was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
lookupmapping.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Status of the lookup mapping.

DisplayName Status
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_lookupmapping_createdby
lk_lookupmapping_createdonbehalfby
LookUpMapping_ColumnMapping
lk_lookupmapping_modifiedby
LookUpMapping_TransformationParameterMapping
lk_lookupmapping_modifiedonbehalfby
lk_lookupmapping_createdby
See systemuser Entity lk_lookupmapping_createdby One-To-Many relationship.
lk_lookupmapping_createdonbehalfby
See systemuser Entity lk_lookupmapping_createdonbehalfby One-To-Many relationship.
LookUpMapping_ColumnMapping
See columnmapping Entity LookUpMapping_ColumnMapping One-To-Many relationship.
lk_lookupmapping_modifiedby
See systemuser Entity lk_lookupmapping_modifiedby One-To-Many relationship.
LookUpMapping_TransformationParameterMapping
See transformationparametermapping Entity LookUpMapping_TransformationParameterMapping One-To-Many
relationship.
lk_lookupmapping_modifiedonbehalfby
See systemuser Entity lk_lookupmapping_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
lookupmapping EntityType
Mailbox Entity Reference
4/3/2019 • 21 minutes to read • Edit Online

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/mailboxes(mailboxid
)
Update ownerid property.

Create POST [org URI]/api/data/v9.0/mailboxes CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/mailboxes(mailboxid Delete
)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/mailboxes(mailboxid Retrieve
)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/mailboxes RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/mailboxes(mailboxid
)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/mailboxes(mailboxid Update
)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Mailboxes

DisplayCollectionName Mailboxes

DisplayName Mailbox

EntitySetName mailboxes

IsBPFEntity False

LogicalCollectionName mailboxes

LogicalName mailbox

OwnershipType UserOwned

PrimaryIdAttribute mailboxid

PrimaryNameAttribute name

SchemaName Mailbox

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ACTDeliveryMethod
ACTStatus
AllowEmailConnectorToUseCredentials
EmailAddress
EmailRouterAccessApproval
EmailServerProfile
EnabledForACT
EnabledForIncomingEmail
EnabledForOutgoingEmail
EntityImage
EWSURL
ExchangeContactsImportStatus
ExchangeSyncStateXml
FolderHierarchy
IncomingEmailDeliveryMethod
IncomingEmailStatus
IsACTSyncOrgFlagSet
IsEmailAddressApprovedByO365Admin
ItemsFailedForLastSync
ItemsProcessedForLastSync
LastAutoDiscoveredOn
LastSuccessfulSyncCompletedOn
LastSyncError
LastSyncErrorCode
LastSyncErrorCount
LastSyncErrorMachineName
LastSyncErrorOccurredOn
MailboxId
MailboxProcessingContext
Name
OfficeAppsDeploymentScheduled
OfficeAppsDeploymentStatus
OrgMarkedAsPrimaryForExchangeSync
OutgoingEmailDeliveryMethod
OutgoingEmailStatus
OwnerId
OwnerIdType
Password
PostponeMailboxProcessingUntil
PostponeOfficeAppsDeploymentUntil
PostponeSendingUntil
PostponeTestEmailConfigurationUntil
ProcessAndDeleteEmails
ProcessEmailReceivedAfter
StateCode
StatusCode
TestEmailConfigurationRetryCount
TestEmailConfigurationScheduled
TestMailboxAccessCompletedOn
TimeZoneRuleVersionNumber
UndeliverableFolder
Username
UTCConversionTimeZoneCode
VerboseLoggingEnabled
ACTDeliveryMethod
PROPERTY VALUE

Description Choose the delivery method for the mailbox for appointments,
contacts, and tasks.

DisplayName Appointments, Contacts, and Tasks

IsValidForForm True

IsValidForRead True

LogicalName actdeliverymethod
PROPERTY VALUE

RequiredLevel None

Type Picklist

ACTDeliveryMethod Options

VALUE LABEL

0 Microsoft Dynamics 365 for Outlook

1 Server-Side Synchronization

2 None

ACTStatus
PROPERTY VALUE

Description Status of the Appointments, Contacts, and Tasks.

DisplayName Appointments, Contacts, and Tasks Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName actstatus

RequiredLevel None

Type Picklist

ACTStatus Options

VALUE LABEL

0 Not Run

1 Success

2 Failure

AllowEmailConnectorToUseCredentials
PROPERTY VALUE

Description Choose whether to allow the email connector to use


credentials.

DisplayName Allow to Use Credentials for Email Processing


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName allowemailconnectortousecredentials

RequiredLevel None

Type Boolean

AllowEmailConnectorToUseCredentials Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EmailAddress
PROPERTY VALUE

Description Type the email address of the mailbox.

DisplayName Email Address

FormatName Email

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName emailaddress

MaxLength 100

RequiredLevel None

Type String

EmailRouterAccessApproval
PROPERTY VALUE

Description Shows the status of the email address.

DisplayName Email Address Status


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName emailrouteraccessapproval

RequiredLevel SystemRequired

Type Picklist

EmailRouterAccessApproval Options

VALUE LABEL

0 Empty

1 Approved

2 Pending Approval

3 Rejected

EmailServerProfile
PROPERTY VALUE

Description Select the email server profile of the mailbox.

DisplayName Server Profile

IsValidForForm True

IsValidForRead True

LogicalName emailserverprofile

RequiredLevel None

Targets emailserverprofile

Type Lookup

EnabledForACT
PROPERTY VALUE

Description Indicates whether the mailbox is enabled for Appointments,


Contacts, and Tasks.

DisplayName Enabled For Appointments, Contacts, And Tasks


PROPERTY VALUE

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName enabledforact

RequiredLevel SystemRequired

Type Boolean

EnabledForACT Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EnabledForIncomingEmail
PROPERTY VALUE

Description Choose whether the mailbox is enabled for receiving email.

DisplayName Enabled For Incoming Email

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName enabledforincomingemail

RequiredLevel SystemRequired

Type Boolean

EnabledForIncomingEmail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EnabledForOutgoingEmail
PROPERTY VALUE

Description Choose whether the mailbox is enabled for sending email.

DisplayName Enabled For Outgoing Email

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName enabledforoutgoingemail

RequiredLevel SystemRequired

Type Boolean

EnabledForOutgoingEmail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EntityImage
PROPERTY VALUE

Description The default image for the entity.

DisplayName Entity Image

IsPrimaryImage False

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

EWSURL
PROPERTY VALUE

Description Exchange web services endpoint URL for the mailbox.

DisplayName Exchange Web Services URL

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName ewsurl

MaxLength 2084

RequiredLevel None

Type String

ExchangeContactsImportStatus
PROPERTY VALUE

Description Indicates the exchange contacts import status for a mailbox


record.

DisplayName Exchange Contacts Import Status

IsValidForForm False

IsValidForRead True

LogicalName exchangecontactsimportstatus

RequiredLevel None

Type Picklist

ExchangeContactsImportStatus Options

VALUE LABEL

0 NotImported

1 Imported

2 ImportFailed

ExchangeSyncStateXml
PROPERTY VALUE

Description Contains the exchange synchronization state in XML format.

DisplayName Exchange Sync State

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangesyncstatexml

MaxLength 1073741823

RequiredLevel None

Type Memo

FolderHierarchy
PROPERTY VALUE

Description Holds the hierarchy of folders under inbox in XML format.

DisplayName Folder Hierarchy

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName folderhierarchy

MaxLength 1048576

RequiredLevel None

Type Memo

IncomingEmailDeliveryMethod
PROPERTY VALUE

Description Select how incoming email will be delivered to the mailbox.

DisplayName Incoming Email


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName incomingemaildeliverymethod

RequiredLevel None

Type Picklist

IncomingEmailDeliveryMethod Options

VALUE LABEL

0 None

1 Microsoft Dynamics 365 for Outlook

2 Server-Side Synchronization or Email Router

3 Forward Mailbox

IncomingEmailStatus
PROPERTY VALUE

Description Select the status that will be assigned to incoming email


messages.

DisplayName Incoming Email Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName incomingemailstatus

RequiredLevel None

Type Picklist

IncomingEmailStatus Options

VALUE LABEL

0 Not Run

1 Success

2 Failure
IsACTSyncOrgFlagSet
PROPERTY VALUE

Description Set the current organization as the synchronization


organization.

DisplayName Set Current Organization as Synchronization Organization

IsValidForForm False

IsValidForRead True

LogicalName isactsyncorgflagset

RequiredLevel None

Type Boolean

IsACTSyncOrgFlagSet Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsEmailAddressApprovedByO365Admin
PROPERTY VALUE

Description Shows the status of approval of the email address by O365


Admin.

DisplayName Email Address O365 Admin Approval Status

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName isemailaddressapprovedbyo365admin

RequiredLevel SystemRequired

Type Boolean

IsEmailAddressApprovedByO365Admin Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
ItemsFailedForLastSync
PROPERTY VALUE

Description For internal use only.

DisplayName Items Failed For Last Sync

Format None

IsValidForForm False

IsValidForRead True

LogicalName itemsfailedforlastsync

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ItemsProcessedForLastSync
PROPERTY VALUE

Description For internal use only.

DisplayName Items Processed For Last Sync

Format None

IsValidForForm False

IsValidForRead True

LogicalName itemsprocessedforlastsync

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer
LastAutoDiscoveredOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the Exchange web services
URL was last discovered using the AutoDiscover service.

DisplayName Last Auto Discovered On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName lastautodiscoveredon

RequiredLevel None

Type DateTime

LastSuccessfulSyncCompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Last Successful Sync Time

DisplayName Last Successful Sync Time

Format DateAndTime

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName lastsuccessfulsynccompletedon

RequiredLevel None

Type DateTime

LastSyncError
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Last Sync Error Stack

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerror

MaxLength 2048

RequiredLevel None

Type String

LastSyncErrorCode
PROPERTY VALUE

Description For internal use only.

DisplayName Last Sync Error Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerrorcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

LastSyncErrorCount
PROPERTY VALUE

Description For internal use only

DisplayName Last Sync Error Continuous Count

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerrorcount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

LastSyncErrorMachineName
PROPERTY VALUE

Description For internal use only.

DisplayName Last Sync Error Machine Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName lastsyncerrormachinename

MaxLength 320

RequiredLevel None

Type String

LastSyncErrorOccurredOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Last Sync Error Time

Format DateAndTime

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName lastsyncerroroccurredon

RequiredLevel None

Type DateTime

MailboxId
PROPERTY VALUE

Description Unique identifier of the mailbox.

DisplayName Mailbox

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mailboxid

RequiredLevel SystemRequired

Type Uniqueidentifier

MailboxProcessingContext
PROPERTY VALUE

Description For internal use only.

DisplayName Processing Context of the Mailbox

Format None

IsValidForForm False

IsValidForRead True

LogicalName mailboxprocessingcontext

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer
Name
PROPERTY VALUE

Description Type the name of the mailbox.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 200

RequiredLevel SystemRequired

Type String

OfficeAppsDeploymentScheduled
PROPERTY VALUE

Description Indicates if the office apps deployment has been scheduled for
a mailbox record.

DisplayName Office Apps Deployment Scheduled

IsValidForForm False

IsValidForRead True

LogicalName officeappsdeploymentscheduled

RequiredLevel None

Type Boolean

OfficeAppsDeploymentScheduled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
OfficeAppsDeploymentStatus
PROPERTY VALUE

Description Indicates the office apps deployment type for a mailbox


record.

DisplayName Office Apps Deployment Type

IsValidForForm True

IsValidForRead True

LogicalName officeappsdeploymentstatus

RequiredLevel None

Type Picklist

OfficeAppsDeploymentStatus Options

VALUE LABEL

0 NotInstalled

1 Installed

2 InstallFailed

3 UninstallFailed

4 UpgradeRequired

OrgMarkedAsPrimaryForExchangeSync
PROPERTY VALUE

Description Indicates if the crm org is to be marked as primary syncing


org for the mailbox record.

DisplayName Crm Org Marked as Primary Org for Exchange Mailbox

IsValidForForm False

IsValidForRead True

LogicalName orgmarkedasprimaryforexchangesync

RequiredLevel None

Type Boolean

OrgMarkedAsPrimaryForExchangeSync Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
OutgoingEmailDeliveryMethod
PROPERTY VALUE

Description Select how outgoing email will be sent from the mailbox.

DisplayName Outgoing Email

IsValidForForm True

IsValidForRead True

LogicalName outgoingemaildeliverymethod

RequiredLevel None

Type Picklist

OutgoingEmailDeliveryMethod Options

VALUE LABEL

0 None

1 Microsoft Dynamics 365 for Outlook

2 Server-Side Synchronization or Email Router

OutgoingEmailStatus
PROPERTY VALUE

Description Select the status of outgoing email messages.

DisplayName Outgoing Email Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName outgoingemailstatus

RequiredLevel None
PROPERTY VALUE

Type Picklist

OutgoingEmailStatus Options

VALUE LABEL

0 Not Run

1 Success

2 Failure

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName
Password
PROPERTY VALUE

Description Type the password for the mailbox.

DisplayName Password

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead False

LogicalName password

MaxLength 200

RequiredLevel None

Type String

PostponeMailboxProcessingUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when processing will begin on this
mailbox.

DisplayName Postpone Mailbox Processing Until

Format DateOnly

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName postponemailboxprocessinguntil

RequiredLevel SystemRequired

Type DateTime

PostponeOfficeAppsDeploymentUntil
PROPERTY VALUE
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the next outlook mail app
install will be run for a mailbox record.

DisplayName Postpone Outlook Mail App Install Until

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName postponeofficeappsdeploymentuntil

RequiredLevel None

Type DateTime

PostponeSendingUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the mailbox can start sending
emails.

DisplayName Postpone Sending Until

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName postponesendinguntil

RequiredLevel SystemRequired

Type DateTime

PostponeTestEmailConfigurationUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the next email configuration
test will be run for a mailbox record.
PROPERTY VALUE

DisplayName Postpone Test Email Configuration Until

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName postponetestemailconfigurationuntil

RequiredLevel None

Type DateTime

ProcessAndDeleteEmails
PROPERTY VALUE

Description Select whether to delete emails from the mailbox after


processing.

DisplayName Delete Emails after Processing

IsValidForForm True

IsValidForRead True

LogicalName processanddeleteemails

RequiredLevel None

Type Boolean

ProcessAndDeleteEmails Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ProcessEmailReceivedAfter
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time to start processing email received by
the mailbox.
PROPERTY VALUE

DisplayName Process Email Received After

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName processemailreceivedafter

RequiredLevel None

Type DateTime

StateCode
PROPERTY VALUE

Description Shows whether the mailbox is active or inactive.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the mailbox's status.

DisplayName Status Reason

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TestEmailConfigurationRetryCount
PROPERTY VALUE

Description Shows the number of times an email configuration test has


been performed.

DisplayName Test Email Configuration Retry Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName testemailconfigurationretrycount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

TestEmailConfigurationScheduled
PROPERTY VALUE

Description Indicates if the email configuration test has been scheduled for
a mailbox record.

DisplayName Test Email Configuration Scheduled

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName testemailconfigurationscheduled

RequiredLevel None

Type Boolean

TestEmailConfigurationScheduled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
TestMailboxAccessCompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the last email configuration test was
completed for a mailbox record.

DisplayName Mailbox Test Completed On

Format DateAndTime

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName testmailboxaccesscompletedon

RequiredLevel None

Type DateTime

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UndeliverableFolder
PROPERTY VALUE

Description Shows the ID of the Undeliverable folder in the mailbox


managed by Microsoft Exchange.

DisplayName Undeliverable Folder

FormatName Text

IsLocalizable False

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName undeliverablefolder

MaxLength 256

RequiredLevel None

Type String

Username
PROPERTY VALUE

Description Type a user name used for mailbox authentication.

DisplayName User Name

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName username

MaxLength 200

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

VerboseLoggingEnabled
PROPERTY VALUE

Description Indicates if verbose tracing needs to be enabled for this


mailbox.

DisplayName Verbose Logging

Format None

IsValidForCreate False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName verboseloggingenabled

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AverageTotalDuration
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EmailServerProfileName
EntityImage_Timestamp
EntityImage_URL
EntityImageId
ExchangeContactsImportCompletedOn
ForcedUnlockCount
HostId
IsExchangeContactsImportScheduled
IsForwardMailbox
IsPasswordSet
IsServiceAccount
LastActiveOn
LastDuration
LastMailboxForcedUnlockOccurredOn
LastMessageId
LastSyncStartedOn
MailboxStatus
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
NoACTCount
NoEmailCount
OfficeAppsDeploymentCompleteOn
OfficeAppsDeploymentError
OrganizationId
OrganizationIdName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningBusinessUnitName
OwningTeam
OwningUser
ProcessedTimes
ProcessingLastAttemptedOn
ProcessingStateCode
ReceivingPostponedUntil
ReceivingPostponedUntilForACT
RegardingObjectId
RegardingObjectIdName
RegardingObjectTypeCode
TransientFailureCount
VersionNumber
AverageTotalDuration
PROPERTY VALUE

Description Mailbox Total Duration in Average

DisplayName Monitor Total Performance

Format None

IsValidForForm False

IsValidForRead True

LogicalName averagetotalduration

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 160

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 160

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 160

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 160

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

EmailServerProfileName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName emailserverprofilename

MaxLength 100

RequiredLevel None

Type String

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid

RequiredLevel None

Type Uniqueidentifier

ExchangeContactsImportCompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the exchange contacts import was last
completed for a mailbox record.

DisplayName Exchange Contacts Import Completed On

Format DateAndTime
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName exchangecontactsimportcompletedon

RequiredLevel None

Type DateTime

ForcedUnlockCount
PROPERTY VALUE

Description For internal use only

DisplayName Count of the number of times a mailbox gets forced unlocked

Format None

IsValidForForm False

IsValidForRead True

LogicalName forcedunlockcount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

HostId
PROPERTY VALUE

Description Unique identifier of the async host that is processing this


mailbox.

DisplayName Host

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName hostid

MaxLength 256

RequiredLevel None

Type String

IsExchangeContactsImportScheduled
PROPERTY VALUE

Description Is Exchange Contacts Import Scheduled.

DisplayName Is Exchange Contacts Import Scheduled.

IsValidForForm False

IsValidForRead True

LogicalName isexchangecontactsimportscheduled

RequiredLevel SystemRequired

Type Boolean

IsExchangeContactsImportScheduled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsForwardMailbox
PROPERTY VALUE

Description Select whether the mailbox is a forward mailbox.

DisplayName Is Forward Mailbox

IsValidForForm True

IsValidForRead True

LogicalName isforwardmailbox

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

IsForwardMailbox Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsPasswordSet
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ispasswordset

RequiredLevel None

Type Boolean

IsPasswordSet Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsServiceAccount
PROPERTY VALUE

Description Select whether the mailbox corresponds to one for the service
account.

DisplayName Is Service Account

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName isserviceaccount

RequiredLevel SystemRequired

Type Boolean

IsServiceAccount Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastActiveOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Last Active On

Format DateAndTime

IsValidForForm False

IsValidForRead False

LogicalName lastactiveon

RequiredLevel SystemRequired

Type DateTime

LastDuration
PROPERTY VALUE

Description Last Duration for the mailbox

DisplayName Monitor last duration Performance

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName lastduration

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

LastMailboxForcedUnlockOccurredOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Last Date Time when a mailbox got forced unlocked

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName lastmailboxforcedunlockoccurredon

RequiredLevel None

Type DateTime

LastMessageId
PROPERTY VALUE

Description Unique identifier of the last message.

DisplayName Last Message ID

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName lastmessageid

MaxLength 320
PROPERTY VALUE

RequiredLevel None

Type String

LastSyncStartedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Last Sync Start Time

DisplayName Last Sync Start Time

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName lastsyncstartedon

RequiredLevel None

Type DateTime

MailboxStatus
PROPERTY VALUE

Description Last Sync Status for Outgoing, Incoming and ACT as a whole.

DisplayName Mailbox Status

IsValidForForm True

IsValidForRead True

LogicalName mailboxstatus

RequiredLevel None

Type Picklist

MailboxStatus Options

VALUE LABEL

0 Not Run

1 Success
VALUE LABEL

2 Failure

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 160

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 160

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 160

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame
PROPERTY VALUE

MaxLength 160

RequiredLevel SystemRequired

Type String

NoACTCount
PROPERTY VALUE

Description For internal use only.

DisplayName Zero appointment, contact, task count for mailbox

Format None

IsValidForForm False

IsValidForRead True

LogicalName noactcount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

NoEmailCount
PROPERTY VALUE

Description For internal use only.

DisplayName Zero email count for mailbox

Format None

IsValidForForm False

IsValidForRead True

LogicalName noemailcount

MaxValue 2147483647

MinValue 0

RequiredLevel None
PROPERTY VALUE

Type Integer

OfficeAppsDeploymentCompleteOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the last office apps deployment was
completed for a mailbox record.

DisplayName Office Apps Deployment Completed On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName officeappsdeploymentcompleteon

RequiredLevel None

Type DateTime

OfficeAppsDeploymentError
PROPERTY VALUE

Description The Office Apps deployment error.

DisplayName Office Apps Deployment Error

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName officeappsdeploymenterror

MaxLength 2048

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


record.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 160

RequiredLevel SystemRequired

Type String

OwnerIdName
PROPERTY VALUE

Description Name of the owner

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 160

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 160

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Select the business unit that owns the record.

DisplayName Owning Business Unit

IsValidForForm True

IsValidForRead True

LogicalName owningbusinessunit
PROPERTY VALUE

RequiredLevel None

Targets businessunit

Type Lookup

OwningBusinessUnitName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunitname

MaxLength 160

RequiredLevel None

Type String

OwningTeam
PROPERTY VALUE

Description Unique identifier for the team that owns the record.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ProcessedTimes
PROPERTY VALUE

Description The number of times mailbox has processed

DisplayName Monitor Performance

Format None

IsValidForForm False

IsValidForRead True

LogicalName processedtimes

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

ProcessingLastAttemptedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the processing of the mailbox was last
attempted.

DisplayName Date Processing Last Attempted


PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName processinglastattemptedon

RequiredLevel None

Type DateTime

ProcessingStateCode
PROPERTY VALUE

Description Information that indicates whether email will be processed for


this mailbox

DisplayName Mailbox Processing State

Format None

IsValidForForm False

IsValidForRead True

LogicalName processingstatecode

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

ReceivingPostponedUntil
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Postpone receiving emails for the mailbox until the specified
data and time.

Format DateOnly

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName receivingpostponeduntil

RequiredLevel None

Type DateTime

ReceivingPostponedUntilForACT
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Postpone processing Appointments, Contacts, and Tasks for


the mailbox until the specified data and time.

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName receivingpostponeduntilforact

RequiredLevel None

Type DateTime

RegardingObjectId
PROPERTY VALUE

Description Choose the user associated to the mailbox.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets queue,systemuser

Type Lookup
RegardingObjectIdName
PROPERTY VALUE

Description Name for User associated with Mailbox.

DisplayName Regarding Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 200

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description Object Type of the entity associated with the mailbox.

DisplayName Regarding Object Type Code

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

TransientFailureCount
PROPERTY VALUE

Description Concatenation of transient failure counts of all mailbox


operations.

DisplayName Transient Failure Count

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName transientfailurecount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

VersionNumber
PROPERTY VALUE

Description Version number of the mailbox.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
systemuser_defaultmailbox_mailbox
queue_defaultmailbox_mailbox
activitypointer_sendermailboxid_mailbox
Mailbox_MailboxTrackingFolder
Mailbox_Annotation
Mailbox_SyncErrors
mailbox_processsessions
mailbox_asyncoperations
tracelog_Mailbox
email_sendermailboxid_mailbox
systemuser_defaultmailbox_mailbox
Same as systemuser entity systemuser_defaultmailbox_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute defaultmailbox

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName systemuser_defaultmailbox_mailbox

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

queue_defaultmailbox_mailbox
Same as queue entity queue_defaultmailbox_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queue

ReferencingAttribute defaultmailbox

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName queue_defaultmailbox_mailbox

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

activitypointer_sendermailboxid_mailbox
Same as activitypointer entity activitypointer_sendermailboxid_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activitypointer

ReferencingAttribute sendermailboxid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName activitypointer_sendermailboxid_mailbox

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Mailbox_MailboxTrackingFolder
Same as mailboxtrackingfolder entity Mailbox_MailboxTrackingFolder Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute mailboxid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Mailbox_MailboxTrackingFolder

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Mailbox_Annotation
Same as annotation entity Mailbox_Annotation Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Mailbox_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Mailbox_SyncErrors
Same as syncerror entity Mailbox_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Mailbox_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

mailbox_processsessions
Same as processsession entity mailbox_processsessions Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName mailbox_processsessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

mailbox_asyncoperations
Same as asyncoperation entity mailbox_asyncoperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName mailbox_asyncoperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

tracelog_Mailbox
Same as tracelog entity tracelog_Mailbox Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity tracelog

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName tracelog_Mailbox

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

email_sendermailboxid_mailbox
Same as email entity email_sendermailboxid_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute sendermailboxid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName email_sendermailboxid_mailbox

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_mailbox_createdby
lk_mailbox_createdonbehalfby
lk_mailbox_modifiedby
lk_mailbox_modifiedonbehalfby
user_mailbox
team_mailbox
business_unit_mailbox
mailbox_regarding_systemuser
emailserverprofile_mailbox
organization_mailbox
mailbox_regarding_queue
lk_mailbox_createdby
See systemuser Entity lk_mailbox_createdby One-To-Many relationship.
lk_mailbox_createdonbehalfby
See systemuser Entity lk_mailbox_createdonbehalfby One-To-Many relationship.
lk_mailbox_modifiedby
See systemuser Entity lk_mailbox_modifiedby One-To-Many relationship.
lk_mailbox_modifiedonbehalfby
See systemuser Entity lk_mailbox_modifiedonbehalfby One-To-Many relationship.
user_mailbox
See systemuser Entity user_mailbox One-To-Many relationship.
team_mailbox
See team Entity team_mailbox One-To-Many relationship.
business_unit_mailbox
See businessunit Entity business_unit_mailbox One-To-Many relationship.
mailbox_regarding_systemuser
See systemuser Entity mailbox_regarding_systemuser One-To-Many relationship.
emailserverprofile_mailbox
See emailserverprofile Entity emailserverprofile_mailbox One-To-Many relationship.
organization_mailbox
See organization Entity organization_mailbox One-To-Many relationship.
mailbox_regarding_queue
See queue Entity mailbox_regarding_queue One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
mailbox EntityType
MailboxTrackingFolder Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Stores data about what folders for a mailbox are auto tracked

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/mailboxtrackingfolde Create
rs
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/mailboxtrackingfolde Delete
rs(mailboxtrackingfolderid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/mailboxtrackingfolde Retrieve
rs(mailboxtrackingfolderid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/mailboxtrackingfolde RetrieveMultiple
rs
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/mailboxtrackingfolde Update
rs(mailboxtrackingfolderid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName MailboxTrackingFolders

DisplayCollectionName Mailbox Auto Tracking Folders

DisplayName Mailbox Auto Tracking Folder

EntitySetName mailboxtrackingfolders

IsBPFEntity False

LogicalCollectionName mailboxtrackingfolders

LogicalName mailboxtrackingfolder
PROPERTY VALUE

OwnershipType UserOwned

PrimaryIdAttribute mailboxtrackingfolderid

PrimaryNameAttribute

SchemaName MailboxTrackingFolder

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ExchangeFolderId
ExchangeFolderName
FolderOnboardingStatus
MailboxId
OwnerId
OwnerIdType
RegardingObjectId
RegardingObjectIdName
RegardingObjectTypeCode
ExchangeFolderId
PROPERTY VALUE

Description Folder Id for a folder in Exchange

DisplayName Exchange Folder Id

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangefolderid

MaxLength 120

RequiredLevel None

Type String

ExchangeFolderName
PROPERTY VALUE

Description Exchange Folder Name

DisplayName Exchange Folder Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName exchangefoldername

MaxLength 256

RequiredLevel None

Type String

FolderOnboardingStatus
PROPERTY VALUE

Description Information to indicate whether the folder has been on


boarded for auto tracking

DisplayName Folder on boarding Status

Format None

IsValidForForm False

IsValidForRead True

LogicalName folderonboardingstatus

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MailboxId
PROPERTY VALUE

Description Mailbox id associated with this record.


PROPERTY VALUE

DisplayName MailboxId

IsValidForForm False

IsValidForRead True

LogicalName mailboxid

RequiredLevel SystemRequired

Targets mailbox

Type Lookup

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired
PROPERTY VALUE

Type EntityName

RegardingObjectId
PROPERTY VALUE

Description The regarding object such as Account, Contact, Lead etc. that
the folder relates to.

DisplayName Regarding Object Id

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,asyncoperation,contact,holidaywrapper,msdyn_connec
tor,territory

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description Regarding Object Name

DisplayName Regarding Object Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 400

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description Information that indicates the type of regarding object


associated with the folder

DisplayName Regarding Object Type Code

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
MailboxTrackingFolderId
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyyominame

MaxLength 160

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the entry was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 160

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 160

RequiredLevel SystemRequired

Type String

MailboxTrackingFolderId
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName mailboxtrackingfolderid

RequiredLevel SystemRequired

Type Uniqueidentifier

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 160

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the entry was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


record.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the folder
mapping.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None
PROPERTY VALUE

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the folder mapping.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets

Type Lookup

VersionNumber
PROPERTY VALUE

Description Version number of the mailbox tracking folder.

DisplayName Version number


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
territory_MailboxTrackingFolders
msdyn_connector_MailboxTrackingFolders
lk_mailboxtrackingfolder_modifiedby
lk_mailboxtrackingfolder_createdby
Account_MailboxTrackingFolder
team_mailboxtrackingfolder
Contact_MailboxTrackingFolder
lk_mailboxtrackingfolder_createdonbehalfby
lk_mailboxtrackingfolder_modifiedonbehalfby
Organization_MailboxTrackingFolder
Mailbox_MailboxTrackingFolder
businessunit_mailboxtrackingfolder
AsyncOperation_MailboxTrackingFolder
territory_MailboxTrackingFolders
Added by: Application Common Solution
See territory Entity territory_MailboxTrackingFolders One-To-Many relationship.
msdyn_connector_MailboxTrackingFolders
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_MailboxTrackingFolders One-To-Many relationship.
lk_mailboxtrackingfolder_modifiedby
See systemuser Entity lk_mailboxtrackingfolder_modifiedby One-To-Many relationship.
lk_mailboxtrackingfolder_createdby
See systemuser Entity lk_mailboxtrackingfolder_createdby One-To-Many relationship.
Account_MailboxTrackingFolder
See account Entity Account_MailboxTrackingFolder One-To-Many relationship.
team_mailboxtrackingfolder
See team Entity team_mailboxtrackingfolder One-To-Many relationship.
Contact_MailboxTrackingFolder
See contact Entity Contact_MailboxTrackingFolder One-To-Many relationship.
lk_mailboxtrackingfolder_createdonbehalfby
See systemuser Entity lk_mailboxtrackingfolder_createdonbehalfby One-To-Many relationship.
lk_mailboxtrackingfolder_modifiedonbehalfby
See systemuser Entity lk_mailboxtrackingfolder_modifiedonbehalfby One-To-Many relationship.
Organization_MailboxTrackingFolder
See organization Entity Organization_MailboxTrackingFolder One-To-Many relationship.
Mailbox_MailboxTrackingFolder
See mailbox Entity Mailbox_MailboxTrackingFolder One-To-Many relationship.
businessunit_mailboxtrackingfolder
See businessunit Entity businessunit_mailboxtrackingfolder One-To-Many relationship.
AsyncOperation_MailboxTrackingFolder
See asyncoperation Entity AsyncOperation_MailboxTrackingFolder One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
mailboxtrackingfolder EntityType
MailMergeTemplate Entity Reference
4/3/2019 • 9 minutes to read • Edit Online

Template for a mail merge document that contains the standard attributes of that document.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/mailmergetemplates(
mailmergetemplateid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/mailmergetemplates Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/mailmergetemplates( Delete
mailmergetemplateid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/mailmergetemplates( Retrieve
mailmergetemplateid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/mailmergetemplates RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/mailmergetemplates(
mailmergetemplateid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/mailmergetemplates( Update
mailmergetemplateid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName MailMergeTemplates

DisplayCollectionName Mail Merge Templates

DisplayName Mail Merge Template

EntitySetName mailmergetemplates

IsBPFEntity False

LogicalCollectionName mailmergetemplates

LogicalName mailmergetemplate

OwnershipType UserOwned

PrimaryIdAttribute mailmergetemplateid

PrimaryNameAttribute name

SchemaName MailMergeTemplate

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Body
DefaultFilter
Description
DocumentFormat
FileName
IntroducedVersion
IsCustomizable
IsPersonal
LanguageCode
MailMergeTemplateId
MailMergeType
MimeType
Name
OwnerId
OwnerIdType
StateCode
StatusCode
TemplateTypeCode
TimeZoneRuleVersionNumber
TransactionCurrencyId
UTCConversionTimeZoneCode
Body
PROPERTY VALUE

Description Body text of the mail merge template.

DisplayName Body

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName body

MaxLength 1073741823

RequiredLevel None

Type String

DefaultFilter
PROPERTY VALUE

Description Default data fields associated with the mail merge template.

DisplayName Default filter

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName defaultfilter

MaxLength 1073741823
PROPERTY VALUE

RequiredLevel None

Type String

Description
PROPERTY VALUE

Description Description of the mail merge template.

DisplayName Description

FormatName TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 256

RequiredLevel None

Type String

DocumentFormat
PROPERTY VALUE

Description Version of the Microsoft Office Word XML format used by the
template.

DisplayName Document Format

IsValidForForm True

IsValidForRead True

LogicalName documentformat

RequiredLevel None

Type Picklist

DocumentFormat Options
VALUE LABEL

1 2003

2 2007

FileName
PROPERTY VALUE

Description File name of the mail merge template.

DisplayName File Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName filename

MaxLength 255

RequiredLevel None

Type String

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None
PROPERTY VALUE

Type String

IsCustomizable
PROPERTY VALUE

Description Information that specifies whether this component can be


customized.

DisplayName Customizable

IsValidForForm False

IsValidForRead True

LogicalName iscustomizable

RequiredLevel SystemRequired

Type ManagedProperty

IsPersonal
PROPERTY VALUE

Description Information about whether the mail merge template is


personal or is available to all users.

DisplayName Viewable By

IsValidForForm False

IsValidForRead True

LogicalName ispersonal

RequiredLevel SystemRequired

Type Boolean

IsPersonal Options

VALUE LABEL

1 Individual

0 Organization

DefaultValue: True
LanguageCode
PROPERTY VALUE

Description Language of the mail merge template.

DisplayName Language

Format Language

IsValidForForm True

IsValidForRead True

LogicalName languagecode

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

MailMergeTemplateId
PROPERTY VALUE

Description Unique identifier of the mail merge template.

DisplayName Mail Merge Template

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mailmergetemplateid

RequiredLevel SystemRequired

Type Uniqueidentifier

MailMergeType
PROPERTY VALUE

Description Drop-down list for selecting the type of the mail merge.

DisplayName Mail Merge Type

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName mailmergetype

RequiredLevel None

Type Picklist

MailMergeType Options

VALUE LABEL

1 Letter

2 Email Message

3 Envelope

4 Labels

5 Quotes

6 Fax

MimeType
PROPERTY VALUE

Description MIME type of the mail merge template.

DisplayName Mime Type

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName mimetype

MaxLength 256

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the mail merge template.


PROPERTY VALUE

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 425

RequiredLevel SystemRequired

Type String

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the mail
merge template.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

StateCode
PROPERTY VALUE

Description Status of the mail merge template.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Reason for the status of the mail merge template.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status
StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TemplateTypeCode
PROPERTY VALUE

Description Type of mail merge template.

DisplayName Associated Entity

IsValidForForm True

IsValidForRead True

LogicalName templatetypecode

RequiredLevel SystemRequired

Type EntityName

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the


mailmergetemplate.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
FileSize
IsManaged
MailMergeTemplateIdUnique
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
ParameterXml
SolutionId
SupportingSolutionId
TransactionCurrencyIdName
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published
VALUE LABEL

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the mail merge
template.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String
CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the mail merge template was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


mailmergetemplate.
PROPERTY VALUE

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the


mailmergetemplate with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

FileSize
PROPERTY VALUE

Description File size of the mail merge template.

DisplayName File Size (Bytes)

Format None

IsValidForForm False

IsValidForRead True

LogicalName filesize
PROPERTY VALUE

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
MailMergeTemplateIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName mailmergetemplateidunique

RequiredLevel SystemRequired
PROPERTY VALUE

Type Uniqueidentifier

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the mail merge
template.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the mail merge template was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
mailmergetemplate.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the mail
merge template.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the mail merge
template.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the mail merge
template.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

ParameterXml
PROPERTY VALUE

Description Parameter Xml.

DisplayName Parameter Xml

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName parameterxml

MaxLength 1073741823

RequiredLevel None

Type String

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

TransactionCurrencyIdName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the mail merge template.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
MailMergeTemplate_SyncErrors
MailMergeTemplate_AsyncOperations
mailmergetemplate_principalobjectattributeaccess
MailMergeTemplate_ProcessSessions
MailMergeTemplate_SyncErrors
Same as syncerror entity MailMergeTemplate_SyncErrors Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName MailMergeTemplate_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

MailMergeTemplate_AsyncOperations
Same as asyncoperation entity MailMergeTemplate_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName MailMergeTemplate_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

mailmergetemplate_principalobjectattributeaccess
Same as principalobjectattributeaccess entity mailmergetemplate_principalobjectattributeaccess Many-To-One
relationship.
PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName mailmergetemplate_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MailMergeTemplate_ProcessSessions
Same as processsession entity MailMergeTemplate_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName MailMergeTemplate_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_mailmergetemplatebase_createdby
business_unit_mailmergetemplates
TransactionCurrency_MailMergeTemplate
lk_mailmergetemplatebase_modifiedby
lk_mailmergetemplate_modifiedonbehalfby
lk_mailmergetemplate_createdonbehalfby
lk_mailmergetemplatebase_createdby
See systemuser Entity lk_mailmergetemplatebase_createdby One-To-Many relationship.
business_unit_mailmergetemplates
See businessunit Entity business_unit_mailmergetemplates One-To-Many relationship.
TransactionCurrency_MailMergeTemplate
See transactioncurrency Entity TransactionCurrency_MailMergeTemplate One-To-Many relationship.
lk_mailmergetemplatebase_modifiedby
See systemuser Entity lk_mailmergetemplatebase_modifiedby One-To-Many relationship.
lk_mailmergetemplate_modifiedonbehalfby
See systemuser Entity lk_mailmergetemplate_modifiedonbehalfby One-To-Many relationship.
lk_mailmergetemplate_createdonbehalfby
See systemuser Entity lk_mailmergetemplate_createdonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
mailmergetemplate EntityType
Metric Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Type of measurement for a goal, such as money amount or count.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/metrics CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/metrics(metricid) Delete
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/metrics(metricid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/metrics RetrieveMultipleRequest or


See Query Data RetrieveMultiple

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/metrics(metricid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/metrics(metricid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Metrics

DisplayCollectionName Goal Metrics

DisplayName Goal Metric

EntitySetName metrics

IsBPFEntity False

LogicalCollectionName metrics

LogicalName metric
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute metricid

PrimaryNameAttribute name

SchemaName Metric

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AmountDataType
Description
ImportSequenceNumber
IsAmount
IsStretchTracked
MetricId
Name
OverriddenCreatedOn
StateCode
StatusCode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
AmountDataType
PROPERTY VALUE

Description Data type of the amount.

DisplayName Amount Data Type

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName amountdatatype

RequiredLevel None

Type Picklist

AmountDataType Options
VALUE LABEL

0 Money

1 Decimal

2 Integer

Description
PROPERTY VALUE

Description Description of the goal metric.

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648
PROPERTY VALUE

RequiredLevel None

Type Integer

IsAmount
PROPERTY VALUE

Description Information that indicates whether the metric type is Count or


Amount.

DisplayName Metric Type

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName isamount

RequiredLevel ApplicationRequired

Type Boolean

IsAmount Options

VALUE LABEL

1 Amount

0 Count

DefaultValue: True
IsStretchTracked
PROPERTY VALUE

Description Indicates whether the goal metric tracks stretch targets.

DisplayName Track Stretch Target

IsValidForForm True

IsValidForRead True

LogicalName isstretchtracked

RequiredLevel None

Type Boolean
IsStretchTracked Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MetricId
PROPERTY VALUE

Description Unique identifier of the goal metric.

DisplayName Goal Metric

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName metricid

RequiredLevel SystemRequired

Type Uniqueidentifier

Name
PROPERTY VALUE

Description Name of the goal metric.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel ApplicationRequired

Type String
OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

StateCode
PROPERTY VALUE

Description Status of the goal metric.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

1 Inactive 1 Inactive

StatusCode
PROPERTY VALUE

Description Reason for the status of the goal metric.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

0 Open 0

1 Closed 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.
PROPERTY VALUE

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None
PROPERTY VALUE

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization.

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the goal metric.

DisplayName Version Number

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
metric_goal
metric_rollupfield
metric_AsyncOperations
Metric_SyncErrors
metric_ProcessSessions
metric_goal
Same as goal entity metric_goal Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity goal

ReferencingAttribute metricid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName metric_goal

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

metric_rollupfield
Same as rollupfield entity metric_rollupfield Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity rollupfield

ReferencingAttribute metricid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName metric_rollupfield

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 120

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

metric_AsyncOperations
Same as asyncoperation entity metric_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName metric_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Metric_SyncErrors
Same as syncerror entity Metric_SyncErrors Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Metric_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

metric_ProcessSessions
Same as processsession entity metric_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName metric_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_metric_createdby
lk_metric_createdonbehalfby
lk_metric_modifiedby
lk_metric_modifiedonbehalfby
organization_metric
lk_metric_createdby
See systemuser Entity lk_metric_createdby One-To-Many relationship.
lk_metric_createdonbehalfby
See systemuser Entity lk_metric_createdonbehalfby One-To-Many relationship.
lk_metric_modifiedby
See systemuser Entity lk_metric_modifiedby One-To-Many relationship.
lk_metric_modifiedonbehalfby
See systemuser Entity lk_metric_modifiedonbehalfby One-To-Many relationship.
organization_metric
See organization Entity organization_metric One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
metric EntityType
MobileOfflineProfile Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Information to administer and manage the data available to mobile devices in offline mode.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

CloneMobileOfflineProfile CloneMobileOfflineProfile Action CloneMobileOfflineProfileRequest

Create POST [org CreateRequest or


URI]/api/data/v9.0/mobileofflineprofiles Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/mobileofflineprofiles( Delete
mobileofflineprofileid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/mobileofflineprofiles( Retrieve
mobileofflineprofileid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/mobileofflineprofiles RetrieveMultiple
See Query Data

RetrieveUnpublished RetrieveUnpublished Function RetrieveUnpublishedRequest

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/mobileofflineprofiles( Update
mobileofflineprofileid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName MobileOfflineProfiles

DisplayCollectionName Mobile Offline Profiles

DisplayName Mobile Offline Profile

EntitySetName mobileofflineprofiles
PROPERTY VALUE

IsBPFEntity False

LogicalCollectionName mobileofflineprofiles

LogicalName mobileofflineprofile

OwnershipType OrganizationOwned

PrimaryIdAttribute mobileofflineprofileid

PrimaryNameAttribute name

SchemaName MobileOfflineProfile

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Description
IntroducedVersion
MobileOfflineProfileId
Name
ProcessId
StageId
TraversedPath
Description
PROPERTY VALUE

Description Enter a description of the mobile offline profile.

DisplayName Description

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo
IntroducedVersion
PROPERTY VALUE

Description Version in which the Mobile offline Profile is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

MobileOfflineProfileId
PROPERTY VALUE

Description Unique identifier of the mobile offline profile.

DisplayName Mobile Offline Profile

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mobileofflineprofileid

RequiredLevel SystemRequired

Type Uniqueidentifier

Name
PROPERTY VALUE

Description Enter the name of the mobile offline profile.

DisplayName Name
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 255

RequiredLevel SystemRequired

Type String

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier
TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
IsValidated
MobileOfflineProfileIdUnique
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
PublishedOn
SelectedEntityMetadata
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup
PROPERTY VALUE

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

IsManaged
PROPERTY VALUE

Description For internal use only.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
IsValidated
PROPERTY VALUE

Description Information about whether profile is validated or not

DisplayName Is Validated

IsValidForForm False

IsValidForRead True

LogicalName isvalidated

RequiredLevel SystemRequired

Type Boolean

IsValidated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MobileOfflineProfileIdUnique
PROPERTY VALUE

Description For Internal Use Only

DisplayName Unique Id

IsValidForForm False

IsValidForRead True

LogicalName mobileofflineprofileidunique
PROPERTY VALUE

RequiredLevel SystemRequired

Type Uniqueidentifier

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who updated the record on behalf of another user.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


Mobile Offline Profile.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PublishedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Displays the last published date time.

DisplayName Published On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName publishedon

RequiredLevel None

Type DateTime

SelectedEntityMetadata
PROPERTY VALUE

Description Internal Use Only


PROPERTY VALUE

DisplayName Internal Use Only

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName selectedentitymetadata

MaxLength 1073741823

RequiredLevel None

Type Memo

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the Mobile Offline Profile.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
DefaultMobileOfflineProfile_Organization
MobileOfflineProfile_MobileOfflineProfileItem
MobileOfflineProfile_SystemUser
DefaultMobileOfflineProfile_Organization
Same as organization entity DefaultMobileOfflineProfile_Organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity organization

ReferencingAttribute defaultmobileofflineprofileid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName DefaultMobileOfflineProfile_Organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MobileOfflineProfile_MobileOfflineProfileItem
Same as mobileofflineprofileitem entity MobileOfflineProfile_MobileOfflineProfileItem Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mobileofflineprofileitem

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName MobileOfflineProfile_MobileOfflineProfileItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MobileOfflineProfile_SystemUser
Same as systemuser entity MobileOfflineProfile_SystemUser Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute mobileofflineprofileid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName MobileOfflineProfile_SystemUser

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_MobileOfflineProfile_modifiedby
MobileOfflineProfile_organization
lk_MobileOfflineProfile_createdby
lk_MobileOfflineProfile_createdonbehalfby
lk_MobileOfflineProfile_modifiedonbehalfby
lk_MobileOfflineProfile_modifiedby
See systemuser Entity lk_MobileOfflineProfile_modifiedby One-To-Many relationship.
MobileOfflineProfile_organization
See organization Entity MobileOfflineProfile_organization One-To-Many relationship.
lk_MobileOfflineProfile_createdby
See systemuser Entity lk_MobileOfflineProfile_createdby One-To-Many relationship.
lk_MobileOfflineProfile_createdonbehalfby
See systemuser Entity lk_MobileOfflineProfile_createdonbehalfby One-To-Many relationship.
lk_MobileOfflineProfile_modifiedonbehalfby
See systemuser Entity lk_MobileOfflineProfile_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
mobileofflineprofile EntityType
MobileOfflineProfileItem Entity Reference
4/3/2019 • 8 minutes to read • Edit Online

Information on entity availability to mobile devices in offline mode for a mobile offline profile item.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/mobileofflineprofileit Create
ems
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/mobileofflineprofileit Delete
ems(mobileofflineprofileitemid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/mobileofflineprofileit Retrieve
ems(mobileofflineprofileitemid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/mobileofflineprofileit RetrieveMultiple
ems
See Query Data

RetrieveUnpublished RetrieveUnpublished Function RetrieveUnpublishedRequest

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/mobileofflineprofileit Update
ems(mobileofflineprofileitemid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName MobileOfflineProfileItems

DisplayCollectionName Mobile Offline Profile Item

DisplayName Mobile Offline Profile Item

EntitySetName mobileofflineprofileitems

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName mobileofflineprofileitems

LogicalName mobileofflineprofileitem

OwnershipType OrganizationOwned

PrimaryIdAttribute mobileofflineprofileitemid

PrimaryNameAttribute name

SchemaName MobileOfflineProfileItem

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
CanBeFollowed
GetRelatedEntityRecords
IntroducedVersion
IsVisibleInGrid
MobileOfflineProfileItemId
Name
ProcessId
ProfileItemEntityFilter
ProfileItemRule
ProfileItemRuleName
RecordDistributionCriteria
RecordsOwnedByMe
RecordsOwnedByMyBusinessUnit
RecordsOwnedByMyTeam
RegardingObjectId
RegardingObjectIdName
RelationshipData
SelectedEntityTypeCode
StageId
TraversedPath
ViewQuery
CanBeFollowed
PROPERTY VALUE

Description Specifies whether records of this entity can be followed.

DisplayName Allow Entity to Follow Relationship

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName canbefollowed

RequiredLevel None

Type Boolean

CanBeFollowed Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
GetRelatedEntityRecords
PROPERTY VALUE

Description Specify whether records related to this entity will be made


available for offline access.

DisplayName Get Related Entities

IsValidForForm True

IsValidForRead True

LogicalName getrelatedentityrecords

RequiredLevel None

Type Boolean

GetRelatedEntityRecords Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IntroducedVersion
PROPERTY VALUE

Description Version in which the Mobile offline Profile Item is introduced.


PROPERTY VALUE

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

IsVisibleInGrid
PROPERTY VALUE

Description Information about whether the mobile offline profile item is


visible in the Profile Item subgrid.

DisplayName Is Visible In Grid

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName isvisibleingrid

RequiredLevel SystemRequired

Type Boolean

IsVisibleInGrid Options

VALUE LABEL

1 True

0 False

DefaultValue: True
MobileOfflineProfileItemId
PROPERTY VALUE

Description Unique identifier of the mobile offline profile item.

DisplayName Mobile Offline Profile Item

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mobileofflineprofileitemid

RequiredLevel SystemRequired

Type Uniqueidentifier

Name
PROPERTY VALUE

Description Enter the name of the mobile offline profile item.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName name

MaxLength 255

RequiredLevel SystemRequired

Type String

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

ProfileItemEntityFilter
PROPERTY VALUE

Description Profile item entity filter criteria

DisplayName Profile item entity filter

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName profileitementityfilter

MaxLength 1073741823

RequiredLevel None

Type Memo

ProfileItemRule
PROPERTY VALUE

Description Saved Query associated with the Mobile offline profile item
rule.

DisplayName View to sync data to device

IsValidForForm True

IsValidForRead True

LogicalName profileitemrule

RequiredLevel None

Targets savedquery
PROPERTY VALUE

Type Lookup

ProfileItemRuleName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName profileitemrulename

MaxLength 100

RequiredLevel None

Type String

RecordDistributionCriteria
PROPERTY VALUE

Description Specify data download filter for selected entity

DisplayName Data Download Filter

IsValidForForm True

IsValidForRead True

LogicalName recorddistributioncriteria

RequiredLevel SystemRequired

Type Picklist

RecordDistributionCriteria Options

VALUE LABEL

0 Download related data only


VALUE LABEL

1 All records

2 Other data filter

3 Custom data filter

RecordsOwnedByMe
PROPERTY VALUE

Description Download my records

DisplayName Download my records

IsValidForForm True

IsValidForRead True

LogicalName recordsownedbyme

RequiredLevel None

Type Boolean

RecordsOwnedByMe Options

VALUE LABEL

1 True

0 False

DefaultValue: False
RecordsOwnedByMyBusinessUnit
PROPERTY VALUE

Description Download my business unit's records

DisplayName Download my business unit's records

IsValidForForm True

IsValidForRead True

LogicalName recordsownedbymybusinessunit

RequiredLevel None

Type Boolean
RecordsOwnedByMyBusinessUnit Options

VALUE LABEL

1 True

0 False

DefaultValue: False
RecordsOwnedByMyTeam
PROPERTY VALUE

Description Download my team's records

DisplayName Download my team's records

IsValidForForm True

IsValidForRead True

LogicalName recordsownedbymyteam

RequiredLevel None

Type Boolean

RecordsOwnedByMyTeam Options

VALUE LABEL

1 True

0 False

DefaultValue: False
RegardingObjectId
PROPERTY VALUE

Description Items contained with a particular Profile.

DisplayName Regarding

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectid

RequiredLevel SystemRequired
PROPERTY VALUE

Targets mobileofflineprofile

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel SystemRequired

Type String

RelationshipData
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName relationshipdata

MaxLength 1073741823

RequiredLevel None
PROPERTY VALUE

Type Memo

SelectedEntityTypeCode
PROPERTY VALUE

Description Mobile offline enabled entity

DisplayName Entity

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName selectedentitytypecode

RequiredLevel SystemRequired

Type EntityName

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

ViewQuery
PROPERTY VALUE

Description Contains converted sql of the referenced view.

DisplayName View Query

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName viewquery

MaxLength 1073741823

RequiredLevel None

Type Memo

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
EntityObjectTypeCode
IsManaged
IsValidated
MobileOfflineProfileItemIdUnique
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
PublishedOn
SelectedEntityMetadata
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String
EntityObjectTypeCode
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

Format None

IsValidForForm False

IsValidForRead True

LogicalName entityobjecttypecode

MaxValue 1000000000

MinValue 0

RequiredLevel None

Type Integer

IsManaged
PROPERTY VALUE

Description For internal use only.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
IsValidated
PROPERTY VALUE

Description Information about whether profile item is validated or not

DisplayName Is Valid For Mobile Offline

IsValidForForm False

IsValidForRead True

LogicalName isvalidated

RequiredLevel SystemRequired

Type Boolean

IsValidated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MobileOfflineProfileItemIdUnique
PROPERTY VALUE

Description For Internal Use Only

DisplayName Unique Id

IsValidForForm False

IsValidForRead True

LogicalName mobileofflineprofileitemidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


Mobile Offline Profile Item.
PROPERTY VALUE

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PublishedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Displays the last published date time.

DisplayName Published On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName publishedon

RequiredLevel None

Type DateTime

SelectedEntityMetadata
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName selectedentitymetadata

MaxLength 1073741823

RequiredLevel None
PROPERTY VALUE

Type Memo

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the Mobile Offline Profile Item.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber
PROPERTY VALUE

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
MobileOfflineProfileItem_MobileOfflineProfileItemAssociation
Same as mobileofflineprofileitemassociation entity MobileOfflineProfileItem_MobileOfflineProfileItemAssociation
Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mobileofflineprofileitemassociation

ReferencingAttribute mobileofflineprofileitemid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName MobileOfflineProfileItem_MobileOfflineProfileItemAssociation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_mobileofflineprofileitem_createdonbehalfby
lk_mobileofflineprofileitem_savedquery
lk_mobileofflineprofileitem_modifiedby
MobileOfflineProfile_MobileOfflineProfileItem
lk_mobileofflineprofileitem_modifiedonbehalfby
MobileOfflineProfileItem_organization
lk_MobileOfflineProfileItem_createdby
lk_mobileofflineprofileitem_createdonbehalfby
See systemuser Entity lk_mobileofflineprofileitem_createdonbehalfby One-To-Many relationship.
lk_mobileofflineprofileitem_savedquery
See savedquery Entity lk_mobileofflineprofileitem_savedquery One-To-Many relationship.
lk_mobileofflineprofileitem_modifiedby
See systemuser Entity lk_mobileofflineprofileitem_modifiedby One-To-Many relationship.
MobileOfflineProfile_MobileOfflineProfileItem
See mobileofflineprofile Entity MobileOfflineProfile_MobileOfflineProfileItem One-To-Many relationship.
lk_mobileofflineprofileitem_modifiedonbehalfby
See systemuser Entity lk_mobileofflineprofileitem_modifiedonbehalfby One-To-Many relationship.
MobileOfflineProfileItem_organization
See organization Entity MobileOfflineProfileItem_organization One-To-Many relationship.
lk_MobileOfflineProfileItem_createdby
See systemuser Entity lk_MobileOfflineProfileItem_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
mobileofflineprofileitem EntityType
MobileOfflineProfileItemAssociation Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Information on relationships to be used to follow related entity's records for mobile offline profile item.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/mobileofflineprofileit Create
emassociations
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/mobileofflineprofileit Delete
emassociations(mobileofflineprofileitem
associationid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/mobileofflineprofileit Retrieve
emassociations(mobileofflineprofileitem
associationid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/mobileofflineprofileit RetrieveMultiple
emassociations
See Query Data

RetrieveUnpublished RetrieveUnpublished Function RetrieveUnpublishedRequest

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/mobileofflineprofileit Update
emassociations(mobileofflineprofileitem
associationid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName MobileOfflineProfileItemAssociations

DisplayCollectionName Mobile Offline Profile Item Associations

DisplayName Mobile Offline Profile Item Association


PROPERTY VALUE

EntitySetName mobileofflineprofileitemassociations

IsBPFEntity False

LogicalCollectionName mobileofflineprofileitemassociations

LogicalName mobileofflineprofileitemassociation

OwnershipType OrganizationOwned

PrimaryIdAttribute mobileofflineprofileitemassociationid

PrimaryNameAttribute name

SchemaName MobileOfflineProfileItemAssociation

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
IntroducedVersion
MobileOfflineProfileItemAssociationId
MobileOfflineProfileItemId
MobileOfflineProfileItemIdName
Name
ProcessId
ProfileItemAssociationEntityFilter
RelationshipData
RelationshipDisplayName
RelationshipId
SelectedRelationShipsSchema
StageId
TraversedPath
IntroducedVersion
PROPERTY VALUE

Description Version in which the Mobile offline Profile Item Association is


introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

MobileOfflineProfileItemAssociationId
PROPERTY VALUE

Description Unique identifier of the mobile offline profile item associaition.

DisplayName Mobile Offline profileitemassociation

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mobileofflineprofileitemassociationid

RequiredLevel SystemRequired

Type Uniqueidentifier

MobileOfflineProfileItemId
PROPERTY VALUE

Description Id of the parent profile item.

DisplayName Regarding

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mobileofflineprofileitemid

RequiredLevel SystemRequired

Targets mobileofflineprofileitem
PROPERTY VALUE

Type Lookup

MobileOfflineProfileItemIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName mobileofflineprofileitemidname

MaxLength 100

RequiredLevel SystemRequired

Type String

Name
PROPERTY VALUE

Description Enter the name of the mobile offline profile item association.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName name

MaxLength 200

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

ProfileItemAssociationEntityFilter
PROPERTY VALUE

Description Profile item association entity filter criteria.

DisplayName Profile item association entity filter

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName profileitemassociationentityfilter

MaxLength 1073741823

RequiredLevel None

Type Memo

RelationshipData
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only


PROPERTY VALUE

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName relationshipdata

MaxLength 1073741823

RequiredLevel None

Type Memo

RelationshipDisplayName
PROPERTY VALUE

Description Entity relationship schema name

DisplayName Entity Relationship

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName relationshipdisplayname

MaxLength 200

RequiredLevel None

Type String

RelationshipId
PROPERTY VALUE

Description Shows the relationship

DisplayName Shows the relationship


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName relationshipid

RequiredLevel SystemRequired

Type Uniqueidentifier

SelectedRelationShipsSchema
PROPERTY VALUE

Description List of relationships of entity selected in parent profile item

DisplayName Entity Relationship

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName selectedrelationshipsschema

RequiredLevel SystemRequired

Type Picklist

SelectedRelationShipsSchema Options

VALUE LABEL

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier
TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
IsValidated
MobileOfflineProfileItemAssociationIdUnique
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverwriteTime
PublishedOn
RelationshipName
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup
PROPERTY VALUE

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 200

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 200

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 200

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 200

RequiredLevel SystemRequired

Type String

IsManaged
PROPERTY VALUE

Description For internal use only.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
IsValidated
PROPERTY VALUE

Description Information about whether profile item association is validated


or not

DisplayName Is Valid For Mobile Offline

IsValidForForm False

IsValidForRead True

LogicalName isvalidated

RequiredLevel SystemRequired

Type Boolean

IsValidated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MobileOfflineProfileItemAssociationIdUnique
PROPERTY VALUE

Description For Internal Use Only

DisplayName Unique Id

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName mobileofflineprofileitemassociationidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 200

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 200

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who updated the record on behalf of another user.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 200

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 200

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


Mobile Offline Profile Item Association.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PublishedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Displays the last published date time.

DisplayName Published On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName publishedon

RequiredLevel None

Type DateTime

RelationshipName
PROPERTY VALUE

Description Display name of entity relationship


PROPERTY VALUE

DisplayName Entity Relationship

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName relationshipname

MaxLength 200

RequiredLevel None

Type String

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description Version number of the Mobile Offline profileitemassociation.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_mobileofflineprofileitemassociation_modifiedby
lk_mobileofflineprofileitemassociation_modifiedonbehalfby
MobileOfflineProfileItem_MobileOfflineProfileItemAssociation
lk_MobileOfflineProfileItemAssociation_createdby
MobileOfflineProfileItemAssociation_organization
lk_mobileofflineprofileitemassociation_createdonbehalfby
lk_mobileofflineprofileitemassociation_modifiedby
See systemuser Entity lk_mobileofflineprofileitemassociation_modifiedby One-To-Many relationship.
lk_mobileofflineprofileitemassociation_modifiedonbehalfby
See systemuser Entity lk_mobileofflineprofileitemassociation_modifiedonbehalfby One-To-Many relationship.
MobileOfflineProfileItem_MobileOfflineProfileItemAssociation
See mobileofflineprofileitem Entity MobileOfflineProfileItem_MobileOfflineProfileItemAssociation One-To-Many
relationship.
lk_MobileOfflineProfileItemAssociation_createdby
See systemuser Entity lk_MobileOfflineProfileItemAssociation_createdby One-To-Many relationship.
MobileOfflineProfileItemAssociation_organization
See organization Entity MobileOfflineProfileItemAssociation_organization One-To-Many relationship.
lk_mobileofflineprofileitemassociation_createdonbehalfby
See systemuser Entity lk_mobileofflineprofileitemassociation_createdonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
mobileofflineprofileitemassociation EntityType
MonthlyFiscalCalendar Entity Reference
4/3/2019 • 9 minutes to read • Edit Online

Monthly fiscal calendar of an organization. A span of time during which the financial activities of an organization
are calculated.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/monthlyfiscalcalenda Create
rs
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/monthlyfiscalcalenda Delete
rs(userfiscalcalendarid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/monthlyfiscalcalenda Retrieve
rs(userfiscalcalendarid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/monthlyfiscalcalenda RetrieveMultiple
rs
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/monthlyfiscalcalenda Update
rs(userfiscalcalendarid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName MonthlyFiscalCalendars

DisplayCollectionName Monthly Fiscal Calendars

DisplayName Monthly Fiscal Calendar

EntitySetName monthlyfiscalcalendars

IsBPFEntity False

LogicalCollectionName monthlyfiscalcalendars
PROPERTY VALUE

LogicalName monthlyfiscalcalendar

OwnershipType None

PrimaryIdAttribute userfiscalcalendarid

PrimaryNameAttribute

SchemaName MonthlyFiscalCalendar

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
EffectiveOn
Period1
Period10
Period11
Period12
Period2
Period3
Period4
Period5
Period6
Period7
Period8
Period9
SalesPersonId
TimeZoneRuleVersionNumber
TransactionCurrencyId
UserFiscalCalendarId
UTCConversionTimeZoneCode
EffectiveOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the monthly fiscal calendar sales quota
takes effect.

DisplayName

Format DateOnly

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName effectiveon

RequiredLevel SystemRequired

Type DateTime

Period1
PROPERTY VALUE

Description Sales quota for the first month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month1

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period10
PROPERTY VALUE

Description Sales quota for the tenth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month10

MaxValue 100000000000
PROPERTY VALUE

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period11
PROPERTY VALUE

Description Sales quota for the eleventh month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month11

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period12
PROPERTY VALUE

Description Sales quota for the twelfth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month12

MaxValue 100000000000
PROPERTY VALUE

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period2
PROPERTY VALUE

Description Sales quota for the second month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month2

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period3
PROPERTY VALUE

Description Sales quota for the third month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month3

MaxValue 100000000000
PROPERTY VALUE

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period4
PROPERTY VALUE

Description Sales quota for the fourth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month4

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period5
PROPERTY VALUE

Description Sales quota for the fifth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month5

MaxValue 100000000000
PROPERTY VALUE

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period6
PROPERTY VALUE

Description Sales quota for the sixth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month6

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period7
PROPERTY VALUE

Description Sales quota for the seventh month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month7

MaxValue 100000000000
PROPERTY VALUE

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period8
PROPERTY VALUE

Description Sales quota for the eighth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month8

MaxValue 100000000000

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

Period9
PROPERTY VALUE

Description Sales quota for the ninth month in the fiscal year.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName month9

MaxValue 100000000000
PROPERTY VALUE

MinValue 0

Precision 2

PrecisionSource 2

RequiredLevel SystemRequired

Type Money

SalesPersonId
PROPERTY VALUE

Description Unique identifier of the associated salesperson.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName salespersonid

RequiredLevel SystemRequired

Targets systemuser

Type Lookup

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1
PROPERTY VALUE

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the monthly


fiscal calendar.

DisplayName Currency

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName transactioncurrencyid

RequiredLevel ApplicationRequired

Targets transactioncurrency

Type Lookup

UserFiscalCalendarId
PROPERTY VALUE

Description Unique identifier of the monthly fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName userfiscalcalendarid

RequiredLevel SystemRequired

Type Uniqueidentifier

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
BusinessUnitId
BusinessUnitIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
FiscalPeriodType
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
Period1_Base
Period10_Base
Period11_Base
Period12_Base
Period2_Base
Period3_Base
Period4_Base
Period5_Base
Period6_Base
Period7_Base
Period8_Base
Period9_Base
SalesPersonIdName
SalesPersonIdYomiName
TransactionCurrencyIdName
BusinessUnitId
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName businessunitid

RequiredLevel ApplicationRequired

Targets businessunit

Type Lookup

BusinessUnitIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName businessunitidname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the quota for the monthly fiscal calendar
was modified.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


monthlyfiscalcalendar.

DisplayName Created By (Delegate)

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the monthly
fiscal calendar with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

FiscalPeriodType
PROPERTY VALUE

Description Type of fiscal period used in the sales quota.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName fiscalperiodtype

MaxValue 2147483647

MinValue -2147483648
PROPERTY VALUE

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the quota for
the monthly fiscal calendar.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the quota for the monthly fiscal calendar
was last modified.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
monthlyfiscalcalendar.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

Period1_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the first month
in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month1_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period10_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the tenth
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month10_base

MaxValue 922337203685477
PROPERTY VALUE

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period11_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the eleventh
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month11_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period12_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the twelfth
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month12_base
PROPERTY VALUE

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period2_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the second
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month2_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period3_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the third
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName month3_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period4_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the fourth
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month4_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period5_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the fifth month
in the fiscal year.

DisplayName

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName month5_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period6_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the sixth
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month6_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period7_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the seventh
month in the fiscal year.

DisplayName
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName month7_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period8_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the eighth
month in the fiscal year.

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month8_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

Period9_Base
PROPERTY VALUE

Description Base currency equivalent of the sales quota for the ninth
month in the fiscal year.
PROPERTY VALUE

DisplayName

IsValidForForm True

IsValidForRead True

LogicalName month9_base

MaxValue 922337203685477

MinValue -922337203685477

Precision 4

PrecisionSource 2

RequiredLevel None

Type Money

SalesPersonIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName salespersonidname

MaxLength 100

RequiredLevel SystemRequired

Type String

SalesPersonIdYomiName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName salespersonidyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

One-To-Many Relationships
Listed by SchemaName.
MonthlyFiscalCalendar_AsyncOperations
MonthlyFiscalCalendar_BulkDeleteFailures
MonthlyFiscalCalendar_AsyncOperations
Same as asyncoperation entity MonthlyFiscalCalendar_AsyncOperations Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName MonthlyFiscalCalendar_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MonthlyFiscalCalendar_BulkDeleteFailures
Same as bulkdeletefailure entity MonthlyFiscalCalendar_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName MonthlyFiscalCalendar_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_monthlyfiscalcalendar_modifiedonbehalfby
lk_monthlyfiscalcalendar_modifiedby
lk_monthlyfiscalcalendar_createdonbehalfby
transactioncurrency_monthlyfiscalcalendar
lk_monthlyfiscalcalendar_salespersonid
lk_monthlyfiscalcalendar_createdby
lk_monthlyfiscalcalendar_modifiedonbehalfby
See systemuser Entity lk_monthlyfiscalcalendar_modifiedonbehalfby One-To-Many relationship.
lk_monthlyfiscalcalendar_modifiedby
See systemuser Entity lk_monthlyfiscalcalendar_modifiedby One-To-Many relationship.
lk_monthlyfiscalcalendar_createdonbehalfby
See systemuser Entity lk_monthlyfiscalcalendar_createdonbehalfby One-To-Many relationship.
transactioncurrency_monthlyfiscalcalendar
See transactioncurrency Entity transactioncurrency_monthlyfiscalcalendar One-To-Many relationship.
lk_monthlyfiscalcalendar_salespersonid
See systemuser Entity lk_monthlyfiscalcalendar_salespersonid One-To-Many relationship.
lk_monthlyfiscalcalendar_createdby
See systemuser Entity lk_monthlyfiscalcalendar_createdby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
monthlyfiscalcalendar EntityType
msdyn_componentlayer Entity Reference
4/3/2019 • 2 minutes to read • Edit Online

Added by: Microsoft Dynamics 365 Component History APIs Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_componentla Create
yers
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_componentla Delete
yers(msdyn_componentlayerid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_componentla Retrieve
yers(msdyn_componentlayerid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_componentla RetrieveMultiple
yers
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_componentla Update
yers(msdyn_componentlayerid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_componentlayers

DisplayCollectionName Component Layers

DisplayName Component Layer

EntitySetName msdyn_componentlayers

IsBPFEntity False

LogicalCollectionName msdyn_componentlayers

LogicalName msdyn_componentlayer
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_componentlayerid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_componentlayer

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_changes
msdyn_componentid
msdyn_componentjson
msdyn_componentlayerId
msdyn_endtime
msdyn_name
msdyn_order
msdyn_publishername
msdyn_solutioncomponentname
msdyn_solutionname
msdyn_changes
PROPERTY VALUE

Description

DisplayName Changes

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_changes

MaxLength 1073741823

RequiredLevel None

Type String

msdyn_componentid
PROPERTY VALUE

Description

DisplayName Component Id

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_componentid

MaxLength 100

RequiredLevel None

Type String

msdyn_componentjson
PROPERTY VALUE

Description

DisplayName Component Json

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_componentjson

MaxLength 1073741823

RequiredLevel None

Type String

msdyn_componentlayerId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Component Layer


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_componentlayerid

RequiredLevel SystemRequired

Type Uniqueidentifier

msdyn_endtime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description

DisplayName Overwrite Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName msdyn_overwritetime

RequiredLevel None

Type DateTime

msdyn_name
PROPERTY VALUE

Description The name of the component.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name
PROPERTY VALUE

MaxLength 100

RequiredLevel ApplicationRequired

Type String

msdyn_order
PROPERTY VALUE

Description

DisplayName Order

Format None

IsValidForForm True

IsValidForRead True

LogicalName msdyn_order

MaxValue 500

MinValue 0

RequiredLevel None

Type Integer

msdyn_publishername
PROPERTY VALUE

Description

DisplayName Publisher Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_publishername

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

msdyn_solutioncomponentname
PROPERTY VALUE

Description

DisplayName Solution Component Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_solutioncomponentname

MaxLength 100

RequiredLevel None

Type String

msdyn_solutionname
PROPERTY VALUE

Description

DisplayName Solution Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_solutionname

MaxLength 100

RequiredLevel None

Type String

See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_componentlayer
msdyn_componentlayerdatasource Entity Reference
4/3/2019 • 2 minutes to read • Edit Online

Added by: Microsoft Dynamics 365 Component History APIs Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_componentla Create
yerdatasources
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_componentla Delete
yerdatasources(msdyn_componentlayer
datasourceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_componentla Retrieve
yerdatasources(msdyn_componentlayer
datasourceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_componentla RetrieveMultiple
yerdatasources
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_componentla Update
yerdatasources(msdyn_componentlayer
datasourceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_componentlayerdatasources

DisplayCollectionName Component Layer Data Sources

DisplayName Component Layer Data Source

EntitySetName msdyn_componentlayerdatasources

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName msdyn_componentlayerdatasources

LogicalName msdyn_componentlayerdatasource

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_componentlayerdatasourceid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_componentlayerdatasource

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_componentlayerdatasourceId
msdyn_name
msdyn_componentlayerdatasourceId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Component Layer Data Source

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_componentlayerdatasourceid

RequiredLevel SystemRequired

Type Uniqueidentifier

msdyn_name
PROPERTY VALUE

Description

DisplayName Name

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name

MaxLength 100

RequiredLevel None

Type String

See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_componentlayerdatasource
msdyn_Connector Entity Reference
4/3/2019 • 9 minutes to read • Edit Online

Connector Entity to support Solutioning Integration


Added by: Power Connector Solution Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/msdyn_connectors(
msdyn_connectorid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_connectors Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_connectors( Delete
msdyn_connectorid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

IsValidStateTransition IsValidStateTransition Function IsValidStateTransitionRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_connectors( Retrieve
msdyn_connectorid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_connectors RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/msdyn_connectors(
msdyn_connectorid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_connectors( Update
msdyn_connectorid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_Connectors

DisplayCollectionName Connectors

DisplayName Connector

EntitySetName msdyn_connectors

IsBPFEntity False

LogicalCollectionName msdyn_connectors

LogicalName msdyn_connector

OwnershipType UserOwned

PrimaryIdAttribute msdyn_connectorid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_Connector

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ImportSequenceNumber
IntroducedVersion
msdyn_ConnectorId
msdyn_ConnectorType
msdyn_Description
msdyn_DisplayName
msdyn_IconBrandColor
msdyn_IconUri
msdyn_Name
msdyn_Operations
msdyn_Payload
OverriddenCreatedOn
OwnerId
OwnerIdType
statecode
statuscode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48
PROPERTY VALUE

RequiredLevel None

Type String

msdyn_ConnectorId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Connector

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_connectorid

RequiredLevel SystemRequired

Type Uniqueidentifier

msdyn_ConnectorType
PROPERTY VALUE

Description Connector Type

DisplayName Connector Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_connectortype

RequiredLevel ApplicationRequired

Type Picklist

msdyn_ConnectorType Options

VALUE LABEL

0 NotSpecified

1 CustomConnector

msdyn_Description
PROPERTY VALUE

Description Description of the Connector

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_description

MaxLength 1000

RequiredLevel None

Type String

msdyn_DisplayName
PROPERTY VALUE

Description Display Name of the Connector

DisplayName Display Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_displayname

MaxLength 200

RequiredLevel None

Type String

msdyn_IconBrandColor
PROPERTY VALUE

Description Connector Icon Branding Color

DisplayName Icon Brand Color


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_iconbrandcolor

MaxLength 100

RequiredLevel None

Type String

msdyn_IconUri
PROPERTY VALUE

Description Icon to be used for Connector

DisplayName IconUri

FormatName Url

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_iconuri

MaxLength 1000

RequiredLevel None

Type String

msdyn_Name
PROPERTY VALUE

Description Required name of the Connector

DisplayName Name (Id) of the Connector

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name

MaxLength 500

RequiredLevel ApplicationRequired

Type String

msdyn_Operations
PROPERTY VALUE

Description Operations supported by Connector. Store Swagger file on


Operations.

DisplayName Operations

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_operations

MaxLength 500000

RequiredLevel None

Type String

msdyn_Payload
PROPERTY VALUE

Description Description of the Connector

DisplayName Payload

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName msdyn_payload

MaxLength 500000

RequiredLevel None

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
Added by: Active Solution Solution

PROPERTY VALUE

Description Owner Id

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired
PROPERTY VALUE

Targets systemuser,team

Type Owner

OwnerIdType
Added by: Active Solution Solution

PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

statecode
PROPERTY VALUE

Description Status of the Connector

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

statecode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive
statuscode
PROPERTY VALUE

Description Reason for the status of the Connector

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

statuscode Options

VALUE LABEL STATE

1 Active 0

2 Inactive 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
msdyn_ConnectorIdUnique
OverwriteTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedByName
Added by: Active Solution Solution

PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
Added by: Active Solution Solution

PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
Added by: Active Solution Solution
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
Added by: Active Solution Solution

PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

IsManaged
PROPERTY VALUE
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
Added by: Active Solution Solution
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
Added by: Active Solution Solution

PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
Added by: Active Solution Solution

PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
Added by: Active Solution Solution

PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

msdyn_ConnectorIdUnique
PROPERTY VALUE

Description For internal use only.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName msdyn_connectoridunique
PROPERTY VALUE

RequiredLevel SystemRequired

Type Uniqueidentifier

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

OwnerIdName
Added by: Active Solution Solution

PROPERTY VALUE

Description Name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String
OwnerIdYomiName
Added by: Active Solution Solution

PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier for the business unit that owns the record

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier for the team that owns the record.
PROPERTY VALUE

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
Added by: Active Solution Solution

PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired
PROPERTY VALUE

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
Added by: Active Solution Solution

PROPERTY VALUE

Description Version Number

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
msdyn_connector_SyncErrors
msdyn_connector_DuplicateMatchingRecord
msdyn_connector_DuplicateBaseRecord
msdyn_connector_AsyncOperations
msdyn_connector_MailboxTrackingFolders
msdyn_connector_ProcessSession
msdyn_connector_BulkDeleteFailures
msdyn_connector_PrincipalObjectAttributeAccesses
msdyn_connector_SyncErrors
Added by: System Solution Solution
Same as syncerror entity msdyn_connector_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_DuplicateMatchingRecord
Added by: System Solution Solution
Same as duplicaterecord entity msdyn_connector_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_DuplicateMatchingRecord
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_DuplicateBaseRecord
Added by: System Solution Solution
Same as duplicaterecord entity msdyn_connector_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_AsyncOperations
Added by: System Solution Solution
Same as asyncoperation entity msdyn_connector_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_MailboxTrackingFolders
Added by: System Solution Solution
Same as mailboxtrackingfolder entity msdyn_connector_MailboxTrackingFolders Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_MailboxTrackingFolders

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_ProcessSession
Added by: System Solution Solution
Same as processsession entity msdyn_connector_ProcessSession Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_ProcessSession

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_BulkDeleteFailures
Added by: System Solution Solution
Same as bulkdeletefailure entity msdyn_connector_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

msdyn_connector_PrincipalObjectAttributeAccesses
Added by: System Solution Solution
Same as principalobjectattributeaccess entity msdyn_connector_PrincipalObjectAttributeAccesses Many-To-One
relationship.
PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_connector_PrincipalObjectAttributeAccesses

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_msdyn_connector_createdby
lk_msdyn_connector_createdonbehalfby
lk_msdyn_connector_modifiedby
lk_msdyn_connector_modifiedonbehalfby
user_msdyn_connector
team_msdyn_connector
business_unit_msdyn_connector
lk_msdyn_connector_createdby
Added by: System Solution Solution
See systemuser Entity lk_msdyn_connector_createdby One-To-Many relationship.
lk_msdyn_connector_createdonbehalfby
Added by: System Solution Solution
See systemuser Entity lk_msdyn_connector_createdonbehalfby One-To-Many relationship.
lk_msdyn_connector_modifiedby
Added by: System Solution Solution
See systemuser Entity lk_msdyn_connector_modifiedby One-To-Many relationship.
lk_msdyn_connector_modifiedonbehalfby
Added by: System Solution Solution
See systemuser Entity lk_msdyn_connector_modifiedonbehalfby One-To-Many relationship.
user_msdyn_connector
Added by: System Solution Solution
See systemuser Entity user_msdyn_connector One-To-Many relationship.
team_msdyn_connector
Added by: System Solution Solution
See team Entity team_msdyn_connector One-To-Many relationship.
business_unit_msdyn_connector
Added by: System Solution Solution
See businessunit Entity business_unit_msdyn_connector One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_connector
msdyn_odatav4ds Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Data sources used by the OData v4 data provider to access data from an external web service.
Added by: OData v4 Data Provider Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_odatav4ds Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_odatav4ds(m Delete
sdyn_odatav4dsid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_odatav4ds(m Retrieve
sdyn_odatav4dsid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_odatav4ds RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_odatav4ds(m Update
sdyn_odatav4dsid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_odatav4dses

DisplayCollectionName OData v4 Data Sources

DisplayName OData v4 Data Source

EntitySetName msdyn_odatav4ds

IsBPFEntity False

LogicalCollectionName msdyn_odatav4dses

LogicalName msdyn_odatav4ds
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_odatav4dsid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_odatav4ds

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_description
msdyn_isparameter10header
msdyn_isparameter1header
msdyn_isparameter2header
msdyn_isparameter3header
msdyn_isparameter4header
msdyn_isparameter5header
msdyn_isparameter6header
msdyn_isparameter7header
msdyn_isparameter8header
msdyn_isparameter9header
msdyn_name
msdyn_odatav4dsId
msdyn_paginationmode
msdyn_paginationtype
msdyn_parameter10name
msdyn_parameter10value
msdyn_parameter1name
msdyn_parameter1value
msdyn_parameter2name
msdyn_parameter2value
msdyn_parameter3name
msdyn_parameter3value
msdyn_parameter4name
msdyn_parameter4value
msdyn_parameter5name
msdyn_parameter5value
msdyn_parameter6name
msdyn_parameter6value
msdyn_parameter7name
msdyn_parameter7value
msdyn_parameter8name
msdyn_parameter8value
msdyn_parameter9name
msdyn_parameter9value
msdyn_returninlinecount
msdyn_timeout
msdyn_uri
msdyn_description
PROPERTY VALUE

Description Type additional information to describe this OData v4 data


source. What environment does this data source target and
what is the purpose of this system ?

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_description

MaxLength 1024

RequiredLevel None

Type String

msdyn_isparameter10header
PROPERTY VALUE

Description Parameter10 Type

DisplayName Parameter10 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter10header

RequiredLevel None

Type Boolean

msdyn_isparameter10header Options
VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter1header
PROPERTY VALUE

Description Parameter1 Type

DisplayName Parameter1 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter1header

RequiredLevel None

Type Boolean

msdyn_isparameter1header Options

VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter2header
PROPERTY VALUE

Description Parameter2 Type

DisplayName Parameter2 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter2header

RequiredLevel None

Type Boolean

msdyn_isparameter2header Options
VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter3header
PROPERTY VALUE

Description Parameter3 Type

DisplayName Parameter3 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter3header

RequiredLevel None

Type Boolean

msdyn_isparameter3header Options

VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter4header
PROPERTY VALUE

Description Parameter4 Type

DisplayName Parameter4 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter4header

RequiredLevel None

Type Boolean

msdyn_isparameter4header Options
VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter5header
PROPERTY VALUE

Description Parameter5 Type

DisplayName Parameter5 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter5header

RequiredLevel None

Type Boolean

msdyn_isparameter5header Options

VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter6header
PROPERTY VALUE

Description Parameter6 Type

DisplayName Parameter6 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter6header

RequiredLevel None

Type Boolean

msdyn_isparameter6header Options
VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter7header
PROPERTY VALUE

Description Parameter7 Type

DisplayName Parameter7 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter7header

RequiredLevel None

Type Boolean

msdyn_isparameter7header Options

VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter8header
PROPERTY VALUE

Description Parameter8 Type

DisplayName Parameter8 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter8header

RequiredLevel None

Type Boolean

msdyn_isparameter8header Options
VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_isparameter9header
PROPERTY VALUE

Description Parameter9 Type

DisplayName Parameter9 Type

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isparameter9header

RequiredLevel None

Type Boolean

msdyn_isparameter9header Options

VALUE LABEL

1 Header

0 Query String

DefaultValue: False
msdyn_name
PROPERTY VALUE

Description Name of the OData v4 data source. This name appears in the
data source drop-down list when creating a new entity.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name
PROPERTY VALUE

MaxLength 100

RequiredLevel ApplicationRequired

Type String

msdyn_odatav4dsId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName OData v4 Data Source

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_odatav4dsid

RequiredLevel SystemRequired

Type Uniqueidentifier

msdyn_paginationmode
PROPERTY VALUE

Description

DisplayName Pagination Mode

IsValidForForm True

IsValidForRead True

LogicalName msdyn_paginationmode

RequiredLevel None

Type Boolean

msdyn_paginationmode Options

VALUE LABEL

1 Server-side Paging

0 Client-side Paging
DefaultValue: False
msdyn_paginationtype
PROPERTY VALUE

Description

DisplayName Pagination Mode

IsValidForForm True

IsValidForRead True

LogicalName msdyn_paginationtype

RequiredLevel ApplicationRequired

Type Picklist

msdyn_paginationtype Options

VALUE LABEL

0 Client-side Paging

1 Server-side Paging

msdyn_parameter10name
PROPERTY VALUE

Description

DisplayName parameter10name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter10name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter10value
PROPERTY VALUE

Description

DisplayName parameter10value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter10value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter1name
PROPERTY VALUE

Description

DisplayName parameter1name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter1name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter1value
PROPERTY VALUE

Description

DisplayName parameter1value
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter1value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter2name
PROPERTY VALUE

Description

DisplayName parameter2name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter2name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter2value
PROPERTY VALUE

Description

DisplayName parameter2value

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter2value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter3name
PROPERTY VALUE

Description

DisplayName parameter3name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter3name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter3value
PROPERTY VALUE

Description

DisplayName parameter3value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName msdyn_parameter3value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter4name
PROPERTY VALUE

Description

DisplayName parameter4name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter4name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter4value
PROPERTY VALUE

Description

DisplayName parameter4value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter4value

MaxLength 1024
PROPERTY VALUE

RequiredLevel None

Type String

msdyn_parameter5name
PROPERTY VALUE

Description

DisplayName parameter5name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter5name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter5value
PROPERTY VALUE

Description

DisplayName parameter5value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter5value

MaxLength 1024

RequiredLevel None

Type String
msdyn_parameter6name
PROPERTY VALUE

Description

DisplayName parameter6name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter6name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter6value
PROPERTY VALUE

Description

DisplayName parameter6value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter6value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter7name
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName parameter7name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter7name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter7value
PROPERTY VALUE

Description

DisplayName parameter7value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter7value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter8name
PROPERTY VALUE

Description

DisplayName parameter8name

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter8name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter8value
PROPERTY VALUE

Description

DisplayName parameter8value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter8value

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter9name
PROPERTY VALUE

Description

DisplayName parameter9name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName msdyn_parameter9name

MaxLength 1024

RequiredLevel None

Type String

msdyn_parameter9value
PROPERTY VALUE

Description

DisplayName parameter9value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_parameter9value

MaxLength 1024

RequiredLevel None

Type String

msdyn_returninlinecount
PROPERTY VALUE

Description

DisplayName Return Inline Count

IsValidForForm True

IsValidForRead True

LogicalName msdyn_returninlinecount

RequiredLevel None

Type Boolean
msdyn_returninlinecount Options

VALUE LABEL

1 True

0 False

DefaultValue: True
msdyn_timeout
PROPERTY VALUE

Description Amount of time to wait, in seconds, before timing out an


OData v4 request.

DisplayName Timeout

Format None

IsValidForForm True

IsValidForRead True

LogicalName msdyn_timeout

MaxValue 120

MinValue 0

RequiredLevel None

Type Integer

msdyn_uri
PROPERTY VALUE

Description URL of the OData v4 web service endpoint this data source
will target.

DisplayName URL

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_uri
PROPERTY VALUE

MaxLength 1024

RequiredLevel ApplicationRequired

Type String

See also
About the Entity Reference
Web API Reference
msdyn_odatav4ds EntityType
msdyn_solutioncomponentdatasource Entity
Reference
4/3/2019 • 2 minutes to read • Edit Online

Added by: Microsoft Dynamics 365 Settings APIs Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_solutioncom Create
ponentdatasources
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_solutioncom Delete
ponentdatasources(msdyn_solutioncom
ponentdatasourceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_solutioncom Retrieve
ponentdatasources(msdyn_solutioncom
ponentdatasourceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_solutioncom RetrieveMultiple
ponentdatasources
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_solutioncom Update
ponentdatasources(msdyn_solutioncom
ponentdatasourceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_solutioncomponentdatasources

DisplayCollectionName Solution Component Data Sources

DisplayName Solution Component Data Source

EntitySetName msdyn_solutioncomponentdatasources
PROPERTY VALUE

IsBPFEntity False

LogicalCollectionName msdyn_solutioncomponentdatasources

LogicalName msdyn_solutioncomponentdatasource

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_solutioncomponentdatasourceid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_solutioncomponentdatasource

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_name
msdyn_solutioncomponentdatasourceId
msdyn_name
PROPERTY VALUE

Description

DisplayName msdyn_name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name

MaxLength 100

RequiredLevel None

Type String

msdyn_solutioncomponentdatasourceId
PROPERTY VALUE

Description Unique identifier for entity instances


PROPERTY VALUE

DisplayName Solution Component Data Source

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_solutioncomponentdatasourceid

RequiredLevel SystemRequired

Type Uniqueidentifier

One-To-Many Relationships
Listed by SchemaName.
msdyn_solutioncomponentdatasource_Annotations
Added by: System Solution Solution
Same as annotation entity msdyn_solutioncomponentdatasource_Annotations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_solutioncomponentdatasource_Annotations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_solutioncomponentdatasource
msdyn_solutioncomponentsummary Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Added by: Microsoft Dynamics 365 Settings APIs Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_solutioncom Create
ponentsummaries
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_solutioncom Delete
ponentsummaries(msdyn_solutioncomp
onentsummaryid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_solutioncom Retrieve
ponentsummaries(msdyn_solutioncomp
onentsummaryid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_solutioncom RetrieveMultiple
ponentsummaries
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_solutioncom Update
ponentsummaries(msdyn_solutioncomp
onentsummaryid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_solutioncomponentsummaries

DisplayCollectionName Solution Component Summaries

DisplayName Solution Component Summary

EntitySetName msdyn_solutioncomponentsummaries

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName msdyn_solutioncomponentsummaries

LogicalName msdyn_solutioncomponentsummary

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_solutioncomponentsummaryid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_solutioncomponentsummary

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_componenttype
msdyn_componenttypename
msdyn_createdon
msdyn_culture
msdyn_deployment
msdyn_description
msdyn_displayname
msdyn_eventhandler
msdyn_executionorder
msdyn_executionstage
msdyn_fieldsecurity
msdyn_fieldtype
msdyn_isappaware
msdyn_isappawarename
msdyn_isauditenabled
msdyn_isauditenabledname
msdyn_iscustom
msdyn_iscustomizable
msdyn_iscustomizablename
msdyn_iscustomname
msdyn_isdefault
msdyn_isdefaultname
msdyn_ismanaged
msdyn_ismanagedname
msdyn_isolationmode
msdyn_istableenabled
msdyn_logicalcollectionname
msdyn_modifiedon
msdyn_name
msdyn_objectid
msdyn_objecttypecode
msdyn_owner
msdyn_owningbusinessunit
msdyn_primaryentityname
msdyn_publickeytoken
msdyn_relatedentity
msdyn_relatedentityattribute
msdyn_schemaname
msdyn_sdkmessagename
msdyn_solutioncomponentsummaryId
msdyn_solutionid
msdyn_status
msdyn_statusname
msdyn_subtype
msdyn_synctoexternalsearchindex
msdyn_total
msdyn_typename
msdyn_uniquename
msdyn_version
msdyn_workflowcategory
msdyn_workflowcategoryname
msdyn_workflowidunique
msdyn_componenttype
PROPERTY VALUE

Description

DisplayName msdyn_componenttype

IsValidForForm True

IsValidForRead True

LogicalName msdyn_componenttype

MaxValue 100000000000

MinValue -100000000000

Precision 2

RequiredLevel None

Type Decimal

msdyn_componenttypename
PROPERTY VALUE

Description

DisplayName Component Type Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_componenttypename

MaxLength 100

RequiredLevel None

Type String

msdyn_createdon
PROPERTY VALUE

Description

DisplayName msdyn_createdon

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_createdon

MaxLength 100

RequiredLevel None

Type String

msdyn_culture
PROPERTY VALUE

Description

DisplayName msdyn_culture
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_culture

MaxLength 100

RequiredLevel None

Type String

msdyn_deployment
PROPERTY VALUE

Description

DisplayName msdyn_deployment

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_deployment

MaxLength 100

RequiredLevel None

Type String

msdyn_description
PROPERTY VALUE

Description

DisplayName msdyn_description

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_description

MaxLength 100

RequiredLevel None

Type String

msdyn_displayname
PROPERTY VALUE

Description

DisplayName msdyn_displayname

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_displayname

MaxLength 100

RequiredLevel None

Type String

msdyn_eventhandler
PROPERTY VALUE

Description

DisplayName msdyn_eventhandler

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName msdyn_eventhandler

MaxLength 100

RequiredLevel None

Type String

msdyn_executionorder
PROPERTY VALUE

Description

DisplayName msdyn_executionorder

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_executionorder

MaxLength 100

RequiredLevel None

Type String

msdyn_executionstage
PROPERTY VALUE

Description

DisplayName msdyn_executionstage

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_executionstage

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

msdyn_fieldsecurity
PROPERTY VALUE

Description

DisplayName Field Security

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_fieldsecurity

MaxLength 100

RequiredLevel None

Type String

msdyn_fieldtype
PROPERTY VALUE

Description

DisplayName Field Type

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_fieldtype

MaxLength 100

RequiredLevel None

Type String
msdyn_isappaware
PROPERTY VALUE

Description

DisplayName msdyn_isappaware

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isappaware

MaxLength 100

RequiredLevel None

Type String

msdyn_isappawarename
PROPERTY VALUE

Description

DisplayName App Aware Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isappawarename

MaxLength 100

RequiredLevel None

Type String

msdyn_isauditenabled
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName msdyn_isauditenabled

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isauditenabled

MaxLength 100

RequiredLevel None

Type String

msdyn_isauditenabledname
PROPERTY VALUE

Description

DisplayName Audit Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isauditenabledname

MaxLength 100

RequiredLevel None

Type String

msdyn_iscustom
PROPERTY VALUE

Description

DisplayName msdyn_iscustom

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_iscustom

MaxLength 100

RequiredLevel None

Type String

msdyn_iscustomizable
PROPERTY VALUE

Description

DisplayName msdyn_iscustomizable

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_iscustomizable

MaxLength 100

RequiredLevel None

Type String

msdyn_iscustomizablename
PROPERTY VALUE

Description

DisplayName Customizable Name

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName msdyn_iscustomizablename

MaxLength 100

RequiredLevel None

Type String

msdyn_iscustomname
PROPERTY VALUE

Description

DisplayName Is Custom Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_iscustomname

MaxLength 100

RequiredLevel None

Type String

msdyn_isdefault
PROPERTY VALUE

Description

DisplayName Default

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isdefault
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

msdyn_isdefaultname
PROPERTY VALUE

Description

DisplayName Default Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isdefaultname

MaxLength 100

RequiredLevel None

Type String

msdyn_ismanaged
PROPERTY VALUE

Description

DisplayName msdyn_ismanaged

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_ismanaged

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

msdyn_ismanagedname
PROPERTY VALUE

Description

DisplayName Managed Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_ismanagedname

MaxLength 100

RequiredLevel None

Type String

msdyn_isolationmode
PROPERTY VALUE

Description

DisplayName msdyn_isolationmode

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isolationmode

MaxLength 100

RequiredLevel None

Type String

msdyn_istableenabled
PROPERTY VALUE

Description

DisplayName msdyn_istableenabled

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_istableenabled

MaxLength 100

RequiredLevel None

Type String

msdyn_logicalcollectionname
PROPERTY VALUE

Description

DisplayName Logical Collection Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_logicalcollectionname

MaxLength 100

RequiredLevel None

Type String

msdyn_modifiedon
PROPERTY VALUE

Description

DisplayName msdyn_modifiedon
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_modifiedon

MaxLength 100

RequiredLevel None

Type String

msdyn_name
PROPERTY VALUE

Description The name of the custom entity.

DisplayName msdyn_name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name

MaxLength 100

RequiredLevel ApplicationRequired

Type String

msdyn_objectid
PROPERTY VALUE

Description

DisplayName msdyn_objectid

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_objectid

MaxLength 100

RequiredLevel None

Type String

msdyn_objecttypecode
PROPERTY VALUE

Description

DisplayName msdyn_objecttypecode

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_objecttypecode

MaxLength 100

RequiredLevel None

Type String

msdyn_owner
PROPERTY VALUE

Description

DisplayName msdyn_owner

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName msdyn_owner

MaxLength 100

RequiredLevel None

Type String

msdyn_owningbusinessunit
PROPERTY VALUE

Description

DisplayName owning business unit

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_owningbusinessunit

MaxLength 100

RequiredLevel None

Type String

msdyn_primaryentityname
PROPERTY VALUE

Description

DisplayName Primary Entity Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_primaryentityname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

msdyn_publickeytoken
PROPERTY VALUE

Description

DisplayName msdyn_publickeytoken

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_publickeytoken

MaxLength 100

RequiredLevel None

Type String

msdyn_relatedentity
PROPERTY VALUE

Description

DisplayName Related Entity

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_relatedentity

MaxLength 100

RequiredLevel None

Type String
msdyn_relatedentityattribute
PROPERTY VALUE

Description

DisplayName Related Entity Attribute Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_relatedentityattribute

MaxLength 100

RequiredLevel None

Type String

msdyn_schemaname
PROPERTY VALUE

Description

DisplayName msdyn_schemaname

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_schemaname

MaxLength 100

RequiredLevel None

Type String

msdyn_sdkmessagename
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName msdyn_sdkmessagename

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_sdkmessagename

MaxLength 100

RequiredLevel None

Type String

msdyn_solutioncomponentsummaryId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName SolutionComponentSummary

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_solutioncomponentsummaryid

RequiredLevel SystemRequired

Type Uniqueidentifier

msdyn_solutionid
PROPERTY VALUE

Description

DisplayName msdyn_solutionid

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName msdyn_solutionid

MaxLength 100

RequiredLevel None

Type String

msdyn_status
PROPERTY VALUE

Description

DisplayName msdyn_status

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_status

MaxLength 100

RequiredLevel None

Type String

msdyn_statusname
PROPERTY VALUE

Description

DisplayName Status Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_statusname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

msdyn_subtype
PROPERTY VALUE

Description

DisplayName msdyn_subtype

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_subtype

MaxLength 100

RequiredLevel None

Type String

msdyn_synctoexternalsearchindex
PROPERTY VALUE

Description

DisplayName msdyn_synctoexternalsearchindex

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_synctoexternalsearchindex

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

msdyn_total
PROPERTY VALUE

Description

DisplayName msdyn_total

IsValidForForm True

IsValidForRead True

LogicalName msdyn_total

MaxValue 100000000000

MinValue -100000000000

Precision 2

RequiredLevel None

Type Decimal

msdyn_typename
PROPERTY VALUE

Description

DisplayName msdyn_typename

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_typename

MaxLength 100

RequiredLevel None

Type String

msdyn_uniquename
PROPERTY VALUE

Description

DisplayName msdyn_uniquename

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_uniquename

MaxLength 100

RequiredLevel None

Type String

msdyn_version
PROPERTY VALUE

Description

DisplayName msdyn_version

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_version

MaxLength 100

RequiredLevel None

Type String

msdyn_workflowcategory
PROPERTY VALUE

Description

DisplayName msdyn_workflowcategory
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_workflowcategory

MaxLength 100

RequiredLevel None

Type String

msdyn_workflowcategoryname
PROPERTY VALUE

Description

DisplayName Workflow Category Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_workflowcategoryname

MaxLength 100

RequiredLevel None

Type String

msdyn_workflowidunique
PROPERTY VALUE

Description

DisplayName Workflow Id Unique

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_workflowidunique

MaxLength 100

RequiredLevel None

Type String

See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_solutioncomponentsummary
msdyn_solutionhistory Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Added by: Microsoft Dynamics 365 Solution History APIs Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Create
ries
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Delete
ries(msdyn_solutionhistoryid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Retrieve
ries(msdyn_solutionhistoryid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_solutionhisto RetrieveMultiple
ries
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Update
ries(msdyn_solutionhistoryid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_solutionhistories

DisplayCollectionName Solutions History

DisplayName Solution History

EntitySetName msdyn_solutionhistories

IsBPFEntity False

LogicalCollectionName msdyn_solutionhistories

LogicalName msdyn_solutionhistory
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_solutionhistoryid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_solutionhistory

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_activityid
msdyn_correlationid
msdyn_endtime
msdyn_errorcode
msdyn_exceptionmessage
msdyn_exceptionstack
msdyn_ismanaged
msdyn_isoverwritecustomizations
msdyn_ispatch
msdyn_name
msdyn_operation
msdyn_packagename
msdyn_packageversion
msdyn_publisherid
msdyn_publishername
msdyn_result
msdyn_solutionhistoryId
msdyn_solutionid
msdyn_solutionversion
msdyn_starttime
msdyn_status
msdyn_suboperation
msdyn_totaltime
msdyn_activityid
PROPERTY VALUE

Description

DisplayName Activity Id

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName msdyn_activityid

MaxLength 100

RequiredLevel None

Type String

msdyn_correlationid
PROPERTY VALUE

Description

DisplayName Correlation Id

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_correlationid

MaxLength 100

RequiredLevel None

Type String

msdyn_endtime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description

DisplayName End Time

Format DateAndTime

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName msdyn_endtime

RequiredLevel None

Type DateTime

msdyn_errorcode
PROPERTY VALUE

Description

DisplayName Error Code

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_errorcode

MaxLength 100

RequiredLevel None

Type String

msdyn_exceptionmessage
PROPERTY VALUE

Description

DisplayName Exception Message

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_exceptionmessage

MaxLength 10000

RequiredLevel None
PROPERTY VALUE

Type Memo

msdyn_exceptionstack
PROPERTY VALUE

Description

DisplayName Exception Stack

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_exceptionstack

MaxLength 10000

RequiredLevel None

Type Memo

msdyn_ismanaged
PROPERTY VALUE

Description

DisplayName Managed

IsValidForForm True

IsValidForRead True

LogicalName msdyn_ismanaged

RequiredLevel None

Type Boolean

msdyn_ismanaged Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
msdyn_isoverwritecustomizations
PROPERTY VALUE

Description

DisplayName Overwrite Customizations

IsValidForForm True

IsValidForRead True

LogicalName msdyn_isoverwritecustomizations

RequiredLevel None

Type Boolean

msdyn_isoverwritecustomizations Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
msdyn_ispatch
PROPERTY VALUE

Description

DisplayName Patch

IsValidForForm True

IsValidForRead True

LogicalName msdyn_ispatch

RequiredLevel None

Type Boolean

msdyn_ispatch Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
msdyn_name
PROPERTY VALUE

Description The name of the custom entity.

DisplayName Solution Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name

MaxLength 100

RequiredLevel ApplicationRequired

Type String

msdyn_operation
PROPERTY VALUE

Description

DisplayName Operation

IsValidForForm True

IsValidForRead True

LogicalName msdyn_operation

RequiredLevel None

Type Picklist

msdyn_operation Options

VALUE LABEL

0 Import

1 Uninstall

2 Export
msdyn_packagename
PROPERTY VALUE

Description

DisplayName Package Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_packagename

MaxLength 4000

RequiredLevel None

Type String

msdyn_packageversion
PROPERTY VALUE

Description

DisplayName Package Version

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_packageversion

MaxLength 100

RequiredLevel None

Type String

msdyn_publisherid
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName Publisher Id

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_publisherid

MaxLength 100

RequiredLevel None

Type String

msdyn_publishername
PROPERTY VALUE

Description

DisplayName Publisher Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_publishername

MaxLength 1000

RequiredLevel None

Type String

msdyn_result
PROPERTY VALUE

Description

DisplayName Result

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName msdyn_result

RequiredLevel None

Type Boolean

msdyn_result Options

VALUE LABEL

1 Success

0 Failure

DefaultValue: False
msdyn_solutionhistoryId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Solutionhistory

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_solutionhistoryid

RequiredLevel SystemRequired

Type Uniqueidentifier

msdyn_solutionid
PROPERTY VALUE

Description

DisplayName Solution Id

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName msdyn_solutionid

MaxLength 100

RequiredLevel None

Type String

msdyn_solutionversion
PROPERTY VALUE

Description

DisplayName Solution Version

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_solutionversion

MaxLength 100

RequiredLevel None

Type String

msdyn_starttime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description

DisplayName Start Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName msdyn_starttime
PROPERTY VALUE

RequiredLevel None

Type DateTime

msdyn_status
PROPERTY VALUE

Description

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName msdyn_status

RequiredLevel None

Type Picklist

msdyn_status Options

VALUE LABEL

0 Started

1 Completed

msdyn_suboperation
PROPERTY VALUE

Description

DisplayName Suboperation

IsValidForForm True

IsValidForRead True

LogicalName msdyn_suboperation

RequiredLevel None

Type Picklist

msdyn_suboperation Options
VALUE LABEL

0 None

1 New

2 Upgrade

3 Update

4 Delete

msdyn_totaltime
PROPERTY VALUE

Description

DisplayName Total Time (seconds)

Format None

IsValidForForm True

IsValidForRead True

LogicalName msdyn_totaltime

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_solutionhistory
msdyn_solutionhistorydatasource Entity Reference
4/3/2019 • 2 minutes to read • Edit Online

Added by: Microsoft Dynamics 365 Solution History APIs Solution

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Create
rydatasources
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Delete
rydatasources(msdyn_solutionhistoryda
tasourceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Retrieve
rydatasources(msdyn_solutionhistoryda
tasourceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/msdyn_solutionhisto RetrieveMultiple
rydatasources
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/msdyn_solutionhisto Update
rydatasources(msdyn_solutionhistoryda
tasourceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName msdyn_solutionhistorydatasources

DisplayCollectionName Solution History Data Sources

DisplayName Solution History Data Source

EntitySetName msdyn_solutionhistorydatasources

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName msdyn_solutionhistorydatasources

LogicalName msdyn_solutionhistorydatasource

OwnershipType OrganizationOwned

PrimaryIdAttribute msdyn_solutionhistorydatasourceid

PrimaryNameAttribute msdyn_name

SchemaName msdyn_solutionhistorydatasource

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
msdyn_name
msdyn_solutionhistorydatasourceId
msdyn_name
PROPERTY VALUE

Description

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName msdyn_name

MaxLength 100

RequiredLevel None

Type String

msdyn_solutionhistorydatasourceId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Solution History Data Source


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName msdyn_solutionhistorydatasourceid

RequiredLevel SystemRequired

Type Uniqueidentifier

One-To-Many Relationships
Listed by SchemaName.
msdyn_solutionhistorydatasource_Annotations
Added by: System Solution Solution
Same as annotation entity msdyn_solutionhistorydatasource_Annotations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName msdyn_solutionhistorydatasource_Annotations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

See also
About the Entity Reference
Web API Reference
Microsoft.Dynamics.CRM.msdyn_solutionhistorydatasource
NavigationSetting Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

Navigation Setting: A setting page or group of pages available for configuration within an app. A record
representing a group of pages is regarded as the parent navigation setting of one or more other records. For
internal use only.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/navigationsettings Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/navigationsettings(n Delete
avigationsettingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/navigationsettings(n Retrieve
avigationsettingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/navigationsettings RetrieveMultiple
See Query Data

RetrieveUnpublishedMultiple RetrieveUnpublishedMultiple Function RetrieveUnpublishedMultipleRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/navigationsettings(n Update
avigationsettingid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName NavigationSettings

DisplayCollectionName Navigation Settings

DisplayName Navigation Setting

EntitySetName navigationsettings

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName navigationsettings

LogicalName navigationsetting

OwnershipType OrganizationOwned

PrimaryIdAttribute navigationsettingid

PrimaryNameAttribute name

SchemaName NavigationSetting

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AdvancedSettingOrder
AppConfigId
AppConfigIdUnique
Description
GroupName
IconResourceId
IntroducedVersion
Name
NavigationSettingId
NavigationSettingIdUnique
ObjectTypeCode
PageUrl
ParentNavigationSettingId
Privileges
ProgressState
QuickSettingOrder
ResourceId
SettingType
AdvancedSettingOrder
PROPERTY VALUE

Description Enter the position of this NavigationSetting as it should


appear within its group in the Advanced Setup menu.

DisplayName AdvancedOrder

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName advancedsettingorder

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

AppConfigId
PROPERTY VALUE

Description Enter the App Config record that this Navigation Setting is
associated with.

DisplayName AppConfigId

IsValidForForm False

IsValidForRead True

LogicalName appconfigid

RequiredLevel ApplicationRequired

Targets appmodule

Type Lookup

AppConfigIdUnique
PROPERTY VALUE

Description For system use only.

DisplayName AppConfigIdUnique

IsValidForForm False

IsValidForRead True

LogicalName appconfigidunique

RequiredLevel None

Type Uniqueidentifier
Description
PROPERTY VALUE

Description Type a description that describes that Navigation Setting in


detail.

DisplayName Description

FormatName Text

IsLocalizable True

IsValidForForm False

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type String

GroupName
PROPERTY VALUE

Description Type the name of the group represented by this Navigation


Setting record.

DisplayName Group Name

FormatName Text

IsLocalizable True

IsValidForForm False

IsValidForRead True

LogicalName groupname

MaxLength 400

RequiredLevel None

Type String

IconResourceId
PROPERTY VALUE

Description The web resource identifier of the icon to be used for a


navigation setting area or sub area.

DisplayName IconResourceId

IsValidForForm False

IsValidForRead True

LogicalName iconresourceid

RequiredLevel None

Type Uniqueidentifier

IntroducedVersion
PROPERTY VALUE

Description Version in which the similarity rule is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 100

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Type a title or name that describes the Navigation Setting so it


can be identified in Dynamics CRM views.

DisplayName Name

FormatName Text
PROPERTY VALUE

IsLocalizable True

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel SystemRequired

Type String

NavigationSettingId
PROPERTY VALUE

Description Identifies a single setting page or group of pages configured


for use in a single app.

DisplayName NavigationSettingId

IsValidForForm False

IsValidForRead True

LogicalName navigationsettingid

RequiredLevel SystemRequired

Type Uniqueidentifier

NavigationSettingIdUnique
PROPERTY VALUE

Description For system use only.

DisplayName NavigationSettingIdUnique

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName navigationsettingidunique

RequiredLevel SystemRequired
PROPERTY VALUE

Type Uniqueidentifier

ObjectTypeCode
PROPERTY VALUE

Description Enter the Object Type Code of the entity associated whose
page this Navigation Setting record represents.

DisplayName EntityObjectTypeCode

Format None

IsValidForForm False

IsValidForRead True

LogicalName objecttypecode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

PageUrl
PROPERTY VALUE

Description Type the URL which locates the page associated with this
Navigation Setting record.

DisplayName Page Url

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName pageurl

MaxLength 400

RequiredLevel None

Type String
ParentNavigationSettingId
PROPERTY VALUE

Description The Navigation Setting record that represents the group that
this record belongs to.

DisplayName Parent Navigation Setting Id

IsValidForForm False

IsValidForRead True

LogicalName parentnavigationsettingid

RequiredLevel None

Type Uniqueidentifier

Privileges
PROPERTY VALUE

Description Enter the Privilege Mask for the entity associated with this
navigation setting page that will be the minimum requirement
for the page to be made available to a user.

DisplayName Privileges

Format None

IsValidForForm False

IsValidForRead True

LogicalName privileges

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ProgressState
PROPERTY VALUE

Description Select the setup completion level for this Navigation Setting
page.

DisplayName Progress State


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName progressstate

RequiredLevel SystemRequired

Type Boolean

ProgressState Options

VALUE LABEL

1 Visited

0 Not Visited

DefaultValue: False
QuickSettingOrder
PROPERTY VALUE

Description Enter the position of this NavigationSetting as it should


appear in the Quick Setup menu.

DisplayName QuickOrder

Format None

IsValidForForm False

IsValidForRead True

LogicalName quicksettingorder

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ResourceId
PROPERTY VALUE

Description The Web Resource that will be associated with this Navigation
Setting record.
PROPERTY VALUE

DisplayName Resource Id

IsValidForForm False

IsValidForRead True

LogicalName resourceid

RequiredLevel None

Type Uniqueidentifier

SettingType
PROPERTY VALUE

Description Select the type of group this Navigation Setting record


represents. This determines which of the three in-app
customization menus will contain this group.

DisplayName Group Type

IsValidForForm False

IsValidForRead True

LogicalName settingtype

RequiredLevel None

Type Picklist

SettingType Options

VALUE LABEL

0 Advanced Setup

1 Basic Setup

2 Advanced Setup Summary

3 Basic Setup Summary

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportSequenceNumber
IsManaged
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
OverriddenCreatedOn
OverwriteTime
SolutionId
SupportingSolutionId
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Created On
PROPERTY VALUE

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None
PROPERTY VALUE

Type Integer

IsManaged
PROPERTY VALUE

Description For internal use only.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description System-populated field that identifies the organization that


owns this Navigation Setting record.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.


PROPERTY VALUE

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_navigationsetting_modifiedonbehalfby
navigationsetting_appconfig
lk_navigationsetting_createdonbehalfby
lk_navigationsetting_createdby
lk_navigationsetting_modifiedby
organization_navigationsetting
lk_navigationsetting_modifiedonbehalfby
See systemuser Entity lk_navigationsetting_modifiedonbehalfby One-To-Many relationship.
navigationsetting_appconfig
See appconfig Entity navigationsetting_appconfig One-To-Many relationship.
lk_navigationsetting_createdonbehalfby
See systemuser Entity lk_navigationsetting_createdonbehalfby One-To-Many relationship.
lk_navigationsetting_createdby
See systemuser Entity lk_navigationsetting_createdby One-To-Many relationship.
lk_navigationsetting_modifiedby
See systemuser Entity lk_navigationsetting_modifiedby One-To-Many relationship.
organization_navigationsetting
See organization Entity organization_navigationsetting One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
navigationsetting EntityType
NewProcess Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

New Process Business Process Flow

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/newprocesses Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/newprocesses(busine Delete
ssprocessflowinstanceid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/newprocesses(busine Retrieve
ssprocessflowinstanceid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/newprocesses RetrieveMultiple
See Query Data

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/newprocesses(busine
ssprocessflowinstanceid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/newprocesses(busine Update
ssprocessflowinstanceid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName NewProcesses

DisplayCollectionName New Process

DisplayName New Process

EntitySetName newprocesses

IsBPFEntity True
PROPERTY VALUE

LogicalCollectionName newprocesses

LogicalName newprocess

OwnershipType OrganizationOwned

PrimaryIdAttribute businessprocessflowinstanceid

PrimaryNameAttribute name

SchemaName NewProcess

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActiveStageId
ActiveStageStartedOn
BusinessProcessFlowInstanceId
CompletedOn
ImportSequenceNumber
KnowledgeArticleId
Name
OverriddenCreatedOn
ProcessId
StateCode
StatusCode
TransactionCurrencyId
TraversedPath
ActiveStageId
PROPERTY VALUE

Description Unique identifier of the active stage for the Business Process
Flow instance.

DisplayName Active Stage

IsValidForForm True

IsValidForRead True

LogicalName activestageid

RequiredLevel None

Targets processstage
PROPERTY VALUE

Type Lookup

ActiveStageStartedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when current active stage is started.

DisplayName Active Stage Started On

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName activestagestartedon

RequiredLevel None

Type DateTime

BusinessProcessFlowInstanceId
PROPERTY VALUE

Description Unique identifier for New Process bpf entity instances

DisplayName New Process Instance Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName businessprocessflowinstanceid

RequiredLevel SystemRequired

Type Uniqueidentifier

CompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when current active stage is started.


PROPERTY VALUE

DisplayName Completed On

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName completedon

RequiredLevel None

Type DateTime

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

KnowledgeArticleId
PROPERTY VALUE

Description Unique identifier of the Knowledge Article associated to the


Business Process Flow instance.

DisplayName Knowledge Article

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName knowledgearticleid

RequiredLevel None

Targets knowledgearticle

Type Lookup

Name
PROPERTY VALUE

Description Process Name.

DisplayName Process Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 200

RequiredLevel ApplicationRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ProcessId
PROPERTY VALUE

Description Unique identifier of the workflow associated to the Business


Process Flow instance.

DisplayName Process

IsValidForForm True

IsValidForRead True

LogicalName processid

RequiredLevel None

Targets workflow

Type Lookup

StateCode
PROPERTY VALUE

Description Shows whether the Delve action record is pending, completed,


or tracking.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options
VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Select the delve action record status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Active 0

2 Finished 1

3 Aborted 1

TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure budgets
are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency
PROPERTY VALUE

Type Lookup

TraversedPath
PROPERTY VALUE

Description Traversed Path

DisplayName Comma delimited string of process stage ids that represent


visited stages of the Business Process Flow instance.

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActiveStageIdName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
Duration
ExchangeRate
KnowledgeArticleIdName
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
ProcessIdName
TransactionCurrencyIdName
VersionNumber
ActiveStageIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName activestageidname

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

Duration
PROPERTY VALUE

Description Duration the business process flow was active.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName duration

MaxValue 2147483647
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

KnowledgeArticleIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName knowledgearticleidname

MaxLength 100
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics CRM options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the SDK


message request is associated.

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

ProcessIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName processidname

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the business process instance.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
NewProcess_ProcessSessions
lk_newprocess_workflowlogs
NewProcess_SyncErrors
NewProcess_ProcessSessions
Same as processsession entity NewProcess_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName NewProcess_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade
lk_newprocess_workflowlogs
Same as workflowlog entity lk_newprocess_workflowlogs Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog

ReferencingAttribute asyncoperationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName workflowlogs_newprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

NewProcess_SyncErrors
Same as syncerror entity NewProcess_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName NewProcess_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_newprocess_activestageid
lk_newprocess_knowledgearticleid
lk_newprocess_processid
lk_newprocess_createdby
lk_newprocess_modifiedonbehalfby
lk_newprocess_createdonbehalfby
lk_newprocess_modifiedby
transactioncurrency_newprocess
organization_newprocess
lk_newprocess_activestageid
See processstage Entity lk_newprocess_activestageid One-To-Many relationship.
lk_newprocess_knowledgearticleid
See knowledgearticle Entity lk_newprocess_knowledgearticleid One-To-Many relationship.
lk_newprocess_processid
See workflow Entity lk_newprocess_processid One-To-Many relationship.
lk_newprocess_createdby
See systemuser Entity lk_newprocess_createdby One-To-Many relationship.
lk_newprocess_modifiedonbehalfby
See systemuser Entity lk_newprocess_modifiedonbehalfby One-To-Many relationship.
lk_newprocess_createdonbehalfby
See systemuser Entity lk_newprocess_createdonbehalfby One-To-Many relationship.
lk_newprocess_modifiedby
See systemuser Entity lk_newprocess_modifiedby One-To-Many relationship.
transactioncurrency_newprocess
See transactioncurrency Entity transactioncurrency_newprocess One-To-Many relationship.
organization_newprocess
See organization Entity organization_newprocess One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
newprocess EntityType
OfficeGraphDocument Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Office Graph Documents Description

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/officegraphdocumen RetrieveMultiple
ts
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName OfficeGraphDocuments

DisplayCollectionName Office Graph Documents

DisplayName Office Graph Document

EntitySetName officegraphdocuments

IsBPFEntity False

LogicalCollectionName officegraphdocuments

LogicalName officegraphdocument

OwnershipType OrganizationOwned

PrimaryIdAttribute officegraphdocumentid

PrimaryNameAttribute title

SchemaName OfficeGraphDocument

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
DocumentId
OfficeGraphDocumentId
TimeZoneRuleVersionNumber
Title
TransactionCurrencyId
UTCConversionTimeZoneCode
DocumentId
PROPERTY VALUE

Description Document Id.

DisplayName Document Id

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName documentid

MaxLength 100

RequiredLevel SystemRequired

Type String

OfficeGraphDocumentId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName OfficeGraphDocument

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName officegraphdocumentid

RequiredLevel SystemRequired

Type Uniqueidentifier

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Title
PROPERTY VALUE

Description The title of the entity.

DisplayName Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName title

MaxLength 100

RequiredLevel SystemRequired

Type String

TransactionCurrencyId
PROPERTY VALUE

Description Exchange rate for the currency associated with the Office
Graph Document with respect to the base currency.

DisplayName Currency
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AuthorNames
CreatedBy
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CreatedTime
DocumentLastModifiedBy
DocumentLastModifiedOn
DocumentPreviewMetadata
ExchangeRate
FileExtension
FileType
ModifiedBy
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
ModifiedTime
OrganizationId
OrganizationIdName
PreviewImageUrl
QueryType
Rank
ReadUrl
SecondaryFileExtension
SiteTitle
SiteUrl
TransactionCurrencyIdName
VersionNumber
ViewCount
WebLocationUrl
AuthorNames
PROPERTY VALUE

Description Shows Author Names of Office Graph Document.

DisplayName Author Names

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName authornames

MaxLength 2000

RequiredLevel None

Type String

CreatedBy
PROPERTY VALUE

Description Shows Created By of Office Graph Document.


PROPERTY VALUE

DisplayName Created By

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdby

MaxLength 2000

RequiredLevel None

Type String

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created Time

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdtime
PROPERTY VALUE

RequiredLevel None

Type DateTime

DocumentLastModifiedBy
PROPERTY VALUE

Description Document Last Modified By

DisplayName Document Last Modified By

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName documentlastmodifiedby

MaxLength 100

RequiredLevel None

Type String

DocumentLastModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Document Last Modified On

DisplayName Document Last Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName documentlastmodifiedon

RequiredLevel None

Type DateTime

DocumentPreviewMetadata
PROPERTY VALUE

Description document preview metadata

DisplayName document preview metadata

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName documentpreviewmetadata

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the Office
Graph Document with respect to the base currency.

DisplayName ExchangeRate

IsValidForForm False

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

FileExtension
PROPERTY VALUE

Description File Extension of Office Graph Document.


PROPERTY VALUE

DisplayName File Extension

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName fileextension

MaxLength 2000

RequiredLevel None

Type String

FileType
PROPERTY VALUE

Description Shows the File Type of Office Graph Document.

DisplayName File Type

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName filetype

MaxLength 2000

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Shows modified by of Office Graph Document.

DisplayName Modified By

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

MaxLength 2000

RequiredLevel None

Type String

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified Time

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedtime

RequiredLevel None
PROPERTY VALUE

Type DateTime

OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

PreviewImageUrl
PROPERTY VALUE

Description Shows the Preview Image Url Office Graph Document.


PROPERTY VALUE

DisplayName Preview Image Url

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName previewimageurl

MaxLength 2000

RequiredLevel None

Type String

QueryType
PROPERTY VALUE

Description Shows Query Type of child folders

DisplayName Query Type

Format None

IsValidForForm False

IsValidForRead True

LogicalName querytype

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

Rank
PROPERTY VALUE

Description The relevancy rank of the document retrieved

DisplayName Relevancy Rank of the Document

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName rank

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

ReadUrl
PROPERTY VALUE

Description The online read url

DisplayName Read Url

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName readurl

MaxLength 100

RequiredLevel None

Type String

SecondaryFileExtension
PROPERTY VALUE

Description Secondary File Extension of Office Graph Document.

DisplayName Secondary File Extension

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName secondaryfileextension

MaxLength 2000

RequiredLevel None

Type String

SiteTitle
PROPERTY VALUE

Description The title of the parent document site

DisplayName Parent Site Title

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sitetitle

MaxLength 100

RequiredLevel None

Type String

SiteUrl
PROPERTY VALUE

Description The site url for the parent document site

DisplayName Site Url

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName siteurl
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt
ViewCount
PROPERTY VALUE

Description Shows View Count of child folders.

DisplayName View Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName viewcount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

WebLocationUrl
PROPERTY VALUE

Description Shows the Web Location Url of Office Graph Document.

DisplayName Web Location Url

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName weblocationurl

MaxLength 2000

RequiredLevel None

Type String

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_officegraphdocument_createdonbehalfby
lk_officegraphdocument_modifiedonbehalfby
organization_officegraphdocument
TransactionCurrency_officegraphdocument
lk_officegraphdocument_createdonbehalfby
See systemuser Entity lk_officegraphdocument_createdonbehalfby One-To-Many relationship.
lk_officegraphdocument_modifiedonbehalfby
See systemuser Entity lk_officegraphdocument_modifiedonbehalfby One-To-Many relationship.
organization_officegraphdocument
See organization Entity organization_officegraphdocument One-To-Many relationship.
TransactionCurrency_officegraphdocument
See transactioncurrency Entity TransactionCurrency_officegraphdocument One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
officegraphdocument EntityType
Organization Entity Reference
4/3/2019 • 77 minutes to read • Edit Online

Top level of the Microsoft Dynamics 365 business hierarchy. The organization can be a specific business, holding
company, or corporation.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/organizations(organi Retrieve
zationid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/organizations RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/organizations(organi Update
zationid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Organizations

DisplayCollectionName Organizations

DisplayName Organization

EntitySetName organizations

IsBPFEntity False

LogicalCollectionName organizations

LogicalName organization

OwnershipType OrganizationOwned

PrimaryIdAttribute organizationid

PrimaryNameAttribute name

SchemaName Organization
Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ACIWebEndpointUrl
AcknowledgementTemplateId
AllowAddressBookSyncs
AllowAutoResponseCreation
AllowAutoUnsubscribe
AllowAutoUnsubscribeAcknowledgement
AllowClientMessageBarAd
AllowEntityOnlyAudit
AllowLegacyClientExperience
AllowLegacyDialogsEmbedding
AllowMarketingEmailExecution
AllowOfflineScheduledSyncs
AllowOutlookScheduledSyncs
AllowUnresolvedPartiesOnEmailSend
AllowUserFormModePreference
AllowUsersSeeAppdownloadMessage
AllowWebExcelExport
AMDesignator
AppDesignerExperienceEnabled
AppointmentRichEditorExperience
AutoApplyDefaultonCaseCreate
AutoApplyDefaultonCaseUpdate
AutoApplySLA
AzureSchedulerJobCollectionName
BaseCurrencyId
BingMapsApiKey
BlockedAttachments
BoundDashboardDefaultCardExpanded
BulkOperationPrefix
BusinessClosureCalendarId
CalendarType
CampaignPrefix
CascadeStatusUpdate
CasePrefix
CategoryPrefix
ClientFeatureSet
ContractPrefix
CortanaProactiveExperienceEnabled
CreateProductsWithoutParentInActiveState
CurrencyDecimalPrecision
CurrencyDisplayOption
CurrencyFormatCode
CurrencySymbol
CurrentBulkOperationNumber
CurrentCampaignNumber
CurrentCaseNumber
CurrentCategoryNumber
CurrentContractNumber
CurrentInvoiceNumber
CurrentKaNumber
CurrentKbNumber
CurrentOrderNumber
CurrentQuoteNumber
DateFormatCode
DateFormatString
DateSeparator
DecimalSymbol
DefaultCountryCode
DefaultCrmCustomName
DefaultEmailServerProfileId
DefaultEmailSettings
DefaultMobileOfflineProfileId
DefaultRecurrenceEndRangeType
DefaultThemeData
DelegatedAdminUserId
DisableSocialCare
DiscountCalculationMethod
DisplayNavigationTour
EmailConnectionChannel
EmailCorrelationEnabled
EmailSendPollingPeriod
EnableBingMapsIntegration
EnableImmersiveSkypeIntegration
EnableLivePersonaCardUCI
EnableLPAuthoring
EnableMicrosoftFlowIntegration
EnablePricingOnCreate
EnableSmartMatching
EnableUnifiedInterfaceShellRefresh
EnforceReadOnlyPlugins
EntityImage
ExpireChangeTrackingInDays
ExpireSubscriptionsInDays
ExternalBaseUrl
ExternalPartyCorrelationKeys
ExternalPartyEntitySettings
FeatureSet
FiscalCalendarStart
FiscalPeriodFormat
FiscalPeriodFormatPeriod
FiscalPeriodType
FiscalYearDisplayCode
FiscalYearFormat
FiscalYearFormatPrefix
FiscalYearFormatSuffix
FiscalYearFormatYear
FiscalYearPeriodConnect
FullNameConventionCode
FutureExpansionWindow
GenerateAlertsForErrors
GenerateAlertsForInformation
GenerateAlertsForWarnings
GetStartedPaneContentEnabled
GlobalAppendUrlParametersEnabled
GlobalHelpUrl
GlobalHelpUrlEnabled
GoalRollupExpiryTime
GoalRollupFrequency
GrantAccessToNetworkService
HashDeltaSubjectCount
HashFilterKeywords
HashMaxCount
HashMinAddressCount
HighContrastThemeData
IgnoreInternalEmail
InactivityTimeoutEnabled
InactivityTimeoutInMins
InactivityTimeoutReminderInMins
IncomingEmailExchangeEmailRetrievalBatchSize
InitialVersion
IntegrationUserId
InvoicePrefix
IsActionCardEnabled
IsActionSupportFeatureEnabled
IsActivityAnalysisEnabled
IsAppMode
IsAppointmentAttachmentSyncEnabled
IsAssignedTasksSyncEnabled
IsAuditEnabled
IsAutoDataCaptureEnabled
IsAutoSaveEnabled
IsBPFEntityCustomizationFeatureEnabled
IsConflictDetectionEnabledForMobileClient
IsContactMailingAddressSyncEnabled
IsDefaultCountryCodeCheckEnabled
IsDelegateAccessEnabled
IsDelveActionHubIntegrationEnabled
IsDuplicateDetectionEnabled
IsDuplicateDetectionEnabledForImport
IsDuplicateDetectionEnabledForOfflineSync
IsDuplicateDetectionEnabledForOnlineCreateUpdate
IsEmailMonitoringAllowed
IsEmailServerProfileContentFilteringEnabled
IsEnabledForAllRoles
IsExternalFileStorageEnabled
IsExternalSearchIndexEnabled
IsFiscalPeriodMonthBased
IsFolderAutoCreatedonSP
IsFolderBasedTrackingEnabled
IsFullTextSearchEnabled
IsHierarchicalSecurityModelEnabled
IsLUISEnabledforD365Bot
IsMailboxForcedUnlockingEnabled
IsMailboxInactiveBackoffEnabled
IsManualSalesForecastingEnabled
IsMobileClientOnDemandSyncEnabled
IsMobileOfflineEnabled
IsMSTeamsCollaborationEnabled
IsMSTeamsEnabled
IsMSTeamsSettingChangedByUser
IsMSTeamsUserSyncEnabled
IsNotesAnalysisEnabled
IsOfficeGraphEnabled
IsOneDriveEnabled
IsPresenceEnabled
IsPreviewEnabledForActionCard
IsPreviewForAutoCaptureEnabled
IsPreviewForEmailMonitoringAllowed
IsReadAuditEnabled
IsRelationshipInsightsEnabled
IsResourceBookingExchangeSyncEnabled
IsSOPIntegrationEnabled
IsTextWrapEnabled
IsUserAccessAuditEnabled
ISVIntegrationCode
KaPrefix
KbPrefix
KMSettings
LanguageCode
LocaleId
LongDateFormatCode
MailboxIntermittentIssueMinRange
MailboxPermanentIssueMinRange
MaxActionStepsInBPF
MaxAppointmentDurationDays
MaxConditionsForMobileOfflineFilters
MaxDepthForHierarchicalSecurityModel
MaxFolderBasedTrackingMappings
MaximumActiveBusinessProcessFlowsAllowedPerEntity
MaximumDynamicPropertiesAllowed
MaximumEntitiesWithActiveSLA
MaximumSLAKPIPerEntityWithActiveSLA
MaximumTrackingNumber
MaxProductsInBundle
MaxRecordsForExportToExcel
MaxRecordsForLookupFilters
MaxUploadFileSize
MicrosoftFlowEnvironment
MinAddressBookSyncInterval
MinOfflineSyncInterval
MinOutlookSyncInterval
MobileOfflineSyncInterval
Name
NegativeCurrencyFormatCode
NegativeFormatCode
NextTrackingNumber
NotifyMailboxOwnerOfEmailServerLevelAlerts
NumberFormat
NumberGroupFormat
NumberSeparator
OfficeAppsAutoDeploymentEnabled
OfficeGraphDelveUrl
OOBPriceCalculationEnabled
OrderPrefix
OrgDbOrgSettings
OrgInsightsEnabled
PastExpansionWindow
Picture
PinpointLanguageCode
PluginTraceLogSetting
PMDesignator
PostMessageWhitelistDomains
PowerBiFeatureEnabled
PricingDecimalPrecision
PrivacyStatementUrl
PrivilegeUserGroupId
PrivReportingGroupId
PrivReportingGroupName
ProductRecommendationsEnabled
QuickFindRecordLimitEnabled
QuotePrefix
RecurrenceDefaultNumberOfOccurrences
RecurrenceExpansionJobBatchInterval
RecurrenceExpansionJobBatchSize
RecurrenceExpansionSynchCreateMax
ReferenceSiteMapXml
RenderSecureIFrameForEmail
ReportingGroupId
ReportingGroupName
ReportScriptErrors
RequireApprovalForQueueEmail
RequireApprovalForUserEmail
ResolveSimilarUnresolvedEmailAddress
RestrictStatusUpdate
RiErrorStatus
SampleDataImportId
SchemaNamePrefix
ServeStaticResourcesFromAzureCDN
SessionTimeoutEnabled
SessionTimeoutInMins
SessionTimeoutReminderInMins
SharePointDeploymentType
ShareToPreviousOwnerOnAssign
ShowKBArticleDeprecationNotification
ShowWeekNumber
SignupOutlookDownloadFWLink
SiteMapXml
SlaPauseStates
SocialInsightsEnabled
SocialInsightsInstance
SocialInsightsTermsAccepted
SortId
SqlAccessGroupId
SqlAccessGroupName
SQMEnabled
SupportUserId
SuppressSLA
SyncBulkOperationBatchSize
SyncBulkOperationMaxLimit
SyncOptInSelection
SyncOptInSelectionStatus
SystemUserId
TagMaxAggressiveCycles
TagPollingPeriod
TaskBasedFlowEnabled
TextAnalyticsEnabled
TimeFormatCode
TimeFormatString
TimeSeparator
TimeZoneRuleVersionNumber
TokenExpiry
TokenKey
TrackingPrefix
TrackingTokenIdBase
TrackingTokenIdDigits
UniqueSpecifierLength
UnresolveEmailAddressIfMultipleMatch
UseInbuiltRuleForDefaultPricelistSelection
UseLegacyRendering
UsePositionHierarchy
UserAccessAuditingInterval
UseReadForm
UserGroupId
UseSkypeProtocol
UTCConversionTimeZoneCode
WebResourceHash
WeekStartDayCode
WidgetProperties
YammerGroupId
YammerNetworkPermalink
YammerOAuthAccessTokenExpired
YammerPostMethod
YearStartWeekCode
ACIWebEndpointUrl
PROPERTY VALUE

Description ACI Web Endpoint URL.

DisplayName ACI Tenant URL.

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName aciwebendpointurl
PROPERTY VALUE

MaxLength 500

RequiredLevel None

Type String

AcknowledgementTemplateId
PROPERTY VALUE

Description Unique identifier of the template to be used for


acknowledgement when a user unsubscribes.

DisplayName Acknowledgement Template

IsValidForForm False

IsValidForRead True

LogicalName acknowledgementtemplateid

RequiredLevel None

Targets template

Type Lookup

AllowAddressBookSyncs
PROPERTY VALUE

Description Indicates whether background address book synchronization


in Microsoft Office Outlook is allowed.

DisplayName Allow Address Book Synchronization

IsValidForForm False

IsValidForRead True

LogicalName allowaddressbooksyncs

RequiredLevel SystemRequired

Type Boolean

AllowAddressBookSyncs Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
AllowAutoResponseCreation
PROPERTY VALUE

Description Indicates whether automatic response creation is allowed.

DisplayName Allow Automatic Response Creation

IsValidForForm False

IsValidForRead True

LogicalName allowautoresponsecreation

RequiredLevel None

Type Boolean

AllowAutoResponseCreation Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowAutoUnsubscribe
PROPERTY VALUE

Description Indicates whether automatic unsubscribe is allowed.

DisplayName Allow Automatic Unsubscribe

IsValidForForm False

IsValidForRead True

LogicalName allowautounsubscribe

RequiredLevel None

Type Boolean

AllowAutoUnsubscribe Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowAutoUnsubscribeAcknowledgement
PROPERTY VALUE

Description Indicates whether automatic unsubscribe acknowledgement


email is allowed to send.

DisplayName Allow Automatic Unsubscribe Acknowledgement

IsValidForForm False

IsValidForRead True

LogicalName allowautounsubscribeacknowledgement

RequiredLevel None

Type Boolean

AllowAutoUnsubscribeAcknowledgement Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowClientMessageBarAd
PROPERTY VALUE

Description Indicates whether Outlook Client message bar advertisement


is allowed.

DisplayName Allow Outlook Client Message Bar Advertisement

IsValidForForm False

IsValidForRead True

LogicalName allowclientmessagebarad

RequiredLevel SystemRequired

Type Boolean
PROPERTY VALUE

AllowClientMessageBarAd Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowEntityOnlyAudit
PROPERTY VALUE

Description Indicates whether auditing of changes to entity is allowed


when no attributes have changed.

DisplayName Allow Entity Level Auditing

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName allowentityonlyaudit

RequiredLevel SystemRequired

Type Boolean

AllowEntityOnlyAudit Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
AllowLegacyClientExperience
PROPERTY VALUE

Description Enable access to legacy web client UI

DisplayName Enable access to legacy web client UI

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName allowlegacyclientexperience

RequiredLevel SystemRequired

Type Boolean

AllowLegacyClientExperience Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
AllowLegacyDialogsEmbedding
PROPERTY VALUE

Description Enable embedding of certain legacy dialogs in Unified Interface


browser client

DisplayName Enable embedding of certain legacy dialogs in Unified Interface


browser client

IsValidForForm False

IsValidForRead True

LogicalName allowlegacydialogsembedding

RequiredLevel SystemRequired

Type Boolean

AllowLegacyDialogsEmbedding Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
AllowMarketingEmailExecution
PROPERTY VALUE

Description Indicates whether marketing emails execution is allowed.


PROPERTY VALUE

DisplayName Allow Marketing Email Execution

IsValidForForm False

IsValidForRead True

LogicalName allowmarketingemailexecution

RequiredLevel SystemRequired

Type Boolean

AllowMarketingEmailExecution Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowOfflineScheduledSyncs
PROPERTY VALUE

Description Indicates whether background offline synchronization in


Microsoft Office Outlook is allowed.

DisplayName Allow Offline Scheduled Synchronization

IsValidForForm False

IsValidForRead True

LogicalName allowofflinescheduledsyncs

RequiredLevel SystemRequired

Type Boolean

AllowOfflineScheduledSyncs Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowOutlookScheduledSyncs
PROPERTY VALUE

Description Indicates whether scheduled synchronizations to Outlook are


allowed.

DisplayName Allow Scheduled Synchronization

IsValidForForm False

IsValidForRead True

LogicalName allowoutlookscheduledsyncs

RequiredLevel SystemRequired

Type Boolean

AllowOutlookScheduledSyncs Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowUnresolvedPartiesOnEmailSend
PROPERTY VALUE

Description Indicates whether users are allowed to send email to


unresolved parties (parties must still have an email address).

DisplayName Allow Unresolved Address Email Send

IsValidForForm False

IsValidForRead True

LogicalName allowunresolvedpartiesonemailsend

RequiredLevel SystemRequired

Type Boolean

AllowUnresolvedPartiesOnEmailSend Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AllowUserFormModePreference
PROPERTY VALUE

Description Indicates whether individuals can select their form mode


preference in their personal options.

DisplayName Allow User Form Mode Preference

IsValidForForm False

IsValidForRead True

LogicalName allowuserformmodepreference

RequiredLevel SystemRequired

Type Boolean

AllowUserFormModePreference Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
AllowUsersSeeAppdownloadMessage
PROPERTY VALUE

Description Indicates whether the showing tablet application notification


bars in a browser is allowed.

DisplayName Allow the showing tablet application notification bars in a


browser.

IsValidForForm False

IsValidForRead True

LogicalName allowusersseeappdownloadmessage

RequiredLevel SystemRequired

Type Boolean

AllowUsersSeeAppdownloadMessage Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: True
AllowWebExcelExport
PROPERTY VALUE

Description Indicates whether Web-based export of grids to Microsoft


Office Excel is allowed.

DisplayName Allow Export to Excel

IsValidForForm False

IsValidForRead True

LogicalName allowwebexcelexport

RequiredLevel SystemRequired

Type Boolean

AllowWebExcelExport Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
AMDesignator
PROPERTY VALUE

Description AM designator to use throughout Microsoft Dynamics CRM.

DisplayName AM Designator

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName amdesignator

MaxLength 25
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

AppDesignerExperienceEnabled
PROPERTY VALUE

Description Indicates whether the appDesignerExperience is enabled for


the organization.

DisplayName Enable App Designer Experience for this Organization

IsValidForForm False

IsValidForRead True

LogicalName appdesignerexperienceenabled

RequiredLevel SystemRequired

Type Boolean

AppDesignerExperienceEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AppointmentRichEditorExperience
Added by: Activities Solution

PROPERTY VALUE

Description Information on whether rich editing experience for


Appointment is enabled.

DisplayName Enable Rich Editing Experience for Appointment

IsValidForForm False

IsValidForRead True

LogicalName appointmentricheditorexperience

RequiredLevel SystemRequired

Type Boolean
AppointmentRichEditorExperience Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AutoApplyDefaultonCaseCreate
PROPERTY VALUE

Description Select whether to auto apply the default customer entitlement


on case creation.

DisplayName Auto Apply Default Entitlement on Case Create

IsValidForForm False

IsValidForRead True

LogicalName autoapplydefaultoncasecreate

RequiredLevel SystemRequired

Type Boolean

AutoApplyDefaultonCaseCreate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AutoApplyDefaultonCaseUpdate
PROPERTY VALUE

Description Select whether to auto apply the default customer entitlement


on case update.

DisplayName Auto Apply Default Entitlement on Case Update

IsValidForForm False

IsValidForRead True

LogicalName autoapplydefaultoncaseupdate

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

AutoApplyDefaultonCaseUpdate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AutoApplySLA
PROPERTY VALUE

Description Indicates whether to Auto-apply SLA on case record update


after SLA was manually applied.

DisplayName Is Auto-apply SLA After Manually Over-riding

IsValidForForm False

IsValidForRead True

LogicalName autoapplysla

RequiredLevel SystemRequired

Type Boolean

AutoApplySLA Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
AzureSchedulerJobCollectionName
PROPERTY VALUE

Description For internal use only.

DisplayName For internal use only.

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName azureschedulerjobcollectionname

MaxLength 100

RequiredLevel None

Type String

BaseCurrencyId
PROPERTY VALUE

Description Unique identifier of the base currency of the organization.

DisplayName Currency

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName basecurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

BingMapsApiKey
PROPERTY VALUE

Description Api Key to be used in requests to Bing Maps services.

DisplayName Bing Maps API Key

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName bingmapsapikey
PROPERTY VALUE

MaxLength 1024

RequiredLevel None

Type String

BlockedAttachments
PROPERTY VALUE

Description Prevent upload or download of certain attachment types that


are considered dangerous.

DisplayName Block Attachments

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName blockedattachments

MaxLength 1073741823

RequiredLevel None

Type String

BoundDashboardDefaultCardExpanded
PROPERTY VALUE

Description Display cards in expanded state for interactive dashboard

DisplayName Display cards in expanded state for Interactive Dashboard

IsValidForForm False

IsValidForRead True

LogicalName bounddashboarddefaultcardexpanded

RequiredLevel SystemRequired

Type Boolean

BoundDashboardDefaultCardExpanded Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
BulkOperationPrefix
PROPERTY VALUE

Description Prefix used for bulk operation numbering.

DisplayName Bulk Operation Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName bulkoperationprefix

MaxLength 20

RequiredLevel SystemRequired

Type String

BusinessClosureCalendarId
PROPERTY VALUE

Description Unique identifier of the business closure calendar of


organization.

DisplayName Business Closure Calendar

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName businessclosurecalendarid

RequiredLevel None

Type Uniqueidentifier

CalendarType
PROPERTY VALUE

Description Calendar type for the system. Set to Gregorian US by default.

DisplayName Calendar Type

Format None

IsValidForForm False

IsValidForRead True

LogicalName calendartype

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CampaignPrefix
PROPERTY VALUE

Description Prefix used for campaign numbering.

DisplayName Campaign Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName campaignprefix

MaxLength 20

RequiredLevel SystemRequired

Type String

CascadeStatusUpdate
PROPERTY VALUE

Description Flag to cascade Update on incident.

DisplayName Cascade Status Update


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName cascadestatusupdate

RequiredLevel None

Type Boolean

CascadeStatusUpdate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CasePrefix
PROPERTY VALUE

Description Prefix to use for all cases throughout Microsoft Dynamics 365.

DisplayName Case Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName caseprefix

MaxLength 20

RequiredLevel None

Type String

CategoryPrefix
PROPERTY VALUE

Description Type the prefix to use for all categories in Microsoft Dynamics
365.

DisplayName Category Prefix


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName categoryprefix

MaxLength 20

RequiredLevel SystemRequired

Type String

ClientFeatureSet
PROPERTY VALUE

Description Client Features to be enabled as an XML BLOB.

DisplayName Client Feature Set

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName clientfeatureset

MaxLength 1073741823

RequiredLevel None

Type String

ContractPrefix
PROPERTY VALUE

Description Prefix to use for all contracts throughout Microsoft Dynamics


365.

DisplayName Contract Prefix

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName contractprefix

MaxLength 20

RequiredLevel None

Type String

CortanaProactiveExperienceEnabled
PROPERTY VALUE

Description Indicates whether the feature CortanaProactiveExperience


Flow processes should be enabled for the organization.

DisplayName Enable Cortana Proactive Experience Flow processes for this


Organization

IsValidForForm False

IsValidForRead True

LogicalName cortanaproactiveexperienceenabled

RequiredLevel SystemRequired

Type Boolean

CortanaProactiveExperienceEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CreateProductsWithoutParentInActiveState
PROPERTY VALUE

Description Enable Initial state of newly created products to be Active


instead of Draft

DisplayName Enable Active Initial Product State


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createproductswithoutparentinactivestate

RequiredLevel SystemRequired

Type Boolean

CreateProductsWithoutParentInActiveState Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CurrencyDecimalPrecision
PROPERTY VALUE

Description Number of decimal places that can be used for currency.

DisplayName Currency Decimal Precision

Format None

IsValidForForm False

IsValidForRead True

LogicalName currencydecimalprecision

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

CurrencyDisplayOption
PROPERTY VALUE

Description Indicates whether to display money fields with currency code


or currency symbol.

DisplayName Display Currencies Using


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName currencydisplayoption

RequiredLevel SystemRequired

Type Picklist

CurrencyDisplayOption Options

VALUE LABEL

0 Currency symbol

1 Currency code

CurrencyFormatCode
PROPERTY VALUE

Description Information about how currency symbols are placed


throughout Microsoft Dynamics CRM.

DisplayName Currency Format Code

IsValidForForm False

IsValidForRead True

LogicalName currencyformatcode

RequiredLevel SystemRequired

Type Picklist

CurrencyFormatCode Options

VALUE LABEL

0 $123

1 123$

2 $ 123

3 123 $

CurrencySymbol
PROPERTY VALUE

Description Symbol used for currency throughout Microsoft Dynamics


365.

DisplayName Currency Symbol

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName currencysymbol

MaxLength 13

RequiredLevel None

Type String

CurrentBulkOperationNumber
PROPERTY VALUE

Description Current bulk operation number. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Bulk Operation Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentbulkoperationnumber

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

CurrentCampaignNumber
PROPERTY VALUE
PROPERTY VALUE

Description Current campaign number. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Campaign Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentcampaignnumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CurrentCaseNumber
PROPERTY VALUE

Description First case number to use. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Case Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentcasenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CurrentCategoryNumber
PROPERTY VALUE
PROPERTY VALUE

Description Enter the first number to use for Categories. Deprecated. Use
SetAutoNumberSeed message.

DisplayName Current Category Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentcategorynumber

MaxValue 2147483647

MinValue -1

RequiredLevel SystemRequired

Type Integer

CurrentContractNumber
PROPERTY VALUE

Description First contract number to use. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Contract Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentcontractnumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CurrentInvoiceNumber
PROPERTY VALUE
PROPERTY VALUE

Description First invoice number to use. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Invoice Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentinvoicenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CurrentKaNumber
PROPERTY VALUE

Description Enter the first number to use for knowledge articles.


Deprecated. Use SetAutoNumberSeed message.

DisplayName Current Knowledge Article Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentkanumber

MaxValue 2147483647

MinValue -1

RequiredLevel SystemRequired

Type Integer

CurrentKbNumber
PROPERTY VALUE
PROPERTY VALUE

Description First article number to use. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Article Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentkbnumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CurrentOrderNumber
PROPERTY VALUE

Description First order number to use. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Order Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentordernumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CurrentQuoteNumber
PROPERTY VALUE
PROPERTY VALUE

Description First quote number to use. Deprecated. Use


SetAutoNumberSeed message.

DisplayName Current Quote Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentquotenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

DateFormatCode
PROPERTY VALUE

Description Information about how the date is displayed throughout


Microsoft CRM.

DisplayName Date Format Code

IsValidForForm False

IsValidForRead True

LogicalName dateformatcode

RequiredLevel SystemRequired

Type Picklist

DateFormatCode Options

VALUE LABEL

DateFormatString
PROPERTY VALUE

Description String showing how the date is displayed throughout


Microsoft CRM.

DisplayName Date Format String


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName dateformatstring

MaxLength 255

RequiredLevel None

Type String

DateSeparator
PROPERTY VALUE

Description Character used to separate the month, the day, and the year
in dates throughout Microsoft Dynamics 365.

DisplayName Date Separator

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName dateseparator

MaxLength 5

RequiredLevel None

Type String

DecimalSymbol
PROPERTY VALUE

Description Symbol used for decimal in Microsoft Dynamics 365.

DisplayName Decimal Symbol

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName decimalsymbol

MaxLength 5

RequiredLevel SystemRequired

Type String

DefaultCountryCode
PROPERTY VALUE

Description Text area to enter default country code.

DisplayName Default Country Code

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultcountrycode

MaxLength 30

RequiredLevel None

Type String

DefaultCrmCustomName
PROPERTY VALUE

Description Name of the default crm custom.

DisplayName Name of the default app

FormatName Text

IsLocalizable True

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName defaultcrmcustomname

MaxLength 100

RequiredLevel SystemRequired

Type String

DefaultEmailServerProfileId
PROPERTY VALUE

Description Unique identifier of the default email server profile.

DisplayName Email Server Profile

IsValidForForm True

IsValidForRead True

LogicalName defaultemailserverprofileid

RequiredLevel None

Targets emailserverprofile

Type Lookup

DefaultEmailSettings
PROPERTY VALUE

Description XML string containing the default email settings that are
applied when a user or queue is created.

DisplayName Default Email Settings

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultemailsettings

MaxLength 1073741823
PROPERTY VALUE

RequiredLevel None

Type String

DefaultMobileOfflineProfileId
PROPERTY VALUE

Description Unique identifier of the default mobile offline profile.

DisplayName Default Mobile Offline Profile

IsValidForForm True

IsValidForRead True

LogicalName defaultmobileofflineprofileid

RequiredLevel None

Targets mobileofflineprofile

Type Lookup

DefaultRecurrenceEndRangeType
PROPERTY VALUE

Description Type of default recurrence end range date.

DisplayName Default Recurrence End Range Type

IsValidForForm True

IsValidForRead True

LogicalName defaultrecurrenceendrangetype

RequiredLevel None

Type Picklist

DefaultRecurrenceEndRangeType Options

VALUE LABEL

1 No End Date

2 Number of Occurrences

3 End By Date
DefaultThemeData
PROPERTY VALUE

Description Default theme data for the organization.

DisplayName Default Theme Data

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultthemedata

MaxLength 1073741823

RequiredLevel None

Type Memo

DelegatedAdminUserId
PROPERTY VALUE

Description Unique identifier of the delegated admin user for the


organization.

DisplayName Delegated Admin

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName delegatedadminuserid

RequiredLevel None

Type Uniqueidentifier

DisableSocialCare
PROPERTY VALUE

Description Indicates whether Social Care is disabled.

DisplayName Is Social Care disabled


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName disablesocialcare

RequiredLevel SystemRequired

Type Boolean

DisableSocialCare Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
DiscountCalculationMethod
PROPERTY VALUE

Description Discount calculation method for the QOOI product.

DisplayName Discount calculation method

IsValidForForm False

IsValidForRead True

LogicalName discountcalculationmethod

RequiredLevel SystemRequired

Type Picklist

DiscountCalculationMethod Options

VALUE LABEL

0 Line item

1 Per unit

DisplayNavigationTour
PROPERTY VALUE

Description Indicates whether or not navigation tour is displayed.


PROPERTY VALUE

DisplayName Display Navigation Tour

IsValidForForm False

IsValidForRead True

LogicalName displaynavigationtour

RequiredLevel SystemRequired

Type Boolean

DisplayNavigationTour Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EmailConnectionChannel
PROPERTY VALUE

Description Select if you want to use the Email Router or server-side


synchronization for email processing.

DisplayName Email Connection Channel

IsValidForForm False

IsValidForRead True

LogicalName emailconnectionchannel

RequiredLevel SystemRequired

Type Picklist

EmailConnectionChannel Options

VALUE LABEL

0 Server-Side Synchronization

1 Microsoft Dynamics 365 Email Router

EmailCorrelationEnabled
PROPERTY VALUE

Description Flag to turn email correlation on or off.

DisplayName Use Email Correlation

IsValidForForm False

IsValidForRead True

LogicalName emailcorrelationenabled

RequiredLevel SystemRequired

Type Boolean

EmailCorrelationEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EmailSendPollingPeriod
PROPERTY VALUE

Description Normal polling frequency used for sending email in Microsoft


Office Outlook.

DisplayName Email Send Polling Frequency

Format None

IsValidForForm False

IsValidForRead True

LogicalName emailsendpollingperiod

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

EnableBingMapsIntegration
PROPERTY VALUE

Description Enable Integration with Bing Maps

DisplayName Enable Integration with Bing Maps

IsValidForForm False

IsValidForRead True

LogicalName enablebingmapsintegration

RequiredLevel SystemRequired

Type Boolean

EnableBingMapsIntegration Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EnableImmersiveSkypeIntegration
PROPERTY VALUE

Description Enable Integration with Immersive Skype

DisplayName Enable Integration with Immersive Skype

IsValidForForm False

IsValidForRead True

LogicalName enableimmersiveskypeintegration

RequiredLevel SystemRequired

Type Boolean

EnableImmersiveSkypeIntegration Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EnableLivePersonaCardUCI
PROPERTY VALUE

Description Indicates whether the user has enabled or disabled Live


Persona Card feature in UCI.

DisplayName Indicates whether the user has enabled or disabled Live


Persona Card feature in UCI.

IsValidForForm False

IsValidForRead True

LogicalName enablelivepersonacarduci

RequiredLevel SystemRequired

Type Boolean

EnableLivePersonaCardUCI Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EnableLPAuthoring
PROPERTY VALUE

Description Select to enable learning path auhtoring.

DisplayName Enable Learning Path Authoring

IsValidForForm False

IsValidForRead True

LogicalName enablelpauthoring

RequiredLevel SystemRequired

Type Boolean

EnableLPAuthoring Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EnableMicrosoftFlowIntegration
PROPERTY VALUE

Description Enable Integration with Microsoft Flow

DisplayName Enable Integration with Microsoft Flow

IsValidForForm False

IsValidForRead True

LogicalName enablemicrosoftflowintegration

RequiredLevel SystemRequired

Type Boolean

EnableMicrosoftFlowIntegration Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EnablePricingOnCreate
PROPERTY VALUE

Description Enable pricing calculations on a Create call.

DisplayName Enable Pricing On Create

IsValidForForm False

IsValidForRead True

LogicalName enablepricingoncreate

RequiredLevel SystemRequired

Type Boolean

EnablePricingOnCreate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EnableSmartMatching
PROPERTY VALUE

Description Use Smart Matching.

DisplayName Enable Smart Matching

IsValidForForm False

IsValidForRead True

LogicalName enablesmartmatching

RequiredLevel None

Type Boolean

EnableSmartMatching Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EnableUnifiedInterfaceShellRefresh
PROPERTY VALUE

Description Enable site map and commanding update

DisplayName Enable site map and commanding update

IsValidForForm False

IsValidForRead True

LogicalName enableunifiedinterfaceshellrefresh

RequiredLevel SystemRequired

Type Boolean

EnableUnifiedInterfaceShellRefresh Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
EnforceReadOnlyPlugins
PROPERTY VALUE

Description Organization setting to enforce read only plugins.

DisplayName Organization setting to enforce read only plugins.

IsValidForForm False

IsValidForRead True

LogicalName enforcereadonlyplugins

RequiredLevel SystemRequired

Type Boolean

EnforceReadOnlyPlugins Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
EntityImage
PROPERTY VALUE

Description The default image for the entity.

DisplayName Entity Image

IsPrimaryImage False

IsValidForForm False

IsValidForRead True

LogicalName entityimage

MaxHeight 144

MaxWidth 144

RequiredLevel None

Type Image

ExpireChangeTrackingInDays
PROPERTY VALUE

Description Maximum number of days to keep change tracking deleted


records

DisplayName Days to Expire Change Tracking Deleted Records

Format None

IsValidForForm False

IsValidForRead True

LogicalName expirechangetrackingindays

MaxValue 365

MinValue 0

RequiredLevel SystemRequired

Type Integer

ExpireSubscriptionsInDays
PROPERTY VALUE

Description Maximum number of days before deleting inactive


subscriptions.

DisplayName Days to Expire Subscriptions

Format None

IsValidForForm False

IsValidForRead True

LogicalName expiresubscriptionsindays

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

ExternalBaseUrl
PROPERTY VALUE
PROPERTY VALUE

Description Specify the base URL to use to look for external document
suggestions.

DisplayName External Base URL

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName externalbaseurl

MaxLength 500

RequiredLevel None

Type String

ExternalPartyCorrelationKeys
PROPERTY VALUE

Description XML string containing the ExternalPartyEnabled entities


correlation keys for association of existing External Party
instance entities to newly created IsExternalPartyEnabled
entities.For internal use only

DisplayName ExternalPartyEnabled Entities correlation Keys

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName externalpartycorrelationkeys

MaxLength 1073741823

RequiredLevel None

Type String

ExternalPartyEntitySettings
PROPERTY VALUE

Description XML string containing the ExternalPartyEnabled entities


settings.

DisplayName ExternalPartyEnabled Entities Settings.For internal use only

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName externalpartyentitysettings

MaxLength 1073741823

RequiredLevel None

Type String

FeatureSet
PROPERTY VALUE

Description Features to be enabled as an XML BLOB.

DisplayName Feature Set

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName featureset

MaxLength 1073741823

RequiredLevel None

Type String

FiscalCalendarStart
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Start date for the fiscal period that is to be used throughout
Microsoft CRM.

DisplayName Fiscal Calendar Start

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName fiscalcalendarstart

RequiredLevel None

Type DateTime

FiscalPeriodFormat
PROPERTY VALUE

Description Information that specifies how the name of the fiscal period is
displayed throughout Microsoft CRM.

DisplayName Fiscal Period Format

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName fiscalperiodformat

MaxLength 25

RequiredLevel None

Type String

FiscalPeriodFormatPeriod
PROPERTY VALUE

Description Format in which the fiscal period will be displayed.

DisplayName Format for Fiscal Period

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName fiscalperiodformatperiod

RequiredLevel None

Type Picklist

FiscalPeriodFormatPeriod Options

VALUE LABEL

1 Quarter {0}

2 Q{0}

3 P{0}

4 Month {0}

5 M{0}

6 Semester {0}

7 Month Name

FiscalPeriodType
PROPERTY VALUE

Description Type of fiscal period used throughout Microsoft CRM.

DisplayName Fiscal Period Type

Format None

IsValidForForm False

IsValidForRead True

LogicalName fiscalperiodtype

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

FiscalYearDisplayCode
PROPERTY VALUE

Description Information that specifies whether the fiscal year should be


displayed based on the start date or the end date of the fiscal
year.

DisplayName Fiscal Year Display

Format None

IsValidForForm False

IsValidForRead True

LogicalName fiscalyeardisplaycode

MaxValue

MinValue

RequiredLevel SystemRequired

Type Integer

FiscalYearFormat
PROPERTY VALUE

Description Information that specifies how the name of the fiscal year is
displayed throughout Microsoft CRM.

DisplayName Fiscal Year Format

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName fiscalyearformat

MaxLength 25

RequiredLevel None

Type String

FiscalYearFormatPrefix
PROPERTY VALUE

Description Prefix for the display of the fiscal year.

DisplayName Prefix for Fiscal Year

IsValidForForm False

IsValidForRead True

LogicalName fiscalyearformatprefix

RequiredLevel None

Type Picklist

FiscalYearFormatPrefix Options

VALUE LABEL

1 FY

FiscalYearFormatSuffix
PROPERTY VALUE

Description Suffix for the display of the fiscal year.

DisplayName Suffix for Fiscal Year

IsValidForForm False

IsValidForRead True

LogicalName fiscalyearformatsuffix

RequiredLevel None

Type Picklist

FiscalYearFormatSuffix Options

VALUE LABEL

1 FY

2 Fiscal Year

FiscalYearFormatYear
PROPERTY VALUE

Description Format for the year.

DisplayName Fiscal Year Format Year

IsValidForForm False

IsValidForRead True

LogicalName fiscalyearformatyear

RequiredLevel None

Type Picklist

FiscalYearFormatYear Options

VALUE LABEL

1 YYYY

2 YY

3 GGYY

FiscalYearPeriodConnect
PROPERTY VALUE

Description Information that specifies how the names of the fiscal year and
the fiscal period should be connected when displayed together.

DisplayName Fiscal Year Period Connector

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName fiscalyearperiodconnect

MaxLength 5

RequiredLevel SystemRequired

Type String

FullNameConventionCode
PROPERTY VALUE

Description Order in which names are to be displayed throughout


Microsoft CRM.

DisplayName Full Name Display Order

IsValidForForm False

IsValidForRead True

LogicalName fullnameconventioncode

RequiredLevel SystemRequired

Type Picklist

FullNameConventionCode Options

VALUE LABEL

0 Last Name, First Name

1 First Name

2 Last Name, First Name, Middle Initial

3 First Name, Middle Initial, Last Name

4 Last Name, First Name, Middle Name

5 First Name, Middle Name, Last Name

6 Last Name, space, First Name

7 Last Name, no space, First Name

FutureExpansionWindow
PROPERTY VALUE

Description Specifies the maximum number of months in future for which


the recurring activities can be created.

DisplayName Future Expansion Window

Format None

IsValidForForm False

IsValidForRead True

LogicalName futureexpansionwindow
PROPERTY VALUE

MaxValue 140

MinValue 1

RequiredLevel SystemRequired

Type Integer

GenerateAlertsForErrors
PROPERTY VALUE

Description Indicates whether alerts will be generated for errors.

DisplayName Generate Alerts For Errors

IsValidForForm False

IsValidForRead True

LogicalName generatealertsforerrors

RequiredLevel SystemRequired

Type Boolean

GenerateAlertsForErrors Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
GenerateAlertsForInformation
PROPERTY VALUE

Description Indicates whether alerts will be generated for information.

DisplayName Generate Alerts For Information

IsValidForForm False

IsValidForRead True

LogicalName generatealertsforinformation

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

GenerateAlertsForInformation Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
GenerateAlertsForWarnings
PROPERTY VALUE

Description Indicates whether alerts will be generated for warnings.

DisplayName Generate Alerts For Warnings

IsValidForForm False

IsValidForRead True

LogicalName generatealertsforwarnings

RequiredLevel SystemRequired

Type Boolean

GenerateAlertsForWarnings Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
GetStartedPaneContentEnabled
PROPERTY VALUE

Description Indicates whether Get Started content is enabled for this


organization.

DisplayName Is Get Started Pane Content Enabled

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName getstartedpanecontentenabled

RequiredLevel SystemRequired

Type Boolean

GetStartedPaneContentEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
GlobalAppendUrlParametersEnabled
PROPERTY VALUE

Description Indicates whether the append URL parameters is enabled.

DisplayName Is AppendUrl Parameters enabled

IsValidForForm False

IsValidForRead True

LogicalName globalappendurlparametersenabled

RequiredLevel SystemRequired

Type Boolean

GlobalAppendUrlParametersEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
GlobalHelpUrl
PROPERTY VALUE

Description URL for the web page global help.

DisplayName Global Help URL.

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName globalhelpurl

MaxLength 500

RequiredLevel None

Type String

GlobalHelpUrlEnabled
PROPERTY VALUE

Description Indicates whether the customizable global help is enabled.

DisplayName Is Customizable Global Help enabled

IsValidForForm False

IsValidForRead True

LogicalName globalhelpurlenabled

RequiredLevel SystemRequired

Type Boolean

GlobalHelpUrlEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
GoalRollupExpiryTime
PROPERTY VALUE

Description Number of days after the goal's end date after which the
rollup of the goal stops automatically.

DisplayName Rollup Expiration Time for Goal

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName goalrollupexpirytime

MaxValue 400

MinValue 0

RequiredLevel SystemRequired

Type Integer

GoalRollupFrequency
PROPERTY VALUE

Description Number of hours between automatic rollup jobs .

DisplayName Automatic Rollup Frequency for Goal

Format None

IsValidForForm False

IsValidForRead True

LogicalName goalrollupfrequency

MaxValue 2147483647

MinValue 1

RequiredLevel SystemRequired

Type Integer

GrantAccessToNetworkService
PROPERTY VALUE

Description For internal use only.

DisplayName Grant Access To Network Service

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName grantaccesstonetworkservice

RequiredLevel None

Type Boolean

GrantAccessToNetworkService Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
HashDeltaSubjectCount
PROPERTY VALUE

Description Maximum difference allowed between subject keywords count


of the email messaged to be correlated

DisplayName Hash Delta Subject Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName hashdeltasubjectcount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

HashFilterKeywords
PROPERTY VALUE

Description Filter Subject Keywords

DisplayName Hash Filter Keywords

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName hashfilterkeywords

MaxLength 1073741823

RequiredLevel None

Type String

HashMaxCount
PROPERTY VALUE

Description Maximum number of subject keywords or recipients used for


correlation

DisplayName Hash Max Count

Format None

IsValidForForm False

IsValidForRead True

LogicalName hashmaxcount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

HashMinAddressCount
PROPERTY VALUE

Description Minimum number of recipients required to match for email


messaged to be correlated

DisplayName Hash Min Address Count

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName hashminaddresscount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

HighContrastThemeData
PROPERTY VALUE

Description High contrast theme data for the organization.

DisplayName High contrast Theme Data

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName highcontrastthemedata

MaxLength 1073741823

RequiredLevel None

Type Memo

IgnoreInternalEmail
PROPERTY VALUE

Description Indicates whether incoming email sent by internal Microsoft


Dynamics 365 users or queues should be tracked.

DisplayName Ignore Internal Email

IsValidForForm False

IsValidForRead True

LogicalName ignoreinternalemail

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

IgnoreInternalEmail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
InactivityTimeoutEnabled
PROPERTY VALUE

Description Information that specifies whether Inactivity timeout is


enabled

DisplayName Inactivity timeout enabled

IsValidForForm False

IsValidForRead True

LogicalName inactivitytimeoutenabled

RequiredLevel SystemRequired

Type Boolean

InactivityTimeoutEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
InactivityTimeoutInMins
PROPERTY VALUE

Description Inactivity timeout in minutes

DisplayName Inactivity timeout in minutes

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName inactivitytimeoutinmins

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

InactivityTimeoutReminderInMins
PROPERTY VALUE

Description Inactivity timeout reminder in minutes

DisplayName Inactivity timeout reminder in minutes

Format None

IsValidForForm False

IsValidForRead True

LogicalName inactivitytimeoutreminderinmins

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

IncomingEmailExchangeEmailRetrievalBatchSize
PROPERTY VALUE

Description Setting for the Async Service Mailbox Queue. Defines the
retrieval batch size of exchange server.

DisplayName Exchange Email Retrieval Batch Size

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName incomingemailexchangeemailretrievalbatchsize

MaxValue 2147483647

MinValue 1

RequiredLevel None

Type Integer

InitialVersion
PROPERTY VALUE

Description Initial version of the organization.

DisplayName Initial Version

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName initialversion

MaxLength 20

RequiredLevel None

Type String

IntegrationUserId
PROPERTY VALUE

Description Unique identifier of the integration user for the organization.

DisplayName Integration User

IsValidForForm False

IsValidForRead True

LogicalName integrationuserid

RequiredLevel None
PROPERTY VALUE

Type Uniqueidentifier

InvoicePrefix
PROPERTY VALUE

Description Prefix to use for all invoice numbers throughout Microsoft


Dynamics 365.

DisplayName Invoice Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName invoiceprefix

MaxLength 20

RequiredLevel None

Type String

IsActionCardEnabled
PROPERTY VALUE

Description Indicates whether the feature Action Card should be enabled


for the organization.

DisplayName Enable Action Card for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isactioncardenabled

RequiredLevel SystemRequired

Type Boolean

IsActionCardEnabled Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
IsActionSupportFeatureEnabled
PROPERTY VALUE

Description Information that specifies whether Action Support Feature is


enabled

DisplayName Action Support Feature enabled

IsValidForForm False

IsValidForRead True

LogicalName isactionsupportfeatureenabled

RequiredLevel SystemRequired

Type Boolean

IsActionSupportFeatureEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsActivityAnalysisEnabled
PROPERTY VALUE

Description Indicates whether the feature Relationship Analytics should be


enabled for the organization.

DisplayName Enable Relationship Analytics for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isactivityanalysisenabled

RequiredLevel SystemRequired

Type Boolean

IsActivityAnalysisEnabled Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsAppMode
PROPERTY VALUE

Description Indicates whether loading of Microsoft Dynamics 365 in a


browser window that does not have address, tool, and menu
bars is enabled.

DisplayName Is Application Mode Enabled

IsValidForForm False

IsValidForRead True

LogicalName isappmode

RequiredLevel SystemRequired

Type Boolean

IsAppMode Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsAppointmentAttachmentSyncEnabled
PROPERTY VALUE

Description Enable or disable attachments sync for outlook and exchange.

DisplayName Is Attachment Sync Enabled

IsValidForForm False

IsValidForRead True

LogicalName isappointmentattachmentsyncenabled

RequiredLevel SystemRequired

Type Boolean
PROPERTY VALUE

IsAppointmentAttachmentSyncEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsAssignedTasksSyncEnabled
PROPERTY VALUE

Description Enable or disable assigned tasks sync for outlook and


exchange.

DisplayName Is Assigned Tasks Sync Enabled

IsValidForForm False

IsValidForRead True

LogicalName isassignedtaskssyncenabled

RequiredLevel SystemRequired

Type Boolean

IsAssignedTasksSyncEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsAuditEnabled
PROPERTY VALUE

Description Enable or disable auditing of changes.

DisplayName Is Auditing Enabled

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName isauditenabled

RequiredLevel SystemRequired

Type Boolean

IsAuditEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsAutoDataCaptureEnabled
PROPERTY VALUE

Description Indicates whether the feature Auto Capture should be enabled


for the organization.

DisplayName Enable Auto Capture for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isautodatacaptureenabled

RequiredLevel SystemRequired

Type Boolean

IsAutoDataCaptureEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsAutoSaveEnabled
PROPERTY VALUE

Description Information on whether auto save is enabled.

DisplayName Auto Save Enabled


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName isautosaveenabled

RequiredLevel SystemRequired

Type Boolean

IsAutoSaveEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsBPFEntityCustomizationFeatureEnabled
PROPERTY VALUE

Description Information that specifies whether BPF Entity Customization


Feature is enabled

DisplayName BPF Entity Customization Feature enabled

IsValidForForm False

IsValidForRead True

LogicalName isbpfentitycustomizationfeatureenabled

RequiredLevel SystemRequired

Type Boolean

IsBPFEntityCustomizationFeatureEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsConflictDetectionEnabledForMobileClient
PROPERTY VALUE

Description Information that specifies whether conflict detection for mobile


client is enabled.

DisplayName Is Conflict Detection for Mobile Client enabled

IsValidForForm False

IsValidForRead True

LogicalName isconflictdetectionenabledformobileclient

RequiredLevel SystemRequired

Type Boolean

IsConflictDetectionEnabledForMobileClient Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsContactMailingAddressSyncEnabled
PROPERTY VALUE

Description Enable or disable mailing address sync for outlook and


exchange.

DisplayName Is Mailing Address Sync Enabled

IsValidForForm False

IsValidForRead True

LogicalName iscontactmailingaddresssyncenabled

RequiredLevel SystemRequired

Type Boolean

IsContactMailingAddressSyncEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsDefaultCountryCodeCheckEnabled
PROPERTY VALUE

Description Enable or disable country code selection.

DisplayName Enable or disable country code selection

IsValidForForm False

IsValidForRead True

LogicalName isdefaultcountrycodecheckenabled

RequiredLevel SystemRequired

Type Boolean

IsDefaultCountryCodeCheckEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsDelegateAccessEnabled
PROPERTY VALUE

Description Enable Delegation Access content

DisplayName Is Delegation Access Enabled

IsValidForForm False

IsValidForRead True

LogicalName isdelegateaccessenabled

RequiredLevel SystemRequired

Type Boolean

IsDelegateAccessEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsDelveActionHubIntegrationEnabled
PROPERTY VALUE

Description Indicates whether the feature Action Hub should be enabled


for the organization.

DisplayName Enable Action Hub for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isdelveactionhubintegrationenabled

RequiredLevel SystemRequired

Type Boolean

IsDelveActionHubIntegrationEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsDuplicateDetectionEnabled
PROPERTY VALUE

Description Indicates whether duplicate detection of records is enabled.

DisplayName Is Duplicate Detection Enabled

IsValidForForm False

IsValidForRead True

LogicalName isduplicatedetectionenabled

RequiredLevel SystemRequired

Type Boolean

IsDuplicateDetectionEnabled Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
IsDuplicateDetectionEnabledForImport
PROPERTY VALUE

Description Indicates whether duplicate detection of records during import


is enabled.

DisplayName Is Duplicate Detection Enabled For Import

IsValidForForm False

IsValidForRead True

LogicalName isduplicatedetectionenabledforimport

RequiredLevel SystemRequired

Type Boolean

IsDuplicateDetectionEnabledForImport Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsDuplicateDetectionEnabledForOfflineSync
PROPERTY VALUE

Description Indicates whether duplicate detection of records during offline


synchronization is enabled.

DisplayName Is Duplicate Detection Enabled For Offline Synchronization

IsValidForForm False

IsValidForRead True

LogicalName isduplicatedetectionenabledforofflinesync

RequiredLevel SystemRequired

Type Boolean

IsDuplicateDetectionEnabledForOfflineSync Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
IsDuplicateDetectionEnabledForOnlineCreateUpdate
PROPERTY VALUE

Description Indicates whether duplicate detection during online create or


update is enabled.

DisplayName Is Duplicate Detection Enabled for Online Create/Update

IsValidForForm False

IsValidForRead True

LogicalName isduplicatedetectionenabledforonlinecreateupdate

RequiredLevel SystemRequired

Type Boolean

IsDuplicateDetectionEnabledForOnlineCreateUpdate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsEmailMonitoringAllowed
PROPERTY VALUE

Description Allow tracking recipient activity on sent emails.

DisplayName Allow tracking recipient activity on sent emails

IsValidForForm False

IsValidForRead True

LogicalName isemailmonitoringallowed

RequiredLevel SystemRequired

Type Boolean

IsEmailMonitoringAllowed Options
VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsEmailServerProfileContentFilteringEnabled
PROPERTY VALUE

Description Enable Email Server Profile content filtering

DisplayName Is Email Server Profile Content Filtering Enabled

IsValidForForm False

IsValidForRead True

LogicalName isemailserverprofilecontentfilteringenabled

RequiredLevel SystemRequired

Type Boolean

IsEmailServerProfileContentFilteringEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsEnabledForAllRoles
PROPERTY VALUE

Description Indicates whether appmodule is enabled for all roles

DisplayName option set values for isenabledforallroles

IsValidForForm False

IsValidForRead True

LogicalName isenabledforallroles

RequiredLevel SystemRequired

Type Boolean

IsEnabledForAllRoles Options
VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsExternalFileStorageEnabled
PROPERTY VALUE

Description Indicates whether the organization's files are being stored in


Azure.

DisplayName Enable external file storage

IsValidForForm False

IsValidForRead True

LogicalName isexternalfilestorageenabled

RequiredLevel SystemRequired

Type Boolean

IsExternalFileStorageEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsExternalSearchIndexEnabled
PROPERTY VALUE

Description Select whether data can be synchronized with an external


search index.

DisplayName Enable external search data syncing

IsValidForForm False

IsValidForRead True

LogicalName isexternalsearchindexenabled

RequiredLevel SystemRequired

Type Boolean
PROPERTY VALUE

IsExternalSearchIndexEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsFiscalPeriodMonthBased
PROPERTY VALUE

Description Indicates whether the fiscal period is displayed as the month


number.

DisplayName Is Fiscal Period Monthly

IsValidForForm False

IsValidForRead True

LogicalName isfiscalperiodmonthbased

RequiredLevel SystemRequired

Type Boolean

IsFiscalPeriodMonthBased Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsFolderAutoCreatedonSP
PROPERTY VALUE

Description Select whether folders should be automatically created on


SharePoint.

DisplayName Automatically create folders

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName isfolderautocreatedonsp

RequiredLevel SystemRequired

Type Boolean

IsFolderAutoCreatedonSP Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsFolderBasedTrackingEnabled
PROPERTY VALUE

Description Enable or disable folder based tracking for Server Side Sync.

DisplayName Is Folder Based Tracking Enabled

IsValidForForm False

IsValidForRead True

LogicalName isfolderbasedtrackingenabled

RequiredLevel SystemRequired

Type Boolean

IsFolderBasedTrackingEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsFullTextSearchEnabled
PROPERTY VALUE

Description Indicates whether full-text search for Quick Find entities


should be enabled for the organization.

DisplayName Enable Full-text search for Quick Find


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName isfulltextsearchenabled

RequiredLevel SystemRequired

Type Boolean

IsFullTextSearchEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsHierarchicalSecurityModelEnabled
PROPERTY VALUE

Description Enable Hierarchical Security Model

DisplayName Enable Hierarchical Security Model

IsValidForForm False

IsValidForRead True

LogicalName ishierarchicalsecuritymodelenabled

RequiredLevel SystemRequired

Type Boolean

IsHierarchicalSecurityModelEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsLUISEnabledforD365Bot
PROPERTY VALUE

Description Give Consent to use LUIS in Dynamics 365 Bot


PROPERTY VALUE

DisplayName LUIS Consent for Dynamics 365 Bot

IsValidForForm False

IsValidForRead True

LogicalName isluisenabledford365bot

RequiredLevel SystemRequired

Type Boolean

IsLUISEnabledforD365Bot Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMailboxForcedUnlockingEnabled
PROPERTY VALUE

Description Enable or disable forced unlocking for Server Side Sync


mailboxes.

DisplayName Is Mailbox Forced Unlocking Enabled

IsValidForForm False

IsValidForRead True

LogicalName ismailboxforcedunlockingenabled

RequiredLevel SystemRequired

Type Boolean

IsMailboxForcedUnlockingEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMailboxInactiveBackoffEnabled
PROPERTY VALUE

Description Enable or disable mailbox keep alive for Server Side Sync.

DisplayName Is Mailbox Keep Alive Enabled

IsValidForForm False

IsValidForRead True

LogicalName ismailboxinactivebackoffenabled

RequiredLevel SystemRequired

Type Boolean

IsMailboxInactiveBackoffEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsManualSalesForecastingEnabled
PROPERTY VALUE

Description Indicates whether Manual Sales Forecasting feature has been


enabled for the organization.

DisplayName Enable Manual Sales Forecasting feature for this organization

IsValidForForm False

IsValidForRead True

LogicalName ismanualsalesforecastingenabled

RequiredLevel SystemRequired

Type Boolean

IsManualSalesForecastingEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMobileClientOnDemandSyncEnabled
PROPERTY VALUE

Description Information that specifies whether mobile client on demand


sync is enabled.

DisplayName Is Mobile Client On Demand Sync enabled

IsValidForForm False

IsValidForRead True

LogicalName ismobileclientondemandsyncenabled

RequiredLevel SystemRequired

Type Boolean

IsMobileClientOnDemandSyncEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMobileOfflineEnabled
PROPERTY VALUE

Description Indicates whether the feature MobileOffline should be enabled


for the organization.

DisplayName Enable MobileOffline for this Organization

IsValidForForm False

IsValidForRead True

LogicalName ismobileofflineenabled

RequiredLevel SystemRequired

Type Boolean

IsMobileOfflineEnabled Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
IsMSTeamsCollaborationEnabled
PROPERTY VALUE

Description Indicates whether Microsoft Teams Collaboration feature has


been enabled for the organization.

DisplayName Enable Microsoft Teams Collaboration for this organization

IsValidForForm False

IsValidForRead True

LogicalName ismsteamscollaborationenabled

RequiredLevel SystemRequired

Type Boolean

IsMSTeamsCollaborationEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMSTeamsEnabled
PROPERTY VALUE

Description Indicates whether Microsoft Teams integration has been


enabled for the organization.

DisplayName Enable Microsoft Teams integration

IsValidForForm False

IsValidForRead True

LogicalName ismsteamsenabled

RequiredLevel SystemRequired

Type Boolean

IsMSTeamsEnabled Options

VALUE LABEL

1 Yes
VALUE LABEL

0 No

DefaultValue: False
IsMSTeamsSettingChangedByUser
PROPERTY VALUE

Description Indicates whether the user has enabled or disabled Microsoft


Teams integration.

DisplayName Microsoft Teams integration changed by user

IsValidForForm False

IsValidForRead True

LogicalName ismsteamssettingchangedbyuser

RequiredLevel SystemRequired

Type Boolean

IsMSTeamsSettingChangedByUser Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsMSTeamsUserSyncEnabled
PROPERTY VALUE

Description Indicates whether Microsoft Teams User Sync feature has been
enabled for the organization.

DisplayName Enable Microsoft Teams User Sync for this organization

IsValidForForm False

IsValidForRead True

LogicalName ismsteamsusersyncenabled

RequiredLevel SystemRequired

Type Boolean

IsMSTeamsUserSyncEnabled Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsNotesAnalysisEnabled
PROPERTY VALUE

Description Indicates whether the feature Notes Analysis should be


enabled for the organization.

DisplayName Enable Notes Analysis for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isnotesanalysisenabled

RequiredLevel SystemRequired

Type Boolean

IsNotesAnalysisEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsOfficeGraphEnabled
PROPERTY VALUE

Description Indicates whether the feature OfficeGraph should be enabled


for the organization.

DisplayName Enable OfficeGraph for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isofficegraphenabled

RequiredLevel SystemRequired

Type Boolean
PROPERTY VALUE

IsOfficeGraphEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsOneDriveEnabled
PROPERTY VALUE

Description Indicates whether the feature One Drive should be enabled for
the organization.

DisplayName Enable One Drive for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isonedriveenabled

RequiredLevel SystemRequired

Type Boolean

IsOneDriveEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsPresenceEnabled
PROPERTY VALUE

Description Information on whether IM presence is enabled.

DisplayName Presence Enabled

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName ispresenceenabled

RequiredLevel None

Type Boolean

IsPresenceEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsPreviewEnabledForActionCard
PROPERTY VALUE

Description Indicates whether the Preview feature for Action Card should
be enabled for the organization.

DisplayName Enable Preview Action Card feature for this Organization

IsValidForForm False

IsValidForRead True

LogicalName ispreviewenabledforactioncard

RequiredLevel SystemRequired

Type Boolean

IsPreviewEnabledForActionCard Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsPreviewForAutoCaptureEnabled
PROPERTY VALUE

Description Indicates whether the feature Auto Capture should be enabled


for the organization at Preview Settings.

DisplayName Enable Auto Capture for this Organization at Preview Settings


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName ispreviewforautocaptureenabled

RequiredLevel SystemRequired

Type Boolean

IsPreviewForAutoCaptureEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsPreviewForEmailMonitoringAllowed
PROPERTY VALUE

Description Is Preview For Email Monitoring Allowed.

DisplayName Allows Preview For Email Monitoring

IsValidForForm False

IsValidForRead True

LogicalName ispreviewforemailmonitoringallowed

RequiredLevel SystemRequired

Type Boolean

IsPreviewForEmailMonitoringAllowed Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsReadAuditEnabled
PROPERTY VALUE

Description Enable or disable auditing of read operations.


PROPERTY VALUE

DisplayName Is Read Auditing Enabled

IsValidForForm False

IsValidForRead True

LogicalName isreadauditenabled

RequiredLevel SystemRequired

Type Boolean

IsReadAuditEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsRelationshipInsightsEnabled
PROPERTY VALUE

Description Indicates whether the feature Relationship Insights should be


enabled for the organization.

DisplayName Enable Relationship Insights for this Organization

IsValidForForm False

IsValidForRead True

LogicalName isrelationshipinsightsenabled

RequiredLevel SystemRequired

Type Boolean

IsRelationshipInsightsEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsResourceBookingExchangeSyncEnabled
PROPERTY VALUE

Description Indicates if the synchronization of user resource booking with


Exchange is enabled at organization level.

DisplayName Resource booking synchronization enabled

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName isresourcebookingexchangesyncenabled

RequiredLevel SystemRequired

Type Boolean

IsResourceBookingExchangeSyncEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsSOPIntegrationEnabled
PROPERTY VALUE

Description Enable sales order processing integration.

DisplayName Is Sales Order Integration Enabled

IsValidForForm False

IsValidForRead True

LogicalName issopintegrationenabled

RequiredLevel SystemRequired

Type Boolean

IsSOPIntegrationEnabled Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
IsTextWrapEnabled
PROPERTY VALUE

Description Information on whether text wrap is enabled.

DisplayName Enable Text Wrap

IsValidForForm False

IsValidForRead True

LogicalName istextwrapenabled

RequiredLevel SystemRequired

Type Boolean

IsTextWrapEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
IsUserAccessAuditEnabled
PROPERTY VALUE

Description Enable or disable auditing of user access.

DisplayName Is User Access Auditing Enabled

IsValidForForm False

IsValidForRead True

LogicalName isuseraccessauditenabled

RequiredLevel SystemRequired

Type Boolean

IsUserAccessAuditEnabled Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
ISVIntegrationCode
PROPERTY VALUE

Description Indicates whether loading of Microsoft Dynamics 365 in a


browser window that does not have address, tool, and menu
bars is enabled.

DisplayName ISV Integration Mode

IsValidForForm False

IsValidForRead True

LogicalName isvintegrationcode

RequiredLevel SystemRequired

Type Picklist

ISVIntegrationCode Options

VALUE LABEL

0 None

1 Web

2 Outlook Workstation Client

3 Web; Outlook Workstation Client

4 Outlook Laptop Client

5 Web; Outlook Laptop Client

6 Outlook

7 All

KaPrefix
PROPERTY VALUE

Description Type the prefix to use for all knowledge articles in Microsoft
Dynamics 365.

DisplayName Knowledge Article Prefix

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName kaprefix

MaxLength 20

RequiredLevel SystemRequired

Type String

KbPrefix
PROPERTY VALUE

Description Prefix to use for all articles in Microsoft Dynamics 365.

DisplayName Article Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName kbprefix

MaxLength 20

RequiredLevel None

Type String

KMSettings
PROPERTY VALUE

Description XML string containing the Knowledge Management settings


that are applied in Knowledge Management Wizard.

DisplayName Knowledge Management Settings

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName kmsettings

MaxLength 1073741823

RequiredLevel None

Type String

LanguageCode
PROPERTY VALUE

Description Preferred language for the organization.

DisplayName Language

Format Locale

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName languagecode

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

LocaleId
PROPERTY VALUE

Description Unique identifier of the locale of the organization.

DisplayName Locale

Format Locale

IsValidForForm False

IsValidForRead True

LogicalName localeid
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

LongDateFormatCode
PROPERTY VALUE

Description Information that specifies how the Long Date format is


displayed in Microsoft Dynamics 365.

DisplayName Long Date Format

Format None

IsValidForForm False

IsValidForRead True

LogicalName longdateformatcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MailboxIntermittentIssueMinRange
PROPERTY VALUE

Description Lower Threshold For Mailbox Intermittent Issue.

DisplayName Lower Threshold For Mailbox Intermittent Issue

Format None

IsValidForForm False

IsValidForRead True

LogicalName mailboxintermittentissueminrange

MaxValue 2147483647
PROPERTY VALUE

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MailboxPermanentIssueMinRange
PROPERTY VALUE

Description Lower Threshold For Mailbox Permanent Issue.

DisplayName Lower Threshold For Mailbox Permanent Issue.

Format None

IsValidForForm False

IsValidForRead True

LogicalName mailboxpermanentissueminrange

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MaxActionStepsInBPF
PROPERTY VALUE

Description Maximum number of actionsteps allowed in a BPF

DisplayName Maximum number of actionsteps allowed in a BPF

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxactionstepsinbpf

MaxValue 100

MinValue 0

RequiredLevel SystemRequired
PROPERTY VALUE

Type Integer

MaxAppointmentDurationDays
PROPERTY VALUE

Description Maximum number of days an appointment can last.

DisplayName Max Appointment Duration

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxappointmentdurationdays

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MaxConditionsForMobileOfflineFilters
PROPERTY VALUE

Description Maximum number of conditions allowed for mobile offline


filters

DisplayName Maximum number of conditions allowed for mobile offline


filters

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxconditionsformobileofflinefilters

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer
MaxDepthForHierarchicalSecurityModel
PROPERTY VALUE

Description Maximum depth for hierarchy security propagation.

DisplayName Maximum depth for hierarchy security propagation.

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxdepthforhierarchicalsecuritymodel

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MaxFolderBasedTrackingMappings
PROPERTY VALUE

Description Maximum number of Folder Based Tracking mappings user


can add

DisplayName Max Folder Based Tracking Mappings

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxfolderbasedtrackingmappings

MaxValue 25

MinValue 1

RequiredLevel SystemRequired

Type Integer

MaximumActiveBusinessProcessFlowsAllowedPerEntity
PROPERTY VALUE
PROPERTY VALUE

Description Maximum number of active business process flows allowed per


entity

DisplayName Maximum active business process flows per entity

Format None

IsValidForForm False

IsValidForRead True

LogicalName maximumactivebusinessprocessflowsallowedperentity

MaxValue 2147483647

MinValue 1

RequiredLevel None

Type Integer

MaximumDynamicPropertiesAllowed
PROPERTY VALUE

Description Restrict the maximum number of product properties for a


product family/bundle

DisplayName Product Properties Item Limit

Format None

IsValidForForm False

IsValidForRead True

LogicalName maximumdynamicpropertiesallowed

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MaximumEntitiesWithActiveSLA
PROPERTY VALUE

Description Maximum number of active SLA allowed per entity in online


PROPERTY VALUE

DisplayName Maximum number of active SLA allowed per entity in online

Format None

IsValidForForm False

IsValidForRead True

LogicalName maximumentitieswithactivesla

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

MaximumSLAKPIPerEntityWithActiveSLA
PROPERTY VALUE

Description Maximum number of SLA KPI per active SLA allowed for entity
in online

DisplayName Maximum number of active SLA KPI allowed per entity in


online

Format None

IsValidForForm False

IsValidForRead True

LogicalName maximumslakpiperentitywithactivesla

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

MaximumTrackingNumber
PROPERTY VALUE

Description Maximum tracking number before recycling takes place.

DisplayName Max Tracking Number


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName maximumtrackingnumber

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

MaxProductsInBundle
PROPERTY VALUE

Description Restrict the maximum no of items in a bundle

DisplayName Bundle Item Limit

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxproductsinbundle

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MaxRecordsForExportToExcel
PROPERTY VALUE

Description Maximum number of records that will be exported to a static


Microsoft Office Excel worksheet when exporting from the
grid.

DisplayName Max Records For Excel Export

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName maxrecordsforexporttoexcel

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MaxRecordsForLookupFilters
PROPERTY VALUE

Description Maximum number of lookup and picklist records that can be


selected by user for filtering.

DisplayName Max Records Filter Selection

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxrecordsforlookupfilters

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MaxUploadFileSize
PROPERTY VALUE

Description Maximum allowed size of an attachment.

DisplayName Max Upload File Size

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName maxuploadfilesize

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MicrosoftFlowEnvironment
PROPERTY VALUE

Description Environment selected for Integration with Microsoft Flow

DisplayName Environment selected for Integration with Microsoft Flow

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName microsoftflowenvironment

MaxLength 1024

RequiredLevel None

Type String

MinAddressBookSyncInterval
PROPERTY VALUE

Description Normal polling frequency used for address book


synchronization in Microsoft Office Outlook.

DisplayName Min Address Synchronization Frequency

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName minaddressbooksyncinterval

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MinOfflineSyncInterval
PROPERTY VALUE

Description Normal polling frequency used for background offline


synchronization in Microsoft Office Outlook.

DisplayName Min Offline Synchronization Frequency

Format None

IsValidForForm False

IsValidForRead True

LogicalName minofflinesyncinterval

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MinOutlookSyncInterval
PROPERTY VALUE

Description Minimum allowed time between scheduled Outlook


synchronizations.

DisplayName Min Synchronization Frequency

Format None

IsValidForForm False

IsValidForRead True

LogicalName minoutlooksyncinterval
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MobileOfflineSyncInterval
PROPERTY VALUE

Description Sync interval for mobile offline.

DisplayName Sync interval for mobile offline.

Format None

IsValidForForm False

IsValidForRead True

LogicalName mobileofflinesyncinterval

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

Name
PROPERTY VALUE

Description Name of the organization. The name is set when Microsoft


CRM is installed and should not be changed.

DisplayName Organization Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName name

MaxLength 160

RequiredLevel SystemRequired

Type String

NegativeCurrencyFormatCode
PROPERTY VALUE

Description Information that specifies how negative currency numbers are


displayed throughout Microsoft Dynamics 365.

DisplayName Negative Currency Format

Format None

IsValidForForm False

IsValidForRead True

LogicalName negativecurrencyformatcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

NegativeFormatCode
PROPERTY VALUE

Description Information that specifies how negative numbers are displayed


throughout Microsoft CRM.

DisplayName Negative Format

IsValidForForm False

IsValidForRead True

LogicalName negativeformatcode

RequiredLevel SystemRequired

Type Picklist
NegativeFormatCode Options

VALUE LABEL

0 Brackets

1 Dash

2 Dash plus Space

3 Trailing Dash

4 Space plus Trailing Dash

NextTrackingNumber
PROPERTY VALUE

Description Next token to be placed on the subject line of an email


message.

DisplayName Next Tracking Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName nexttrackingnumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

NotifyMailboxOwnerOfEmailServerLevelAlerts
PROPERTY VALUE

Description Indicates whether mailbox owners will be notified of email


server profile level alerts.

DisplayName Notify Mailbox Owner Of Email Server Level Alerts

IsValidForForm False

IsValidForRead True

LogicalName notifymailboxownerofemailserverlevelalerts
PROPERTY VALUE

RequiredLevel SystemRequired

Type Boolean

NotifyMailboxOwnerOfEmailServerLevelAlerts Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
NumberFormat
PROPERTY VALUE

Description Specification of how numbers are displayed throughout


Microsoft CRM.

DisplayName Number Format

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName numberformat

MaxLength 2

RequiredLevel None

Type String

NumberGroupFormat
PROPERTY VALUE

Description Specifies how numbers are grouped in Microsoft Dynamics


365.

DisplayName Number Grouping Format

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName numbergroupformat

MaxLength 50

RequiredLevel None

Type String

NumberSeparator
PROPERTY VALUE

Description Symbol used for number separation in Microsoft Dynamics


365.

DisplayName Number Separator

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName numberseparator

MaxLength 5

RequiredLevel SystemRequired

Type String

OfficeAppsAutoDeploymentEnabled
PROPERTY VALUE

Description Indicates whether the Office Apps auto deployment is enabled


for the organization.

DisplayName Enable Office Apps Auto Deployment for this Organization

IsValidForForm False

IsValidForRead True

LogicalName officeappsautodeploymentenabled
PROPERTY VALUE

RequiredLevel SystemRequired

Type Boolean

OfficeAppsAutoDeploymentEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
OfficeGraphDelveUrl
PROPERTY VALUE

Description The url to open the Delve for the organization.

DisplayName The url to open the Delve

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName officegraphdelveurl

MaxLength 1000

RequiredLevel None

Type String

OOBPriceCalculationEnabled
PROPERTY VALUE

Description Enable OOB pricing calculation logic for Opportunity, Quote,


Order and Invoice entities.

DisplayName Enable OOB Price calculation

IsValidForForm False

IsValidForRead True

LogicalName oobpricecalculationenabled
PROPERTY VALUE

RequiredLevel SystemRequired

Type Boolean

OOBPriceCalculationEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
OrderPrefix
PROPERTY VALUE

Description Prefix to use for all orders throughout Microsoft Dynamics


365.

DisplayName Order Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName orderprefix

MaxLength 20

RequiredLevel None

Type String

OrgDbOrgSettings
PROPERTY VALUE

Description Organization settings stored in Organization Database.

DisplayName Organization Database Organization Settings

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName orgdborgsettings

MaxLength 1073741823

RequiredLevel None

Type String

OrgInsightsEnabled
PROPERTY VALUE

Description Select whether to turn on OrgInsights for the organization.

DisplayName Enable OrgInsights for this Organization

IsValidForForm False

IsValidForRead True

LogicalName orginsightsenabled

RequiredLevel SystemRequired

Type Boolean

OrgInsightsEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
PastExpansionWindow
PROPERTY VALUE

Description Specifies the maximum number of months in past for which


the recurring activities can be created.

DisplayName Past Expansion Window

Format None

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName pastexpansionwindow

MaxValue 120

MinValue 1

RequiredLevel SystemRequired

Type Integer

Picture
PROPERTY VALUE

Description For internal use only.

DisplayName Picture

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName picture

MaxLength 1073741823

RequiredLevel None

Type Memo

PinpointLanguageCode
PROPERTY VALUE

Description

DisplayName

Format Locale

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName pinpointlanguagecode
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

PluginTraceLogSetting
PROPERTY VALUE

Description Plug-in Trace Log Setting for the Organization.

DisplayName Plug-in Trace Log Setting

IsValidForForm False

IsValidForRead True

LogicalName plugintracelogsetting

RequiredLevel SystemRequired

Type Picklist

PluginTraceLogSetting Options

VALUE LABEL

0 Off

1 Exception

2 All

PMDesignator
PROPERTY VALUE

Description PM designator to use throughout Microsoft Dynamics 365.

DisplayName PM Designator

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName pmdesignator

MaxLength 25

RequiredLevel SystemRequired

Type String

PostMessageWhitelistDomains
PROPERTY VALUE

Description For internal use only.

DisplayName For internal use only.

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName postmessagewhitelistdomains

MaxLength 500

RequiredLevel None

Type String

PowerBiFeatureEnabled
PROPERTY VALUE

Description Indicates whether the Power BI feature should be enabled for


the organization.

DisplayName Enable Power BI feature for this Organization

IsValidForForm False

IsValidForRead True

LogicalName powerbifeatureenabled

RequiredLevel SystemRequired

Type Boolean

PowerBiFeatureEnabled Options
VALUE LABEL

1 Enable

0 Disable

DefaultValue: False
PricingDecimalPrecision
PROPERTY VALUE

Description Number of decimal places that can be used for prices.

DisplayName Pricing Decimal Precision

Format None

IsValidForForm False

IsValidForRead True

LogicalName pricingdecimalprecision

MaxValue 4

MinValue 0

RequiredLevel SystemRequired

Type Integer

PrivacyStatementUrl
PROPERTY VALUE

Description Privacy Statement URL

DisplayName Privacy Statement URL

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName privacystatementurl

MaxLength 500

RequiredLevel None
PROPERTY VALUE

Type String

PrivilegeUserGroupId
PROPERTY VALUE

Description Unique identifier of the default privilege for users in the


organization.

DisplayName Privilege User Group

IsValidForForm False

IsValidForRead True

LogicalName privilegeusergroupid

RequiredLevel None

Type Uniqueidentifier

PrivReportingGroupId
PROPERTY VALUE

Description For internal use only.

DisplayName Privilege Reporting Group

IsValidForForm False

IsValidForRead True

LogicalName privreportinggroupid

RequiredLevel None

Type Uniqueidentifier

PrivReportingGroupName
PROPERTY VALUE

Description For internal use only.

DisplayName Privilege Reporting Group Name

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName privreportinggroupname

MaxLength 256

RequiredLevel None

Type String

ProductRecommendationsEnabled
PROPERTY VALUE

Description Select whether to turn on product recommendations for the


organization.

DisplayName Enable Product Recommendations for this Organization

IsValidForForm False

IsValidForRead True

LogicalName productrecommendationsenabled

RequiredLevel SystemRequired

Type Boolean

ProductRecommendationsEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
QuickFindRecordLimitEnabled
PROPERTY VALUE

Description Indicates whether a quick find record limit should be enabled


for this organization (allows for faster Quick Find queries but
prevents overly broad searches).

DisplayName Quick Find Record Limit Enabled

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName quickfindrecordlimitenabled

RequiredLevel SystemRequired

Type Boolean

QuickFindRecordLimitEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
QuotePrefix
PROPERTY VALUE

Description Prefix to use for all quotes throughout Microsoft Dynamics


365.

DisplayName Quote Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName quoteprefix

MaxLength 20

RequiredLevel None

Type String

RecurrenceDefaultNumberOfOccurrences
PROPERTY VALUE

Description Specifies the default value for number of occurrences field in


the recurrence dialog.

DisplayName Recurrence Default Number of Occurrences


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName recurrencedefaultnumberofoccurrences

MaxValue 999

MinValue 1

RequiredLevel SystemRequired

Type Integer

RecurrenceExpansionJobBatchInterval
PROPERTY VALUE

Description Specifies the interval (in seconds) for pausing expansion job.

DisplayName Recurrence Expansion Job Batch Interval

Format None

IsValidForForm False

IsValidForRead True

LogicalName recurrenceexpansionjobbatchinterval

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

RecurrenceExpansionJobBatchSize
PROPERTY VALUE

Description Specifies the value for number of instances created in on


demand job in one shot.

DisplayName Recurrence Expansion On Demand Job Batch Size

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName recurrenceexpansionjobbatchsize

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

RecurrenceExpansionSynchCreateMax
PROPERTY VALUE

Description Specifies the maximum number of instances to be created


synchronously after creating a recurring appointment.

DisplayName Recurrence Expansion Synchronization Create Maximum

Format None

IsValidForForm False

IsValidForRead True

LogicalName recurrenceexpansionsynchcreatemax

MaxValue 1000

MinValue 1

RequiredLevel SystemRequired

Type Integer

ReferenceSiteMapXml
PROPERTY VALUE

Description XML string that defines the navigation structure for the
application. This is the site map from the previously upgraded
build and is used in a 3-way merge during upgrade.

DisplayName Reference SiteMap XML

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName referencesitemapxml

MaxLength 1073741823

RequiredLevel None

Type String

RenderSecureIFrameForEmail
PROPERTY VALUE

Description Flag to render the body of email in the Web form in an


IFRAME with the security='restricted' attribute set. This is
additional security but can cause a credentials prompt.

DisplayName Render Secure Frame For Email

IsValidForForm False

IsValidForRead True

LogicalName rendersecureiframeforemail

RequiredLevel SystemRequired

Type Boolean

RenderSecureIFrameForEmail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ReportingGroupId
PROPERTY VALUE

Description For internal use only.

DisplayName Reporting Group


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName reportinggroupid

RequiredLevel None

Type Uniqueidentifier

ReportingGroupName
PROPERTY VALUE

Description For internal use only.

DisplayName Reporting Group Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName reportinggroupname

MaxLength 256

RequiredLevel None

Type String

ReportScriptErrors
PROPERTY VALUE

Description Picklist for selecting the organization preference for reporting


scripting errors.

DisplayName Report Script Errors

IsValidForForm True

IsValidForRead True

LogicalName reportscripterrors

RequiredLevel SystemRequired
PROPERTY VALUE

Type Picklist

ReportScriptErrors Options

VALUE LABEL

0 No preference for sending an error report to Microsoft about


Microsoft Dynamics 365

1 Ask me for permission to send an error report to Microsoft

2 Automatically send an error report to Microsoft without


asking me for permission

3 Never send an error report to Microsoft about Microsoft


Dynamics 365

RequireApprovalForQueueEmail
PROPERTY VALUE

Description Indicates whether Send As Other User privilege is enabled.

DisplayName Is Approval For Queue Email Required

IsValidForForm False

IsValidForRead True

LogicalName requireapprovalforqueueemail

RequiredLevel SystemRequired

Type Boolean

RequireApprovalForQueueEmail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
RequireApprovalForUserEmail
PROPERTY VALUE

Description Indicates whether Send As Other User privilege is enabled.

DisplayName Is Approval For User Email Required


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName requireapprovalforuseremail

RequiredLevel SystemRequired

Type Boolean

RequireApprovalForUserEmail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ResolveSimilarUnresolvedEmailAddress
PROPERTY VALUE

Description Apply same email address to all unresolved matches when you
manually resolve it for one

DisplayName Apply same email address to all unresolved matches when you
manually resolve it for one

IsValidForForm False

IsValidForRead True

LogicalName resolvesimilarunresolvedemailaddress

RequiredLevel SystemRequired

Type Boolean

ResolveSimilarUnresolvedEmailAddress Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
RestrictStatusUpdate
PROPERTY VALUE

Description Flag to restrict Update on incident.

DisplayName Restrict Status Update

IsValidForForm False

IsValidForRead True

LogicalName restrictstatusupdate

RequiredLevel None

Type Boolean

RestrictStatusUpdate Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
RiErrorStatus
PROPERTY VALUE

Description Error status of Relationship Insights provisioning.

DisplayName Error status of Relationship Insights provisioning.

Format None

IsValidForForm False

IsValidForRead True

LogicalName rierrorstatus

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SampleDataImportId
PROPERTY VALUE

Description Unique identifier of the sample data import job.

DisplayName Sample Data Import

IsValidForForm False

IsValidForRead True

LogicalName sampledataimportid

RequiredLevel None

Type Uniqueidentifier

SchemaNamePrefix
PROPERTY VALUE

Description Prefix used for custom entities and attributes.

DisplayName Customization Name Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName schemanameprefix

MaxLength 8

RequiredLevel None

Type String

ServeStaticResourcesFromAzureCDN
PROPERTY VALUE

Description Serve Static Content From CDN

DisplayName Serve Static Content From CDN

IsValidForForm False

IsValidForRead True

LogicalName servestaticresourcesfromazurecdn
PROPERTY VALUE

RequiredLevel SystemRequired

Type Boolean

ServeStaticResourcesFromAzureCDN Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
SessionTimeoutEnabled
PROPERTY VALUE

Description Information that specifies whether session timeout is enabled

DisplayName Session timeout enabled

IsValidForForm False

IsValidForRead True

LogicalName sessiontimeoutenabled

RequiredLevel SystemRequired

Type Boolean

SessionTimeoutEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
SessionTimeoutInMins
PROPERTY VALUE

Description Session timeout in minutes

DisplayName Session timeout in minutes

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName sessiontimeoutinmins

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SessionTimeoutReminderInMins
PROPERTY VALUE

Description Session timeout reminder in minutes

DisplayName Session timeout reminder in minutes

Format None

IsValidForForm False

IsValidForRead True

LogicalName sessiontimeoutreminderinmins

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SharePointDeploymentType
PROPERTY VALUE

Description Indicates which SharePoint deployment type is configured for


Server to Server. (Online or On-Premises)

DisplayName Choose SharePoint Deployment Type

IsValidForForm False

IsValidForRead True

LogicalName sharepointdeploymenttype
PROPERTY VALUE

RequiredLevel None

Type Picklist

SharePointDeploymentType Options

VALUE LABEL

0 Online

1 On-Premises

ShareToPreviousOwnerOnAssign
PROPERTY VALUE

Description Information that specifies whether to share to previous owner


on assign.

DisplayName Share To Previous Owner On Assign

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName sharetopreviousowneronassign

RequiredLevel SystemRequired

Type Boolean

ShareToPreviousOwnerOnAssign Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ShowKBArticleDeprecationNotification
PROPERTY VALUE

Description Select whether to display a KB article deprecation notification


to the user.

DisplayName Show KBArticle deprecation message to user

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName showkbarticledeprecationnotification

RequiredLevel SystemRequired

Type Boolean

ShowKBArticleDeprecationNotification Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ShowWeekNumber
PROPERTY VALUE

Description Information that specifies whether to display the week number


in calendar displays throughout Microsoft CRM.

DisplayName Show Week Number

IsValidForForm False

IsValidForRead True

LogicalName showweeknumber

RequiredLevel None

Type Boolean

ShowWeekNumber Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
SignupOutlookDownloadFWLink
PROPERTY VALUE

Description CRM for Outlook Download URL


PROPERTY VALUE

DisplayName CRMForOutlookDownloadURL

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName signupoutlookdownloadfwlink

MaxLength 200

RequiredLevel SystemRequired

Type String

SiteMapXml
PROPERTY VALUE

Description XML string that defines the navigation structure for the
application.

DisplayName SiteMap XML

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sitemapxml

MaxLength 1073741823

RequiredLevel None

Type Memo

SlaPauseStates
PROPERTY VALUE

Description Contains the on hold case status values.

DisplayName SLA pause states


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slapausestates

MaxLength 1073741823

RequiredLevel None

Type String

SocialInsightsEnabled
PROPERTY VALUE

Description Flag for whether the organization is using Social Insights.

DisplayName Social Insights Enabled

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName socialinsightsenabled

RequiredLevel None

Type Boolean

SocialInsightsEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
SocialInsightsInstance
PROPERTY VALUE

Description Identifier for the Social Insights instance for the organization.
PROPERTY VALUE

DisplayName Social Insights instance identifier

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName socialinsightsinstance

MaxLength 2048

RequiredLevel None

Type String

SocialInsightsTermsAccepted
PROPERTY VALUE

Description Flag for whether the organization has accepted the Social
Insights terms of use.

DisplayName Social Insights Terms of Use

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName socialinsightstermsaccepted

RequiredLevel None

Type Boolean

SocialInsightsTermsAccepted Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
SortId
PROPERTY VALUE

Description For internal use only.

DisplayName Sort

Format None

IsValidForForm False

IsValidForRead True

LogicalName sortid

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

SqlAccessGroupId
PROPERTY VALUE

Description For internal use only.

DisplayName SQL Access Group

IsValidForForm False

IsValidForRead True

LogicalName sqlaccessgroupid

RequiredLevel None

Type Uniqueidentifier

SqlAccessGroupName
PROPERTY VALUE

Description For internal use only.

DisplayName SQL Access Group Name

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName sqlaccessgroupname

MaxLength 256

RequiredLevel None

Type String

SQMEnabled
PROPERTY VALUE

Description Setting for SQM data collection, 0 no, 1 yes enabled

DisplayName Is SQM Enabled

IsValidForForm False

IsValidForRead True

LogicalName sqmenabled

RequiredLevel None

Type Boolean

SQMEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
SupportUserId
PROPERTY VALUE

Description Unique identifier of the support user for the organization.

DisplayName Support User

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName supportuserid

RequiredLevel None

Type Uniqueidentifier

SuppressSLA
PROPERTY VALUE

Description Indicates whether SLA is suppressed.

DisplayName Is SLA suppressed

IsValidForForm False

IsValidForRead True

LogicalName suppresssla

RequiredLevel SystemRequired

Type Boolean

SuppressSLA Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
SyncBulkOperationBatchSize
PROPERTY VALUE

Description Number of records to update per operation in Sync Bulk


Pause/Resume/Cancel

DisplayName Number of records to update per operation in Sync Bulk


Pause/Resume/Cancel

Format None

IsValidForForm False

IsValidForRead True

LogicalName syncbulkoperationbatchsize
PROPERTY VALUE

MaxValue 1000

MinValue 1

RequiredLevel SystemRequired

Type Integer

SyncBulkOperationMaxLimit
PROPERTY VALUE

Description Max total number of records to update in database for Sync


Bulk Pause/Resume/Cancel

DisplayName Max total number of records to update in database for Sync


Bulk Pause/Resume/Cancel

Format None

IsValidForForm False

IsValidForRead True

LogicalName syncbulkoperationmaxlimit

MaxValue 500000

MinValue 1

RequiredLevel SystemRequired

Type Integer

SyncOptInSelection
PROPERTY VALUE

Description Indicates the selection to use the dynamics 365 azure sync
framework or server side sync.

DisplayName Enable dynamics 365 azure sync framework for this


organization.

IsValidForForm False

IsValidForRead True

LogicalName syncoptinselection

RequiredLevel SystemRequired
PROPERTY VALUE

Type Boolean

SyncOptInSelection Options

VALUE LABEL

1 Enable

0 Disable

DefaultValue: False
SyncOptInSelectionStatus
PROPERTY VALUE

Description Indicates the status of the opt-in or opt-out operation for


dynamics 365 azure sync.

DisplayName Status of opt-in or opt-out operation for dynamics 365 azure


sync.

IsValidForForm False

IsValidForRead True

LogicalName syncoptinselectionstatus

RequiredLevel None

Type Picklist

SyncOptInSelectionStatus Options

VALUE LABEL

1 Processing

2 Passed

3 Failed

SystemUserId
PROPERTY VALUE

Description Unique identifier of the system user for the organization.

DisplayName System User

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName systemuserid

RequiredLevel None

Type Uniqueidentifier

TagMaxAggressiveCycles
PROPERTY VALUE

Description Maximum number of aggressive polling cycles executed for


email auto-tagging when a new email is received.

DisplayName Auto-Tag Max Cycles

Format None

IsValidForForm False

IsValidForRead True

LogicalName tagmaxaggressivecycles

MaxValue

MinValue

RequiredLevel SystemRequired

Type Integer

TagPollingPeriod
PROPERTY VALUE

Description Normal polling frequency used for email receive auto-tagging


in outlook.

DisplayName Auto-Tag Interval

Format None

IsValidForForm False

IsValidForRead True

LogicalName tagpollingperiod

MaxValue 2147483647

MinValue 0
PROPERTY VALUE

RequiredLevel SystemRequired

Type Integer

TaskBasedFlowEnabled
PROPERTY VALUE

Description Select whether to turn on task flows for the organization.

DisplayName Enable Task Flow processes for this Organization

IsValidForForm False

IsValidForRead True

LogicalName taskbasedflowenabled

RequiredLevel SystemRequired

Type Boolean

TaskBasedFlowEnabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
TextAnalyticsEnabled
PROPERTY VALUE

Description Select whether to turn on text analytics for the organization.

DisplayName Enable Text Analytics for this Organization

IsValidForForm False

IsValidForRead True

LogicalName textanalyticsenabled

RequiredLevel SystemRequired

Type Boolean

TextAnalyticsEnabled Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
TimeFormatCode
PROPERTY VALUE

Description Information that specifies how the time is displayed


throughout Microsoft CRM.

DisplayName Time Format Code

IsValidForForm False

IsValidForRead True

LogicalName timeformatcode

RequiredLevel SystemRequired

Type Picklist

TimeFormatCode Options

VALUE LABEL

TimeFormatString
PROPERTY VALUE

Description Text for how time is displayed in Microsoft Dynamics 365.

DisplayName Time Format String

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName timeformatstring

MaxLength 255

RequiredLevel None

Type String
TimeSeparator
PROPERTY VALUE

Description Text for how the time separator is displayed throughout


Microsoft Dynamics 365.

DisplayName Time Separator

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName timeseparator

MaxLength 5

RequiredLevel None

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TokenExpiry
PROPERTY VALUE
PROPERTY VALUE

Description Duration used for token expiration.

DisplayName Token Expiration Duration

Format None

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName tokenexpiry

MaxValue

MinValue

RequiredLevel None

Type Integer

TokenKey
PROPERTY VALUE

Description Token key.

DisplayName Token Key

FormatName Text

IsLocalizable False

IsValidForCreate False

IsValidForForm False

IsValidForRead False

LogicalName tokenkey

MaxLength 90

RequiredLevel None

Type String

TrackingPrefix
PROPERTY VALUE

Description History list of tracking token prefixes.

DisplayName Tracking Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName trackingprefix

MaxLength 256

RequiredLevel None

Type String

TrackingTokenIdBase
PROPERTY VALUE

Description Base number used to provide separate tracking token


identifiers to users belonging to different deployments.

DisplayName Tracking Token Base

Format None

IsValidForForm False

IsValidForRead True

LogicalName trackingtokenidbase

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

TrackingTokenIdDigits
PROPERTY VALUE

Description Number of digits used to represent a tracking token identifier.


PROPERTY VALUE

DisplayName Tracking Token Digits

Format None

IsValidForForm False

IsValidForRead True

LogicalName trackingtokeniddigits

MaxValue

MinValue

RequiredLevel None

Type Integer

UniqueSpecifierLength
PROPERTY VALUE

Description Number of characters appended to invoice, quote, and order


numbers.

DisplayName Unique String Length

Format None

IsValidForForm False

IsValidForRead True

LogicalName uniquespecifierlength

MaxValue 6

MinValue 4

RequiredLevel None

Type Integer

UnresolveEmailAddressIfMultipleMatch
PROPERTY VALUE

Description Indicates whether email address should be unresolved if


multiple matches are found

DisplayName Set To,cc,bcc fields as unresolved if multiple matches are found


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName unresolveemailaddressifmultiplematch

RequiredLevel SystemRequired

Type Boolean

UnresolveEmailAddressIfMultipleMatch Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UseInbuiltRuleForDefaultPricelistSelection
PROPERTY VALUE

Description Flag indicates whether to Use Inbuilt Rule For DefaultPricelist.

DisplayName Use Inbuilt Rule For Default Pricelist Selection

IsValidForForm False

IsValidForRead True

LogicalName useinbuiltrulefordefaultpricelistselection

RequiredLevel None

Type Boolean

UseInbuiltRuleForDefaultPricelistSelection Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
UseLegacyRendering
PROPERTY VALUE

Description Select whether to use legacy form rendering.


PROPERTY VALUE

DisplayName Legacy Form Rendering

IsValidForForm False

IsValidForRead True

LogicalName uselegacyrendering

RequiredLevel SystemRequired

Type Boolean

UseLegacyRendering Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UsePositionHierarchy
PROPERTY VALUE

Description Use position hierarchy

DisplayName Use position hierarchy

IsValidForForm False

IsValidForRead True

LogicalName usepositionhierarchy

RequiredLevel SystemRequired

Type Boolean

UsePositionHierarchy Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UserAccessAuditingInterval
PROPERTY VALUE

Description The interval at which user access is checked for auditing.

DisplayName User Authentication Auditing Interval

Format None

IsValidForForm False

IsValidForRead True

LogicalName useraccessauditinginterval

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

UseReadForm
PROPERTY VALUE

Description Indicates whether the read-optimized form should be enabled


for this organization.

DisplayName Use Read-Optimized Form

IsValidForForm False

IsValidForRead True

LogicalName usereadform

RequiredLevel SystemRequired

Type Boolean

UseReadForm Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UserGroupId
PROPERTY VALUE

Description Unique identifier of the default group of users in the


organization.

DisplayName User Group

IsValidForForm False

IsValidForRead True

LogicalName usergroupid

RequiredLevel None

Type Uniqueidentifier

UseSkypeProtocol
PROPERTY VALUE

Description Indicates default protocol selected for organization.

DisplayName User Skype Protocol

IsValidForForm False

IsValidForRead True

LogicalName useskypeprotocol

RequiredLevel SystemRequired

Type Boolean

UseSkypeProtocol Options

VALUE LABEL

1 Yes

0 No

DefaultValue: True
UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

WebResourceHash
PROPERTY VALUE

Description Hash value of web resources.

DisplayName Web resource hash

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName webresourcehash

MaxLength 100

RequiredLevel SystemRequired

Type String

WeekStartDayCode
PROPERTY VALUE

Description Designated first day of the week throughout Microsoft


Dynamics 365.

DisplayName Week Start Day Code

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName weekstartdaycode

RequiredLevel SystemRequired

Type Picklist

WeekStartDayCode Options

VALUE LABEL

WidgetProperties
PROPERTY VALUE

Description For Internal use only.

DisplayName For Internal use only.

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName widgetproperties

MaxLength 100

RequiredLevel None

Type String

YammerGroupId
PROPERTY VALUE

Description Denotes the Yammer group ID

DisplayName Yammer Group Id

Format None

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName yammergroupid
PROPERTY VALUE

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

YammerNetworkPermalink
PROPERTY VALUE

Description Denotes the Yammer network permalink

DisplayName Yammer Network Permalink

FormatName Text

IsLocalizable False

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName yammernetworkpermalink

MaxLength 100

RequiredLevel None

Type String

YammerOAuthAccessTokenExpired
PROPERTY VALUE

Description Denotes whether the OAuth access token for Yammer


network has expired

DisplayName Yammer OAuth Access Token Expired

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName yammeroauthaccesstokenexpired
PROPERTY VALUE

RequiredLevel None

Type Boolean

YammerOAuthAccessTokenExpired Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
YammerPostMethod
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

IsValidForCreate False

IsValidForForm False

IsValidForRead True

LogicalName yammerpostmethod

RequiredLevel None

Type Picklist

YammerPostMethod Options

VALUE LABEL

0 Public

1 Private

YearStartWeekCode
PROPERTY VALUE

Description Information that specifies how the first week of the year is
specified in Microsoft Dynamics 365.

DisplayName Year Start Week Code

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName yearstartweekcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AcknowledgementTemplateIdName
BaseCurrencyIdName
BaseCurrencyPrecision
BaseCurrencySymbol
BaseISOCurrencyCode
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CurrentImportSequenceNumber
CurrentParsedTableNumber
DaysSinceRecordLastModifiedMaxValue
DefaultEmailServerProfileIdName
DefaultMobileOfflineProfileIdName
DisabledReason
EntityImage_Timestamp
EntityImage_URL
EntityImageId
FiscalSettingsUpdated
IsDisabled
MaxSupportedInternetExplorerVersion
MaxVerboseLoggingMailbox
MaxVerboseLoggingSyncCycles
MetadataSyncLastTimeOfNeverExpiredDeletedObjects
MetadataSyncTimestamp
MobileOfflineMinLicenseProd
MobileOfflineMinLicenseTrial
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
NextCustomObjectTypeCode
OrganizationId
OrganizationState
ParsedTableColumnPrefix
ParsedTablePrefix
V3CalloutConfigHash
VersionNumber
AcknowledgementTemplateIdName
PROPERTY VALUE

Description Name of the template to be used for unsubscription


acknowledgement.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName acknowledgementtemplateidname

MaxLength 100

RequiredLevel None

Type String

BaseCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName basecurrencyidname

MaxLength 100

RequiredLevel SystemRequired

Type String

BaseCurrencyPrecision
PROPERTY VALUE

Description Number of decimal places that can be used for the base
currency.

DisplayName Base Currency Precision

Format None

IsValidForForm False

IsValidForRead True

LogicalName basecurrencyprecision

MaxValue 4

MinValue 0

RequiredLevel SystemRequired

Type Integer

BaseCurrencySymbol
PROPERTY VALUE

Description Symbol used for the base currency.

DisplayName Base Currency Symbol

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName basecurrencysymbol

MaxLength 5

RequiredLevel SystemRequired

Type String

BaseISOCurrencyCode
PROPERTY VALUE

Description

DisplayName Base ISO Currency Code

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName baseisocurrencycode

MaxLength 5

RequiredLevel SystemRequired

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the organization.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the organization was created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


organization.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

CurrentImportSequenceNumber
PROPERTY VALUE

Description Import sequence to use.

DisplayName Current Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentimportsequencenumber
PROPERTY VALUE

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

CurrentParsedTableNumber
PROPERTY VALUE

Description First parsed table number to use.

DisplayName Current Parsed Table Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName currentparsedtablenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

DaysSinceRecordLastModifiedMaxValue
PROPERTY VALUE

Description The maximum value for the Mobile Offline setting Days since
record last modified

DisplayName Max value of Days since record last modified

Format None

IsValidForForm False

IsValidForRead True

LogicalName dayssincerecordlastmodifiedmaxvalue

MaxValue 2147483647
PROPERTY VALUE

MinValue 0

RequiredLevel SystemRequired

Type Integer

DefaultEmailServerProfileIdName
PROPERTY VALUE

Description Name of the email server profile to be used as default profile


for the mailboxes.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultemailserverprofileidname

MaxLength 100

RequiredLevel None

Type String

DefaultMobileOfflineProfileIdName
PROPERTY VALUE

Description Name of the default mobile offline profile to be used as default


profile for mobile offline.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName defaultmobileofflineprofileidname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

DisabledReason
PROPERTY VALUE

Description Reason for disabling the organization.

DisplayName Disabled Reason

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName disabledreason

MaxLength 500

RequiredLevel None

Type String

EntityImage_Timestamp
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName entityimage_timestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

EntityImage_URL
PROPERTY VALUE

Description

DisplayName

FormatName Url

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName entityimage_url

MaxLength 200

RequiredLevel None

Type String

EntityImageId
PROPERTY VALUE

Description For internal use only.

DisplayName Entity Image Id

IsValidForForm False

IsValidForRead True

LogicalName entityimageid

RequiredLevel None

Type Uniqueidentifier

FiscalSettingsUpdated
PROPERTY VALUE

Description Information that specifies whether the fiscal settings have


been updated.

DisplayName Is Fiscal Settings Updated

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName fiscalsettingsupdated

RequiredLevel SystemRequired

Type Boolean

FiscalSettingsUpdated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsDisabled
PROPERTY VALUE

Description Information that specifies whether the organization is disabled.

DisplayName Is Organization Disabled

IsValidForForm False

IsValidForRead True

LogicalName isdisabled

RequiredLevel None

Type Boolean

IsDisabled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
MaxSupportedInternetExplorerVersion
PROPERTY VALUE

Description The maximum version of IE to run browser emulation for in


Outlook client

DisplayName Max supported IE version


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxsupportedinternetexplorerversion

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

MaxVerboseLoggingMailbox
PROPERTY VALUE

Description Maximum number of mailboxes that can be toggled for


verbose logging

DisplayName Max No Of Mailboxes To Enable For Verbose Logging

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxverboseloggingmailbox

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MaxVerboseLoggingSyncCycles
PROPERTY VALUE

Description Maximum number of sync cycles for which verbose logging


will be enabled by default

DisplayName Maximum number of sync cycles for which verbose logging


will be enabled by default
PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName maxverboseloggingsynccycles

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MetadataSyncLastTimeOfNeverExpiredDeletedObjects
PROPERTY VALUE

DateTimeBehavior UserLocal

Description What is the last date/time where there are metadata tracking
deleted objects that have never been outside of the expiration
period.

DisplayName The last date/time for never expired metadata tracking deleted
objects

Format DateAndTime

IsValidForForm False

IsValidForRead False

LogicalName metadatasynclasttimeofneverexpireddeletedobjects

RequiredLevel None

Type DateTime

MetadataSyncTimestamp
PROPERTY VALUE

Description Contains the maximum version number for attributes used by


metadata synchronization that have changed.

DisplayName Metadata sync version

IsValidForForm False
PROPERTY VALUE

IsValidForRead False

LogicalName metadatasynctimestamp

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel SystemRequired

Type BigInt

MobileOfflineMinLicenseProd
PROPERTY VALUE

Description Minimum number of user license required for mobile offline


service by production/preview organization

DisplayName Minimum number of user license required for mobile offline


service by production/preview organization

Format None

IsValidForForm False

IsValidForRead True

LogicalName mobileofflineminlicenseprod

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

MobileOfflineMinLicenseTrial
PROPERTY VALUE

Description Minimum number of user license required for mobile offline


service by trial organization

DisplayName Minimum number of user license required for mobile offline


service by trial organization

Format None

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName mobileofflineminlicensetrial

MaxValue 2147483647

MinValue -2147483648

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the


organization.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the organization was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime
ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
organization.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

NextCustomObjectTypeCode
PROPERTY VALUE

Description Next entity type code to use for custom entities.

DisplayName Next Entity Type Code

Format None

IsValidForForm False

IsValidForRead False

LogicalName nextcustomobjecttypecode

MaxValue 2147483647

MinValue 10000

RequiredLevel SystemRequired

Type Integer

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization.

DisplayName Organization

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationid

RequiredLevel SystemRequired

Type Uniqueidentifier

OrganizationState
PROPERTY VALUE

Description Indicates the organization lifecycle state

DisplayName Organization State

IsValidForForm False

IsValidForRead True

LogicalName organizationstate

RequiredLevel None

Type Picklist

OrganizationState Options

VALUE LABEL

0 Creating

1 Upgrading

2 Updating

3 Active

ParsedTableColumnPrefix
PROPERTY VALUE

Description Prefix used for parsed table columns.

DisplayName Parsed Table Column Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName parsedtablecolumnprefix

MaxLength 20

RequiredLevel SystemRequired

Type String

ParsedTablePrefix
PROPERTY VALUE

Description Prefix used for parsed tables.

DisplayName Parsed Table Prefix

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parsedtableprefix

MaxLength 20

RequiredLevel SystemRequired

Type String

V3CalloutConfigHash
PROPERTY VALUE

Description Hash of the V3 callout configuration file.

DisplayName V3 Callout Hash

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName v3calloutconfighash

MaxLength 256
PROPERTY VALUE

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the organization.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
organization_territories
lk_principalobjectattributeaccess_organizationid
organization_theme
organization_UserMapping
organization_metric
organization_position
organization_officegraphdocument
organization_recommendeddocument
organization_KnowledgeBaseRecord
organization_translationprocess
organization_navigationsetting
organization_plugintype
organization_business_unit_news_articles
organization_saved_query_visualizations
customcontrolresource_organization
organization_post
organization_PostComment
organization_postlike
organization_importjob
organization_queues
organization_sdkmessageprocessingstepimage
organization_plugintypestatistic
MobileOfflineProfileItemAssociation_organization
organization_appmodule
organization_kb_articles
organization_systemforms
organization_appconfig
organization_connection_roles
customcontrol_organization
organization_subjects
organization_calendars
organization_publisher
organization_queueitems
organization_teams
organization_entitydataprovider
webresource_organization
MobileOfflineProfile_organization
organization_transactioncurrencies
organization_expiredprocess
organization_mailbox
lk_dataperformance_organizationid
MobileOfflineProfileItem_organization
organization_custom_displaystrings
Organization_SyncErrors
Organization_AsyncOperations
customcontroldefaultconfig_organization
organization_sitemap
Organization_MailboxTrackingFolder
organization_emailserverprofile
organization_pluginassembly
Organization_BulkDeleteFailures
lk_fieldsecurityprofile_organizationid
organization_sdkmessagefilter
organization_kb_article_templates
organization_roles
organization_sdkmessageprocessingstepsecureconfig
organization_aciviewmapper
organization_system_users
languagelocale_organization
organization_business_units
organization_newprocess
organization_sdkmessageprocessingstep
organization_appconfiginstance
lk_documenttemplatebase_organization
organization_serviceendpoint
organization_sdkmessage
organization_appconfigmaster
organization_saved_queries
organization_tracelog
organization_solution
organization_territories
Added by: Application Common Solution
Same as territory entity organization_territories Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity territory

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_territories

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_principalobjectattributeaccess_organizationid
Same as principalobjectattributeaccess entity lk_principalobjectattributeaccess_organizationid Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_principalobjectattributeaccess_organizationid
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_theme
Same as theme entity organization_theme Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity theme

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_theme

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_UserMapping
Same as usermapping entity organization_UserMapping Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity usermapping

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_UserMapping
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_metric
Same as metric entity organization_metric Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity metric

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_metric

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_position
Same as position entity organization_position Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity position

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_position
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_officegraphdocument
Same as officegraphdocument entity organization_officegraphdocument Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity officegraphdocument

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_officegraphdocument

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_recommendeddocument
Same as recommendeddocument entity organization_recommendeddocument Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity recommendeddocument

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_recommendeddocument
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_KnowledgeBaseRecord
Same as knowledgebaserecord entity organization_KnowledgeBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgebaserecord

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_KnowledgeBaseRecord

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_translationprocess
Same as translationprocess entity organization_translationprocess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity translationprocess

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_translationprocess
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_navigationsetting
Same as navigationsetting entity organization_navigationsetting Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity navigationsetting

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_navigationsetting

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_plugintype
Same as plugintype entity organization_plugintype Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity plugintype

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_plugintype
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_business_unit_news_articles
Same as businessunitnewsarticle entity organization_business_unit_news_articles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity businessunitnewsarticle

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_business_unit_news_articles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_saved_query_visualizations
Same as savedqueryvisualization entity organization_saved_query_visualizations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity savedqueryvisualization

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_saved_query_visualizations
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

customcontrolresource_organization
Same as customcontrolresource entity customcontrolresource_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity customcontrolresource

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName customcontrolresource_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_post
Same as post entity organization_post Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity post

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_post
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_PostComment
Same as postcomment entity organization_PostComment Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postcomment

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_PostComment

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_postlike
Same as postlike entity organization_postlike Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postlike

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_postlike
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_importjob
Same as importjob entity organization_importjob Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity importjob

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_importjob

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_queues
Same as queue entity organization_queues Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queue

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_queues
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_sdkmessageprocessingstepimage
Same as sdkmessageprocessingstepimage entity organization_sdkmessageprocessingstepimage Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity sdkmessageprocessingstepimage

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_sdkmessageprocessingstepimage

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_plugintypestatistic
Same as plugintypestatistic entity organization_plugintypestatistic Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity plugintypestatistic

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False
PROPERTY VALUE

ReferencedEntityNavigationPropertyName organization_plugintypestatistic

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MobileOfflineProfileItemAssociation_organization
Same as mobileofflineprofileitemassociation entity MobileOfflineProfileItemAssociation_organization Many-To-
One relationship.

PROPERTY VALUE

ReferencingEntity mobileofflineprofileitemassociation

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName MobileOfflineProfileItemAssociation_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_appmodule
Same as appmodule entity organization_appmodule Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appmodule

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_appmodule

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_kb_articles
Same as kbarticle entity organization_kb_articles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity kbarticle

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_kb_articles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_systemforms
Same as systemform entity organization_systemforms Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemform

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_systemforms

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_appconfig
Same as appconfig entity organization_appconfig Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appconfig

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_appconfig

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_connection_roles
Same as connectionrole entity organization_connection_roles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connectionrole

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_connection_roles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

customcontrol_organization
Same as customcontrol entity customcontrol_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity customcontrol

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName customcontrol_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_subjects
Same as subject entity organization_subjects Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity subject

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_subjects

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_calendars
Same as calendar entity organization_calendars Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity calendar

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_calendars

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_publisher
Same as publisher entity organization_publisher Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity publisher

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_publisher

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_queueitems
Same as queueitem entity organization_queueitems Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_queueitems

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_teams
Same as team entity organization_teams Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity team

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_teams

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_entitydataprovider
Same as entitydataprovider entity organization_entitydataprovider Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity entitydataprovider

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_entitydataprovider

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

webresource_organization
Same as webresource entity webresource_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity webresource

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName webresource_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MobileOfflineProfile_organization
Same as mobileofflineprofile entity MobileOfflineProfile_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mobileofflineprofile

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName MobileOfflineProfile_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_transactioncurrencies
Same as transactioncurrency entity organization_transactioncurrencies Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity transactioncurrency

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_transactioncurrencies

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_expiredprocess
Same as expiredprocess entity organization_expiredprocess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity expiredprocess

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_expiredprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_mailbox
Same as mailbox entity organization_mailbox Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailbox

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_mailbox

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_dataperformance_organizationid
Same as dataperformance entity lk_dataperformance_organizationid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity dataperformance

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_dataperformance_organizationid

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

MobileOfflineProfileItem_organization
Same as mobileofflineprofileitem entity MobileOfflineProfileItem_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mobileofflineprofileitem

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName MobileOfflineProfileItem_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_custom_displaystrings
Same as displaystring entity organization_custom_displaystrings Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity displaystring

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_custom_displaystrings

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Organization_SyncErrors
Same as syncerror entity Organization_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False
PROPERTY VALUE

IsCustomizable True

ReferencedEntityNavigationPropertyName Organization_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: NoCascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Organization_AsyncOperations
Same as asyncoperation entity Organization_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Organization_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

customcontroldefaultconfig_organization
Same as customcontroldefaultconfig entity customcontroldefaultconfig_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity customcontroldefaultconfig

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName customcontroldefaultconfig_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_sitemap
Same as sitemap entity organization_sitemap Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sitemap

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_sitemap

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Organization_MailboxTrackingFolder
Same as mailboxtrackingfolder entity Organization_MailboxTrackingFolder Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity mailboxtrackingfolder

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName Organization_MailboxTrackingFolder

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_emailserverprofile
Same as emailserverprofile entity organization_emailserverprofile Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity emailserverprofile

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_emailserverprofile

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_pluginassembly
Same as pluginassembly entity organization_pluginassembly Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity pluginassembly

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_pluginassembly

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Organization_BulkDeleteFailures
Same as bulkdeletefailure entity Organization_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Organization_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_fieldsecurityprofile_organizationid
Same as fieldsecurityprofile entity lk_fieldsecurityprofile_organizationid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fieldsecurityprofile

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_fieldsecurityprofile_organizationid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_sdkmessagefilter
Same as sdkmessagefilter entity organization_sdkmessagefilter Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sdkmessagefilter

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_sdkmessagefilter

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_kb_article_templates
Same as kbarticletemplate entity organization_kb_article_templates Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity kbarticletemplate

ReferencingAttribute organizationid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_kb_article_templates

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_roles
Same as role entity organization_roles Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity role

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_roles

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_sdkmessageprocessingstepsecureconfig
Same as sdkmessageprocessingstepsecureconfig entity organization_sdkmessageprocessingstepsecureconfig
Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sdkmessageprocessingstepsecureconfig

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_sdkmessageprocessingstepsecureconfig

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_aciviewmapper
Same as aciviewmapper entity organization_aciviewmapper Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity aciviewmapper

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_aciviewmapper

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_system_users
Same as systemuser entity organization_system_users Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_system_users

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

languagelocale_organization
Same as languagelocale entity languagelocale_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity languagelocale

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName languagelocale_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_business_units
Same as businessunit entity organization_business_units Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity businessunit

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_business_units

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_newprocess
Same as newprocess entity organization_newprocess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity newprocess

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName organization_newprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_sdkmessageprocessingstep
Same as sdkmessageprocessingstep entity organization_sdkmessageprocessingstep Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sdkmessageprocessingstep

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_sdkmessageprocessingstep

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_appconfiginstance
Same as appconfiginstance entity organization_appconfiginstance Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appconfiginstance

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_appconfiginstance

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_documenttemplatebase_organization
Same as documenttemplate entity lk_documenttemplatebase_organization Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity documenttemplate

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_documenttemplatebase_organization

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_serviceendpoint
Same as serviceendpoint entity organization_serviceendpoint Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity serviceendpoint

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_serviceendpoint

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_sdkmessage
Same as sdkmessage entity organization_sdkmessage Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sdkmessage

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_sdkmessage

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_appconfigmaster
Same as appconfigmaster entity organization_appconfigmaster Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appconfigmaster

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_appconfigmaster

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_saved_queries
Same as savedquery entity organization_saved_queries Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity savedquery

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_saved_queries

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_tracelog
Same as tracelog entity organization_tracelog Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity tracelog

ReferencingAttribute organizationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_tracelog

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

organization_solution
Same as solution entity organization_solution Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity solution

ReferencingAttribute organizationid
PROPERTY VALUE

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName organization_solution

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_organizationbase_modifiedby
lk_organization_createdonbehalfby
EmailServerProfile_Organization
DefaultMobileOfflineProfile_Organization
lk_organizationbase_createdby
basecurrency_organization
lk_organization_modifiedonbehalfby
calendar_organization
Template_Organization
lk_organizationbase_modifiedby
See systemuser Entity lk_organizationbase_modifiedby One-To-Many relationship.
lk_organization_createdonbehalfby
See systemuser Entity lk_organization_createdonbehalfby One-To-Many relationship.
EmailServerProfile_Organization
See emailserverprofile Entity EmailServerProfile_Organization One-To-Many relationship.
DefaultMobileOfflineProfile_Organization
See mobileofflineprofile Entity DefaultMobileOfflineProfile_Organization One-To-Many relationship.
lk_organizationbase_createdby
See systemuser Entity lk_organizationbase_createdby One-To-Many relationship.
basecurrency_organization
See transactioncurrency Entity basecurrency_organization One-To-Many relationship.
lk_organization_modifiedonbehalfby
See systemuser Entity lk_organization_modifiedonbehalfby One-To-Many relationship.
calendar_organization
See calendar Entity calendar_organization One-To-Many relationship.
Template_Organization
See template Entity Template_Organization One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
organization EntityType
OwnerMapping Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

In a data map, maps ownership data from the source file to Microsoft Dynamics 365.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/ownermappings Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/ownermappings(own Delete
ermappingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/ownermappings(own Retrieve
ermappingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/ownermappings RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName OwnerMappings

DisplayCollectionName Owner Mappings

DisplayName Owner Mapping

EntitySetName ownermappings

IsBPFEntity False

LogicalCollectionName ownermappings

LogicalName ownermapping

OwnershipType None

PrimaryIdAttribute ownermappingid

PrimaryNameAttribute
PROPERTY VALUE

SchemaName OwnerMapping

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ImportMapId
IntroducedVersion
OwnerMappingId
ProcessCode
SourceSystemUserName
SourceUserValueForSourceCRMUserLink
StatusCode
TargetSystemUserDomainName
TargetSystemUserId
TargetUserValueForSourceCRMUserLink
ImportMapId
PROPERTY VALUE

Description Unique identifier of the data map with which the owner
mapping is associated.

DisplayName Data Map

IsValidForForm True

IsValidForRead True

LogicalName importmapid

RequiredLevel ApplicationRequired

Targets importmap

Type Lookup

IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

OwnerMappingId
PROPERTY VALUE

Description Unique identifier of the owner mapping.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName ownermappingid

RequiredLevel SystemRequired

Type Uniqueidentifier

ProcessCode
PROPERTY VALUE

Description Code that indicates whether the owner mapping has to be


processed

DisplayName Process Code

IsValidForForm True

IsValidForRead True

LogicalName processcode

RequiredLevel SystemRequired
PROPERTY VALUE

Type Picklist

ProcessCode Options

VALUE LABEL

1 Process

2 Ignore

3 Internal

SourceSystemUserName
PROPERTY VALUE

Description Source user name that has to be replaced

DisplayName Source System User Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName sourcesystemusername

MaxLength 160

RequiredLevel None

Type String

SourceUserValueForSourceCRMUserLink
PROPERTY VALUE

Description Source user value for source Microsoft Dynamics 365 user
link.

DisplayName Source User Value

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName sourceuservalueforsourcecrmuserlink

MaxLength 160

RequiredLevel None

Type String

StatusCode
PROPERTY VALUE

Description Reason for the status of the owner mapping.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options

VALUE LABEL STATE

0 Active 0

TargetSystemUserDomainName
PROPERTY VALUE

Description Microsoft Dynamics 365 logon name with which the source
user name should be replaced.

DisplayName Target Domain Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName targetsystemuserdomainname

MaxLength 260

RequiredLevel None

Type String

TargetSystemUserId
PROPERTY VALUE

Description Unique identifier of the Microsoft Dynamics 365 user.

DisplayName Target System User

IsValidForForm True

IsValidForRead True

LogicalName targetsystemuserid

RequiredLevel None

Targets businessunit

Type Lookup

TargetUserValueForSourceCRMUserLink
PROPERTY VALUE

Description Microsoft Dynamics CRM user.

DisplayName Target User Value

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName targetuservalueforsourcecrmuserlink

MaxLength 160

RequiredLevel None

Type String
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ImportMapIdName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
OwnerMappingIdUnique
SolutionId
StateCode
SupportingSolutionId
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published
VALUE LABEL

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the owner mapping.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the owner mapping was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


ownermapping.

DisplayName Created By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ImportMapIdName
PROPERTY VALUE

Description Name of the import map.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName importmapidname

MaxLength 100

RequiredLevel SystemRequired

Type String

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options
VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the lookup
mapping.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the owner mapping was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
ownermapping.

DisplayName Modified By (Delegate)


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

OwnerMappingIdUnique
PROPERTY VALUE

Description Unique identifier of the OwnerMapping.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ownermappingidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Status of the owner mapping.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid
PROPERTY VALUE

RequiredLevel None

Type Uniqueidentifier

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_ownermapping_modifiedby
lk_ownermapping_createdonbehalfby
OwnerMapping_SystemUser
lk_ownermapping_modifiedonbehalfby
lk_ownermapping_createdby
OwnerMapping_ImportMap
lk_ownermapping_modifiedby
See systemuser Entity lk_ownermapping_modifiedby One-To-Many relationship.
lk_ownermapping_createdonbehalfby
See systemuser Entity lk_ownermapping_createdonbehalfby One-To-Many relationship.
OwnerMapping_SystemUser
See systemuser Entity OwnerMapping_SystemUser One-To-Many relationship.
lk_ownermapping_modifiedonbehalfby
See systemuser Entity lk_ownermapping_modifiedonbehalfby One-To-Many relationship.
lk_ownermapping_createdby
See systemuser Entity lk_ownermapping_createdby One-To-Many relationship.
OwnerMapping_ImportMap
See importmap Entity OwnerMapping_ImportMap One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
ownermapping EntityType
PersonalDocumentTemplate Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Used to store Personal Document Templates in database in binary format.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/personaldocumentte
mplates(personaldocumenttemplateid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/personaldocumentte Create
mplates
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/personaldocumentte Delete
mplates(personaldocumenttemplateid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/personaldocumentte Retrieve
mplates(personaldocumenttemplateid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/personaldocumentte RetrieveMultiple
mplates
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/personaldocumentte Update
mplates(personaldocumenttemplateid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName PersonalDocumentTemplates

DisplayCollectionName Personal Document Templates

DisplayName Personal Document Template

EntitySetName personaldocumenttemplates

IsBPFEntity False

LogicalCollectionName personaldocumenttemplates

LogicalName personaldocumenttemplate

OwnershipType UserOwned

PrimaryIdAttribute personaldocumenttemplateid

PrimaryNameAttribute name

SchemaName PersonalDocumentTemplate

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AssociatedEntityTypeCode
ClientData
Content
Description
DocumentType
LanguageCode
Name
OwnerId
OwnerIdType
PersonalDocumentTemplateId
Status
AssociatedEntityTypeCode
PROPERTY VALUE

Description Associated Entity Type Code.

DisplayName Associated Entity Type Code

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName associatedentitytypecode

RequiredLevel None

Type EntityName

ClientData
PROPERTY VALUE

Description Client data regarding this personal document template.

DisplayName

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName clientdata

MaxLength 1073741823

RequiredLevel None

Type String

Content
PROPERTY VALUE

Description Bytes of the personal document template.

DisplayName

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName content
PROPERTY VALUE

MaxLength 1073741823

RequiredLevel SystemRequired

Type String

Description
PROPERTY VALUE

Description Additional information to describe the Personal Document


Template

DisplayName Description

FormatName TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 100

RequiredLevel None

Type String

DocumentType
PROPERTY VALUE

Description Option set for selecting the type of the personal document
template

DisplayName Type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName documenttype

RequiredLevel SystemRequired

Type Picklist
DocumentType Options

VALUE LABEL

1 Microsoft Excel

2 Microsoft Word

LanguageCode
PROPERTY VALUE

Description Language of Personal Document Template.

DisplayName Language

Format Language

IsValidForForm True

IsValidForRead True

LogicalName languagecode

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

Name
PROPERTY VALUE

Description Name of the personal document template.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PersonalDocumentTemplateId
PROPERTY VALUE

Description Unique identifier of the personal document template.

DisplayName Personal Document Template Identifier

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName personaldocumenttemplateid

RequiredLevel SystemRequired

Type Uniqueidentifier

Status
PROPERTY VALUE

Description Information about whether the personal document template


is active.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName status

RequiredLevel None

Type Boolean

Status Options

VALUE LABEL

1 Draft

0 Activated

DefaultValue: False

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OwnerIdName
OwningBusinessUnit
OwningTeam
OwningUser
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the personal


document template.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the personal document template was
created.

DisplayName Created On

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


personal document template.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the personal
document template.
PROPERTY VALUE

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the personal document template was last
modified.

DisplayName Modified On

Format DateAndTime
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


personal document template.

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String
OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the personal
document template.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the personal


document template.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the personal


document template.

DisplayName Owning User

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_personaldocumenttemplatebase_createdby
business_unit_personaldocumenttemplates
lk_personaldocumenttemplatebase_createdonbehalfby
lk_personaldocumenttemplatebase_modifiedby
lk_personaldocumenttemplatebase_modifiedonbehalfby
lk_personaldocumenttemplatebase_createdby
See systemuser Entity lk_personaldocumenttemplatebase_createdby One-To-Many relationship.
business_unit_personaldocumenttemplates
See businessunit Entity business_unit_personaldocumenttemplates One-To-Many relationship.
lk_personaldocumenttemplatebase_createdonbehalfby
See systemuser Entity lk_personaldocumenttemplatebase_createdonbehalfby One-To-Many relationship.
lk_personaldocumenttemplatebase_modifiedby
See systemuser Entity lk_personaldocumenttemplatebase_modifiedby One-To-Many relationship.
lk_personaldocumenttemplatebase_modifiedonbehalfby
See systemuser Entity lk_personaldocumenttemplatebase_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
personaldocumenttemplate EntityType
PhoneCall Entity Reference
4/3/2019 • 15 minutes to read • Edit Online

Activity to track a telephone call.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/phonecalls(activityid
)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/phonecalls Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/phonecalls(activityid Delete
)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/phonecalls(activityid Retrieve
)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/phonecalls RetrieveMultipleRequest or


See Query Data RetrieveMultiple

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/phonecalls(activityid
)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/phonecalls(activityid Update
)
See Update
Entity Properties
PROPERTY VALUE

CollectionSchemaName PhoneCalls

DisplayCollectionName Phone Calls

DisplayName Phone Call

EntitySetName phonecalls

IsBPFEntity False

LogicalCollectionName phonecalls

LogicalName phonecall

OwnershipType UserOwned

PrimaryIdAttribute activityid

PrimaryNameAttribute subject

SchemaName PhoneCall

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityAdditionalParams
ActivityId
ActualDurationMinutes
ActualEnd
ActualStart
Category
Description
DirectionCode
from
ImportSequenceNumber
IsBilled
IsWorkflowCreated
LastOnHoldTime
LeftVoiceMail
OverriddenCreatedOn
OwnerId
OwnerIdType
PhoneNumber
PriorityCode
ProcessId
RegardingObjectId
RegardingObjectTypeCode
ScheduledEnd
ScheduledStart
SLAId
SortDate
StageId
StateCode
StatusCode
Subcategory
Subject
SubscriptionId
TimeZoneRuleVersionNumber
to
TransactionCurrencyId
TraversedPath
UTCConversionTimeZoneCode
ActivityAdditionalParams
PROPERTY VALUE

Description For internal use only.

DisplayName Additional Parameters

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName activityadditionalparams

MaxLength 8192

RequiredLevel None

Type Memo

ActivityId
PROPERTY VALUE

Description Unique identifier of the phone call activity.

DisplayName Phone Call


PROPERTY VALUE

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName activityid

RequiredLevel SystemRequired

Type Uniqueidentifier

ActualDurationMinutes
PROPERTY VALUE

Description Type the number of minutes spent on the phone call. The
duration is used in reporting.

DisplayName Duration

Format Duration

IsValidForForm True

IsValidForRead True

LogicalName actualdurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

ActualEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual end date and time of the phone call. By
default, it displays the date and time when the activity was
completed or canceled, but can be edited to capture the
actual duration of the phone call.

DisplayName Actual End

Format DateOnly
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName actualend

RequiredLevel None

Type DateTime

ActualStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the actual start date and time for the phone call. By
default, it displays the date and time when the activity was
created, but can be edited to capture the actual duration of
the phone call.

DisplayName Actual Start

Format DateOnly

IsValidForForm True

IsValidForRead True

LogicalName actualstart

RequiredLevel None

Type DateTime

Category
PROPERTY VALUE

Description Type a category to identify the phone call type, such as lead
gathering or customer follow-up, to tie the phone call to a
business group or function.

DisplayName Category

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName category

MaxLength 250

RequiredLevel None

Type String

Description
PROPERTY VALUE

Description Type additional information to describe the phone call, such as


the primary message or the products and services discussed.

DisplayName Description

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 2000

RequiredLevel None

Type Memo

DirectionCode
PROPERTY VALUE

Description Select the direction of the phone call as incoming or


outbound.

DisplayName Direction

IsValidForForm True

IsValidForRead True

LogicalName directioncode

RequiredLevel None
PROPERTY VALUE

Type Boolean

DirectionCode Options

VALUE LABEL

1 Outgoing

0 Incoming

DefaultValue: True
from
PROPERTY VALUE

Description Enter the account, contact, lead, or user who made the phone
call.

DisplayName Call From

IsValidForForm True

IsValidForRead True

LogicalName from

RequiredLevel ApplicationRequired

Targets account,contact,systemuser

Type PartyList

ImportSequenceNumber
PROPERTY VALUE

Description Unique identifier of the data import or data migration that


created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber
PROPERTY VALUE

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

IsBilled
PROPERTY VALUE

Description Information which specifies whether the phone call activity


was billed as part of resolving a case.

DisplayName Is Billed

IsValidForForm False

IsValidForRead True

LogicalName isbilled

RequiredLevel None

Type Boolean

IsBilled Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IsWorkflowCreated
PROPERTY VALUE

Description Indication which specifies if the phone call activity was created
by a workflow rule.

DisplayName Is Workflow Created

IsValidForForm False

IsValidForRead True

LogicalName isworkflowcreated
PROPERTY VALUE

RequiredLevel None

Type Boolean

IsWorkflowCreated Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
LastOnHoldTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Contains the date and time stamp of the last on hold time.

DisplayName Last On Hold Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName lastonholdtime

RequiredLevel None

Type DateTime

LeftVoiceMail
PROPERTY VALUE

Description Select whether a voice mail was left for the person.

DisplayName Left Voice Mail

IsValidForForm True

IsValidForRead True

LogicalName leftvoicemail

RequiredLevel None
PROPERTY VALUE

Type Boolean

LeftVoiceMail Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

LogicalName ownerid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PhoneNumber
PROPERTY VALUE

Description Type the phone number.

DisplayName Phone Number

FormatName Phone

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName phonenumber

MaxLength 200

RequiredLevel None

Type String

PriorityCode
PROPERTY VALUE

Description Select the priority so that preferred customers or critical issues


are handled quickly.

DisplayName Priority

IsValidForForm True

IsValidForRead True

LogicalName prioritycode

RequiredLevel None

Type Picklist

PriorityCode Options

VALUE LABEL

0 Low

1 Normal

2 High

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

LogicalName processid

RequiredLevel None

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Choose the record that the phone call relates to.

DisplayName Regarding
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName regardingobjectid

RequiredLevel None

Targets account,contact,knowledgearticle,knowledgebaserecord

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

ScheduledEnd
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time.

DisplayName Due

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledend

RequiredLevel None

Type DateTime
ScheduledStart
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Enter the expected due date and time.

DisplayName Start Date

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName scheduledstart

RequiredLevel None

Type DateTime

SLAId
PROPERTY VALUE

Description Choose the service level agreement (SLA) that you want to
apply to the Phone Call record.

DisplayName SLA

IsValidForForm True

IsValidForRead True

LogicalName slaid

RequiredLevel None

Targets sla

Type Lookup

SortDate
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time by which the activities are sorted.

DisplayName Sort Date


PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName sortdate

RequiredLevel None

Type DateTime

StageId
PROPERTY VALUE

Description Shows the ID of the stage.

DisplayName (Deprecated) Process Stage

IsValidForForm False

IsValidForRead True

LogicalName stageid

RequiredLevel None

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Shows whether the phone call is open, completed, or canceled.


Completed and canceled phone calls are read-only and can't
be edited.

DisplayName Activity Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State
StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Open 1 Open

1 Completed 2 Completed

2 Canceled 3 Canceled

StatusCode
PROPERTY VALUE

Description Select the phone call's status.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Open 0

2 Made 1

3 Canceled 2

4 Received 1

Subcategory
PROPERTY VALUE

Description Type a subcategory to identify the phone call type and relate
the activity to a specific product, sales region, business group,
or other function.

DisplayName Sub-Category

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName subcategory

MaxLength 250

RequiredLevel None

Type String

Subject
PROPERTY VALUE

Description Type a short description about the objective or primary topic


of the phone call.

DisplayName Subject

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName subject

MaxLength 200

RequiredLevel ApplicationRequired

Type String

SubscriptionId
PROPERTY VALUE

Description For internal use only.

DisplayName Subscription

IsValidForForm False

IsValidForRead False

IsValidForUpdate False
PROPERTY VALUE

LogicalName subscriptionid

RequiredLevel None

Type Uniqueidentifier

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

to
PROPERTY VALUE

Description Enter the account, contact, lead, or user recipients of the


phone call.

DisplayName Call To

IsValidForForm True

IsValidForRead True

LogicalName to

RequiredLevel ApplicationRequired

Targets account,contact,systemuser

Type PartyList
TransactionCurrencyId
PROPERTY VALUE

Description Choose the local currency for the record to make sure
budgets are reported in the correct currency.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

TraversedPath
PROPERTY VALUE

Description For internal use only.

DisplayName (Deprecated) Traversed Path

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName traversedpath

MaxLength 1250

RequiredLevel None

Type String

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ActivityTypeCode
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
IsRegularActivity
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OnHoldTime
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
RegardingObjectIdName
RegardingObjectIdYomiName
ScheduledDurationMinutes
SLAInvokedId
SLAInvokedIdName
SLAName
TransactionCurrencyIdName
VersionNumber
ActivityTypeCode
PROPERTY VALUE

Description Shows the type of activity.

DisplayName Activity Type

IsValidForForm False

IsValidForRead True

LogicalName activitytypecode

RequiredLevel SystemRequired

Type EntityName

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExchangeRate
PROPERTY VALUE

Description Shows the conversion rate of the record's currency. The


exchange rate is used to convert all money fields in the record
from the local currency to the system's default currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal
IsRegularActivity
PROPERTY VALUE

Description Information regarding whether the activity is a regular activity


type or event type.

DisplayName Is Regular Activity

IsValidForForm False

IsValidForRead True

LogicalName isregularactivity

RequiredLevel SystemRequired

Type Boolean

IsRegularActivity Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.
PROPERTY VALUE

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OnHoldTime
PROPERTY VALUE

Description Shows how long, in minutes, that the record was on hold.

DisplayName On Hold Time (Minutes)

Format None

IsValidForForm True

IsValidForRead True

LogicalName onholdtime

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None
PROPERTY VALUE

Type Integer

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the phone call
activity.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team that owns the phone call activity.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user that owns the phone call activity.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 100

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ScheduledDurationMinutes
PROPERTY VALUE

Description Scheduled duration of the phone call activity, specified in


minutes.

DisplayName Scheduled Duration

Format Duration

IsValidForForm False

IsValidForRead True

LogicalName scheduleddurationminutes

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

SLAInvokedId
PROPERTY VALUE

Description Last SLA that was applied to this Phone Call. This field is for
internal use only.

DisplayName Last SLA applied

IsValidForForm False

IsValidForRead True

LogicalName slainvokedid

RequiredLevel None

Targets sla

Type Lookup

SLAInvokedIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slainvokedidname

MaxLength 100

RequiredLevel None

Type String

SLAName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName slaname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the phone call activity.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
phonecall_PostFollows
PhoneCall_AsyncOperations
phonecall_connections2
PhoneCall_SyncErrors
PhoneCall_ProcessSessions
PhoneCall_DuplicateMatchingRecord
slakpiinstance_phonecall
PhoneCall_DuplicateBaseRecord
PhoneCall_Annotation
phonecall_actioncard
phonecall_connections1
PhoneCall_BulkDeleteFailures
phonecall_activity_parties
PhoneCall_QueueItem
phonecall_principalobjectattributeaccess
phonecall_PostFollows
Same as postfollow entity phonecall_PostFollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName phonecall_PostFollows

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_AsyncOperations
Same as asyncoperation entity PhoneCall_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName PhoneCall_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

phonecall_connections2
Same as connection entity phonecall_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName phonecall_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_SyncErrors
Same as syncerror entity PhoneCall_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName PhoneCall_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

PhoneCall_ProcessSessions
Same as processsession entity PhoneCall_ProcessSessions Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName PhoneCall_ProcessSessions

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 110

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_DuplicateMatchingRecord
Same as duplicaterecord entity PhoneCall_DuplicateMatchingRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute duplicaterecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName PhoneCall_DuplicateMatchingRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

slakpiinstance_phonecall
Same as slakpiinstance entity slakpiinstance_phonecall Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity slakpiinstance

ReferencingAttribute regarding

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName slakpiinstance_phonecall

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_DuplicateBaseRecord
Same as duplicaterecord entity PhoneCall_DuplicateBaseRecord Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity duplicaterecord

ReferencingAttribute baserecordid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName PhoneCall_DuplicateBaseRecord

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_Annotation
Same as annotation entity PhoneCall_Annotation Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity annotation

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName PhoneCall_Annotation

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

phonecall_actioncard
Same as actioncard entity phonecall_actioncard Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity actioncard

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName phonecall_actioncard

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

phonecall_connections1
Same as connection entity phonecall_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName phonecall_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_BulkDeleteFailures
Same as bulkdeletefailure entity PhoneCall_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName PhoneCall_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

phonecall_activity_parties
Same as activityparty entity phonecall_activity_parties Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity activityparty

ReferencingAttribute activityid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName phonecall_activity_parties

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PhoneCall_QueueItem
Same as queueitem entity PhoneCall_QueueItem Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity queueitem

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName PhoneCall_QueueItem

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

phonecall_principalobjectattributeaccess
Same as principalobjectattributeaccess entity phonecall_principalobjectattributeaccess Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName phonecall_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
KnowledgeBaseRecord_PhoneCalls
lk_phonecall_modifiedonbehalfby
lk_phonecall_createdonbehalfby
Account_Phonecalls
lk_phonecall_modifiedby
Contact_Phonecalls
manualsla_phonecall
sla_phonecall
KnowledgeArticle_Phonecalls
lk_phonecall_createdby
processstage_phonecalls
user_phonecall
activity_pointer_phonecall
team_phonecall
TransactionCurrency_PhoneCall
business_unit_phone_call_activities
KnowledgeBaseRecord_PhoneCalls
See knowledgebaserecord Entity KnowledgeBaseRecord_PhoneCalls One-To-Many relationship.
lk_phonecall_modifiedonbehalfby
See systemuser Entity lk_phonecall_modifiedonbehalfby One-To-Many relationship.
lk_phonecall_createdonbehalfby
See systemuser Entity lk_phonecall_createdonbehalfby One-To-Many relationship.
Account_Phonecalls
See account Entity Account_Phonecalls One-To-Many relationship.
lk_phonecall_modifiedby
See systemuser Entity lk_phonecall_modifiedby One-To-Many relationship.
Contact_Phonecalls
See contact Entity Contact_Phonecalls One-To-Many relationship.
manualsla_phonecall
See sla Entity manualsla_phonecall One-To-Many relationship.
sla_phonecall
See sla Entity sla_phonecall One-To-Many relationship.
KnowledgeArticle_Phonecalls
See knowledgearticle Entity KnowledgeArticle_Phonecalls One-To-Many relationship.
lk_phonecall_createdby
See systemuser Entity lk_phonecall_createdby One-To-Many relationship.
processstage_phonecalls
See processstage Entity processstage_phonecalls One-To-Many relationship.
user_phonecall
See systemuser Entity user_phonecall One-To-Many relationship.
activity_pointer_phonecall
See activitypointer Entity activity_pointer_phonecall One-To-Many relationship.
team_phonecall
See team Entity team_phonecall One-To-Many relationship.
TransactionCurrency_PhoneCall
See transactioncurrency Entity TransactionCurrency_PhoneCall One-To-Many relationship.
business_unit_phone_call_activities
See businessunit Entity business_unit_phone_call_activities One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
phonecall EntityType
PickListMapping Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

In a data map, maps list values from the source file to Microsoft Dynamics 365.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/picklistmappings Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/picklistmappings(pic Delete
klistmappingid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/picklistmappings(pic Retrieve
klistmappingid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/picklistmappings RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName PickListMappings

DisplayCollectionName List Value Mappings

DisplayName List Value Mapping

EntitySetName picklistmappings

IsBPFEntity False

LogicalCollectionName picklistmappings

LogicalName picklistmapping

OwnershipType None

PrimaryIdAttribute picklistmappingid

PrimaryNameAttribute
PROPERTY VALUE

SchemaName PickListMapping

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ColumnMappingId
IntroducedVersion
PickListMappingId
ProcessCode
SourceValue
StatusCode
TargetValue
ColumnMappingId
PROPERTY VALUE

Description Unique identifier of the column mapping with which this list
value mapping is associated.

DisplayName Column Mapping Id

IsValidForForm True

IsValidForRead True

LogicalName columnmappingid

RequiredLevel ApplicationRequired

Targets columnmapping

Type Lookup

IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

PickListMappingId
PROPERTY VALUE

Description Unique identifier of the picklist mapping.

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName picklistmappingid

RequiredLevel SystemRequired

Type Uniqueidentifier

ProcessCode
PROPERTY VALUE

Description Information about whether the list value mapping needs to be


processed.

DisplayName Process Code

IsValidForForm True

IsValidForRead True

LogicalName processcode

RequiredLevel SystemRequired

Type Picklist

ProcessCode Options
VALUE LABEL

1 Process

2 Ignore

3 Internal

4 Unmapped

SourceValue
PROPERTY VALUE

Description Source value to be replaced.

DisplayName Source Value

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName sourcevalue

MaxLength 2097152

RequiredLevel None

Type String

StatusCode
PROPERTY VALUE

Description Reason for the status of the picklist mapping.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel SystemRequired

Type Status

StatusCode Options
VALUE LABEL STATE

0 Active 0

TargetValue
PROPERTY VALUE

Description Microsoft Dynamics 365 list value with which to replace the
source value.

DisplayName Target Value

Format None

IsValidForForm True

IsValidForRead True

LogicalName targetvalue

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ColumnMappingIdName
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
PickListMappingIdUnique
SolutionId
StateCode
SupportingSolutionId
ColumnMappingIdName
PROPERTY VALUE

Description Name of the column mapping.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName columnmappingidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished
VALUE LABEL

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the list value
mapping.

DisplayName Created By

IsValidForForm False

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String
CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the list value mapping was created.

DisplayName

Format DateAndTime

IsValidForForm False

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


picklistmapping.
PROPERTY VALUE

DisplayName Created By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the list value
mapping.

DisplayName Modified By

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the list value mapping was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel SystemRequired

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
picklistmapping.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.


PROPERTY VALUE

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PickListMappingIdUnique
PROPERTY VALUE

Description Unique identifier of the Pick List Mapping.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName picklistmappingidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

StateCode
PROPERTY VALUE

Description Status of the picklist mapping.

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 0 Active

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_picklistmapping_modifiedonbehalfby
PickListMapping_ColumnMapping
lk_picklistmapping_createdby
lk_picklistmapping_createdonbehalfby
lk_picklistmapping_modifiedby
lk_picklistmapping_modifiedonbehalfby
See systemuser Entity lk_picklistmapping_modifiedonbehalfby One-To-Many relationship.
PickListMapping_ColumnMapping
See columnmapping Entity PickListMapping_ColumnMapping One-To-Many relationship.
lk_picklistmapping_createdby
See systemuser Entity lk_picklistmapping_createdby One-To-Many relationship.
lk_picklistmapping_createdonbehalfby
See systemuser Entity lk_picklistmapping_createdonbehalfby One-To-Many relationship.
lk_picklistmapping_modifiedby
See systemuser Entity lk_picklistmapping_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
picklistmapping EntityType
PluginAssembly Entity Reference
4/3/2019 • 7 minutes to read • Edit Online

Assembly that contains one or more plug-in types.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/pluginassemblies Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/pluginassemblies(plu Delete
ginassemblyid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/pluginassemblies(plu Retrieve
ginassemblyid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/pluginassemblies RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/pluginassemblies(plu Update
ginassemblyid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName PluginAssemblies

DisplayCollectionName Plug-in Assemblies

DisplayName Plug-in Assembly

EntitySetName pluginassemblies

IsBPFEntity False

LogicalCollectionName pluginassemblies

LogicalName pluginassembly
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute pluginassemblyid

PrimaryNameAttribute name

SchemaName PluginAssembly

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AuthType
Content
Culture
Description
IntroducedVersion
IsCustomizable
IsHidden
IsolationMode
Name
Password
Path
PluginAssemblyId
PublicKeyToken
SourceHash
SourceType
Url
UserName
Version
AuthType
PROPERTY VALUE

Description Specifies mode of authentication with web sources like


WebApp

DisplayName Specifies mode of authentication with web sources

IsValidForForm True

IsValidForRead True

LogicalName authtype

RequiredLevel None
PROPERTY VALUE

Type Picklist

AuthType Options

VALUE LABEL

0 BasicAuth

Content
PROPERTY VALUE

Description Bytes of the assembly, in Base64 format.

DisplayName

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName content

MaxLength 1073741823

RequiredLevel None

Type String

Culture
PROPERTY VALUE

Description Culture code for the plug-in assembly.

DisplayName Culture

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName culture

MaxLength 32
PROPERTY VALUE

RequiredLevel SystemRequired

Type String

Description
PROPERTY VALUE

Description Description of the plug-in assembly.

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 256

RequiredLevel None

Type String

IntroducedVersion
PROPERTY VALUE

Description Version in which the form is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None
PROPERTY VALUE

Type String

IsCustomizable
PROPERTY VALUE

Description Information that specifies whether this component can be


customized.

DisplayName Customizable

IsValidForForm False

IsValidForRead True

LogicalName iscustomizable

RequiredLevel SystemRequired

Type ManagedProperty

IsHidden
PROPERTY VALUE

Description Information that specifies whether this component should be


hidden.

DisplayName Hidden

IsValidForForm False

IsValidForRead True

LogicalName ishidden

RequiredLevel SystemRequired

Type ManagedProperty

IsolationMode
PROPERTY VALUE

Description Information about how the plugin assembly is to be isolated


at execution time; None / Sandboxed.

DisplayName Isolation Mode

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName isolationmode

RequiredLevel SystemRequired

Type Picklist

IsolationMode Options

VALUE LABEL

1 None

2 Sandbox

3 External

Name
PROPERTY VALUE

Description Name of the plug-in assembly.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel SystemRequired

Type String

Password
PROPERTY VALUE

Description User Password

DisplayName User Password

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm True

IsValidForRead False

LogicalName password

MaxLength 256

RequiredLevel None

Type String

Path
PROPERTY VALUE

Description File name of the plug-in assembly. Used when the source type
is set to 1.

DisplayName Path

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName path

MaxLength 256

RequiredLevel None

Type String

PluginAssemblyId
PROPERTY VALUE

Description Unique identifier of the plug-in assembly.

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName pluginassemblyid

RequiredLevel SystemRequired

Type Uniqueidentifier

PublicKeyToken
PROPERTY VALUE

Description Public key token of the assembly. This value can be obtained
from the assembly by using reflection.

DisplayName Public Key Token

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName publickeytoken

MaxLength 32

RequiredLevel SystemRequired

Type String

SourceHash
PROPERTY VALUE

Description Hash of the source of the assembly.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName sourcehash
PROPERTY VALUE

MaxLength 256

RequiredLevel None

Type String

SourceType
PROPERTY VALUE

Description Location of the assembly, for example 0=database, 1=on-disk.

DisplayName Source Type

IsValidForForm True

IsValidForRead True

LogicalName sourcetype

RequiredLevel SystemRequired

Type Picklist

SourceType Options

VALUE LABEL

0 Database

1 Disk

2 Normal

3 AzureWebApp

Url
PROPERTY VALUE

Description Web Url

DisplayName Web Url

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName url

MaxLength 2000

RequiredLevel None

Type String

UserName
PROPERTY VALUE

Description User Name

DisplayName User Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName username

MaxLength 256

RequiredLevel None

Type String

Version
PROPERTY VALUE

Description Version number of the assembly. The value can be obtained


from the assembly through reflection.

DisplayName Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName version
PROPERTY VALUE

MaxLength 48

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
CustomizationLevel
IsManaged
IsPasswordSet
Major
Minor
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OverwriteTime
PluginAssemblyIdUnique
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate
PROPERTY VALUE

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the plug-in


assembly.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the plug-in assembly was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


pluginassembly.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

CustomizationLevel
PROPERTY VALUE

Description Customization Level.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName customizationlevel

MaxValue 255

MinValue -255

RequiredLevel SystemRequired

Type Integer

IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
IsPasswordSet
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ispasswordset

RequiredLevel None

Type Boolean

IsPasswordSet Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Major
PROPERTY VALUE

Description Major of the assembly version.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName major

MaxValue 65534

MinValue 0

RequiredLevel SystemRequired

Type Integer

Minor
PROPERTY VALUE

Description Minor of the assembly version.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName minor

MaxValue 65534

MinValue 0

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the plug-in
assembly.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the plug-in assembly was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
pluginassembly.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the plug-in


assembly is associated.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PluginAssemblyIdUnique
PROPERTY VALUE

Description Unique identifier of the plug-in assembly.


PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName pluginassemblyidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
pluginassembly_plugintype
Same as plugintype entity pluginassembly_plugintype Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity plugintype

ReferencingAttribute pluginassemblyid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName pluginassembly_plugintype

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
modifiedby_pluginassembly
createdby_pluginassembly
organization_pluginassembly
lk_pluginassembly_modifiedonbehalfby
lk_pluginassembly_createdonbehalfby
modifiedby_pluginassembly
See systemuser Entity modifiedby_pluginassembly One-To-Many relationship.
createdby_pluginassembly
See systemuser Entity createdby_pluginassembly One-To-Many relationship.
organization_pluginassembly
See organization Entity organization_pluginassembly One-To-Many relationship.
lk_pluginassembly_modifiedonbehalfby
See systemuser Entity lk_pluginassembly_modifiedonbehalfby One-To-Many relationship.
lk_pluginassembly_createdonbehalfby
See systemuser Entity lk_pluginassembly_createdonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
pluginassembly EntityType
PluginTraceLog Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Trace and exception information generated by plug-ins and custom workflow activities.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/plugintracelogs(plu Delete
gintracelogid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/plugintracelogs(plu Retrieve
gintracelogid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/plugintracelogs RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName PluginTraceLogs

DisplayCollectionName Plug-in Trace Logs

DisplayName Plug-in Trace Log

EntitySetName plugintracelogs

IsBPFEntity False

LogicalCollectionName plugintracelogs

LogicalName plugintracelog

OwnershipType OrganizationOwned

PrimaryIdAttribute plugintracelogid

PrimaryNameAttribute typename

SchemaName PluginTraceLog
Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
Configuration
CorrelationId
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
Depth
ExceptionDetails
IsSystemCreated
MessageBlock
MessageName
Mode
OperationType
OrganizationId
PerformanceConstructorDuration
PerformanceConstructorStartTime
PerformanceExecutionDuration
PerformanceExecutionStartTime
PersistenceKey
PluginStepId
PluginTraceLogId
PrimaryEntity
Profile
RequestId
SecureConfiguration
TypeName
Configuration
PROPERTY VALUE

Description Unsecured configuration for the plug-in trace log.

DisplayName Configuration

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName configuration

MaxLength 1073741823

RequiredLevel None

Type Memo

CorrelationId
PROPERTY VALUE

Description Unique identifier for tracking plug-in or custom workflow


activity execution.

DisplayName Correlation Id

IsValidForForm True

IsValidForRead True

LogicalName correlationid

RequiredLevel None

Type Uniqueidentifier

CreatedBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.


PROPERTY VALUE

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

Depth
PROPERTY VALUE

Description Depth of execution of the plug-in or custom workflow


activity.

DisplayName Depth

Format None

IsValidForForm True

IsValidForRead True

LogicalName depth

MaxValue 2147483647
PROPERTY VALUE

MinValue 0

RequiredLevel None

Type Integer

ExceptionDetails
PROPERTY VALUE

Description Details of the exception.

DisplayName Exception Details

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName exceptiondetails

MaxLength 1073741823

RequiredLevel None

Type Memo

IsSystemCreated
PROPERTY VALUE

Description Where the event originated. Set to true if it's a system trace;
otherwise, false.

DisplayName System Created

IsValidForForm True

IsValidForRead True

LogicalName issystemcreated

RequiredLevel SystemRequired

Type Boolean

IsSystemCreated Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False
MessageBlock
PROPERTY VALUE

Description Trace text from the plug-in.

DisplayName Message Block

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName messageblock

MaxLength 1073741823

RequiredLevel None

Type Memo

MessageName
PROPERTY VALUE

Description Name of the message that triggered this plug-in.

DisplayName Message Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName messagename

MaxLength 1024

RequiredLevel None
PROPERTY VALUE

Type String

Mode
PROPERTY VALUE

Description Type of execution.

DisplayName Mode

IsValidForForm True

IsValidForRead True

LogicalName mode

RequiredLevel None

Type Picklist

Mode Options

VALUE LABEL

0 Synchronous

1 Asynchronous

OperationType
PROPERTY VALUE

Description Type of custom code.

DisplayName Operation Type

IsValidForForm True

IsValidForRead True

LogicalName operationtype

RequiredLevel None

Type Picklist

OperationType Options

VALUE LABEL

0 Unknown
VALUE LABEL

1 Plug-in

2 Workflow Activity

OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization.

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Type Uniqueidentifier

PerformanceConstructorDuration
PROPERTY VALUE

Description Time, in milliseconds, to construct.

DisplayName Constructor Duration

Format None

IsValidForForm True

IsValidForRead True

LogicalName performanceconstructorduration

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

PerformanceConstructorStartTime
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time when constructed.

DisplayName Constructor Start Time

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName performanceconstructorstarttime

RequiredLevel None

Type DateTime

PerformanceExecutionDuration
PROPERTY VALUE

Description Time, in milliseconds, to execute the request.

DisplayName Execution Duration

Format None

IsValidForForm True

IsValidForRead True

LogicalName performanceexecutionduration

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

PerformanceExecutionStartTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Time, in milliseconds, to execute the request.

DisplayName Execution Start Time

Format DateAndTime
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName performanceexecutionstarttime

RequiredLevel None

Type DateTime

PersistenceKey
PROPERTY VALUE

Description Asynchronous workflow persistence key.

DisplayName Persistence Key

IsValidForForm True

IsValidForRead True

LogicalName persistencekey

RequiredLevel None

Type Uniqueidentifier

PluginStepId
PROPERTY VALUE

Description ID of the plug-in registration step.

DisplayName Plugin Step ID

IsValidForForm True

IsValidForRead True

LogicalName pluginstepid

RequiredLevel None

Type Uniqueidentifier

PluginTraceLogId
PROPERTY VALUE

Description Unique identifier for an entity instance.


PROPERTY VALUE

DisplayName Plug-in Trace Log

IsValidForForm False

IsValidForRead True

LogicalName plugintracelogid

RequiredLevel SystemRequired

Type Uniqueidentifier

PrimaryEntity
PROPERTY VALUE

Description Entity, if any, that the plug-in is executed against.

DisplayName Primary Entity

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName primaryentity

MaxLength 1000

RequiredLevel None

Type String

Profile
PROPERTY VALUE

Description Plug-in profile formatted as serialized text.

DisplayName Profile

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName profile

MaxLength 1073741823

RequiredLevel None

Type Memo

RequestId
PROPERTY VALUE

Description Unique identifier of the message request.

DisplayName Request ID

IsValidForForm True

IsValidForRead True

LogicalName requestid

RequiredLevel None

Type Uniqueidentifier

SecureConfiguration
PROPERTY VALUE

Description Secured configuration for the plug-in trace log.

DisplayName Secure Configuration

Format TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName secureconfiguration

MaxLength 1073741823

RequiredLevel None

Type Memo

TypeName
PROPERTY VALUE

Description Class name of the plug-in.

DisplayName Type Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName typename

MaxLength 1024

RequiredLevel None

Type String

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_plugintracelogbase_createdonbehalfby
createdby_plugintracelog
lk_plugintracelogbase_createdonbehalfby
See systemuser Entity lk_plugintracelogbase_createdonbehalfby One-To-Many relationship.
createdby_plugintracelog
See systemuser Entity createdby_plugintracelog One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
plugintracelog EntityType
PluginType Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Type that inherits from the IPlugin interface and is contained within a plug-in assembly.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/plugintypes Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/plugintypes(pluginty Delete
peid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/plugintypes(pluginty Retrieve
peid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/plugintypes RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/plugintypes(pluginty Update
peid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName PluginTypes

DisplayCollectionName Plug-in Types

DisplayName Plug-in Type

EntitySetName plugintypes

IsBPFEntity False

LogicalCollectionName plugintypes

LogicalName plugintype

OwnershipType OrganizationOwned
PROPERTY VALUE

PrimaryIdAttribute plugintypeid

PrimaryNameAttribute name

SchemaName PluginType

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Description
FriendlyName
Name
PluginAssemblyId
PluginTypeId
TypeName
WorkflowActivityGroupName
Description
PROPERTY VALUE

Description Description of the plug-in type.

DisplayName Description

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 256

RequiredLevel None

Type String

FriendlyName
PROPERTY VALUE

Description User friendly name for the plug-in.

DisplayName Display Name


PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName friendlyname

MaxLength 256

RequiredLevel SystemRequired

Type String

Name
PROPERTY VALUE

Description Name of the plug-in type.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel None

Type String

PluginAssemblyId
PROPERTY VALUE

Description Unique identifier of the plug-in assembly that contains this


plug-in type.

DisplayName Plugin Assembly

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName pluginassemblyid

RequiredLevel None

Targets pluginassembly

Type Lookup

PluginTypeId
PROPERTY VALUE

Description Unique identifier of the plug-in type.

DisplayName Plug-in Type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName plugintypeid

RequiredLevel SystemRequired

Type Uniqueidentifier

TypeName
PROPERTY VALUE

Description Fully qualified type name of the plug-in type.

DisplayName Type Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName typename

MaxLength 256

RequiredLevel SystemRequired
PROPERTY VALUE

Type String

WorkflowActivityGroupName
PROPERTY VALUE

Description Group name of workflow custom activity.

DisplayName Workflow Activity Group Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName workflowactivitygroupname

MaxLength 256

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AssemblyName
ComponentState
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
Culture
CustomizationLevel
CustomWorkflowActivityInfo
IsManaged
IsWorkflowActivity
Major
Minor
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OverwriteTime
PluginAssemblyIdName
PluginTypeIdUnique
PublicKeyToken
SolutionId
SupportingSolutionId
Version
VersionNumber
AssemblyName
PROPERTY VALUE

Description Full path name of the plug-in assembly.

DisplayName Assembly Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName assemblyname

MaxLength 100

RequiredLevel ApplicationRequired

Type String

ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired
PROPERTY VALUE

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the plug-in type.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the plug-in type was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the


plugintype.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

Culture
PROPERTY VALUE

Description Culture code for the plug-in assembly.

DisplayName Culture
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName culture

MaxLength 32

RequiredLevel ApplicationRequired

Type String

CustomizationLevel
PROPERTY VALUE

Description Customization level of the plug-in type.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName customizationlevel

MaxValue 255

MinValue -255

RequiredLevel SystemRequired

Type Integer

CustomWorkflowActivityInfo
PROPERTY VALUE

Description Serialized Custom Activity Type information, including required


arguments. For more information, see
SandboxCustomActivityInfo.

DisplayName Custom Workflow Activity Info

Format TextArea
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName customworkflowactivityinfo

MaxLength 1048576

RequiredLevel None

Type Memo

IsManaged
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
IsWorkflowActivity
PROPERTY VALUE

Description Indicates if the plug-in is a custom activity for workflows.

DisplayName Is Workflow Activity

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName isworkflowactivity

RequiredLevel None

Type Boolean

IsWorkflowActivity Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
Major
PROPERTY VALUE

Description Major of the version number of the assembly for the plug-in
type.

DisplayName Version major

Format None

IsValidForForm False

IsValidForRead True

LogicalName major

MaxValue 65534

MinValue 0

RequiredLevel SystemRequired

Type Integer

Minor
PROPERTY VALUE

Description Minor of the version number of the assembly for the plug-in
type.

DisplayName Version minor


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead True

LogicalName minor

MaxValue 65534

MinValue 0

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the plug-in
type.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the plug-in type was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who last modified the
plugintype.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the plug-in


type is associated.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

PluginAssemblyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName pluginassemblyidname

MaxLength 100

RequiredLevel None

Type String

PluginTypeIdUnique
PROPERTY VALUE

Description Unique identifier of the plug-in type.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName plugintypeidunique

RequiredLevel SystemRequired

Type Uniqueidentifier

PublicKeyToken
PROPERTY VALUE

Description Public key token of the assembly for the plug-in type.

DisplayName Public Key Token

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName publickeytoken

MaxLength 32

RequiredLevel ApplicationRequired
PROPERTY VALUE

Type String

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

Version
PROPERTY VALUE

Description Version number of the assembly for the plug-in type.

DisplayName Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName version

MaxLength 48

RequiredLevel ApplicationRequired

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
plugintype_sdkmessageprocessingstep
plugintype_plugintypestatistic
plugintypeid_sdkmessageprocessingstep
plugintype_sdkmessageprocessingstep
Same as sdkmessageprocessingstep entity plugintype_sdkmessageprocessingstep Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sdkmessageprocessingstep

ReferencingAttribute eventhandler

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName plugintype_sdkmessageprocessingstep

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

plugintype_plugintypestatistic
Same as plugintypestatistic entity plugintype_plugintypestatistic Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity plugintypestatistic

ReferencingAttribute plugintypeid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName plugintype_plugintypestatistic

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

plugintypeid_sdkmessageprocessingstep
Same as sdkmessageprocessingstep entity plugintypeid_sdkmessageprocessingstep Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity sdkmessageprocessingstep

ReferencingAttribute plugintypeid

IsHierarchical False
PROPERTY VALUE

IsCustomizable False

ReferencedEntityNavigationPropertyName plugintypeid_sdkmessageprocessingstep

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
pluginassembly_plugintype
lk_plugintype_createdonbehalfby
organization_plugintype
modifiedby_plugintype
createdby_plugintype
lk_plugintype_modifiedonbehalfby
pluginassembly_plugintype
See pluginassembly Entity pluginassembly_plugintype One-To-Many relationship.
lk_plugintype_createdonbehalfby
See systemuser Entity lk_plugintype_createdonbehalfby One-To-Many relationship.
organization_plugintype
See organization Entity organization_plugintype One-To-Many relationship.
modifiedby_plugintype
See systemuser Entity modifiedby_plugintype One-To-Many relationship.
createdby_plugintype
See systemuser Entity createdby_plugintype One-To-Many relationship.
lk_plugintype_modifiedonbehalfby
See systemuser Entity lk_plugintype_modifiedonbehalfby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
plugintype EntityType
PluginTypeStatistic Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Plug-in type statistic.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/plugintypestatistics( Retrieve
plugintypestatisticid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/plugintypestatistics RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName PluginTypeStatistics

DisplayCollectionName Plug-in Type Statistics

DisplayName Plug-in Type Statistic

EntitySetName plugintypestatistics

IsBPFEntity False

LogicalCollectionName plugintypestatistics

LogicalName plugintypestatistic

OwnershipType OrganizationOwned

PrimaryIdAttribute plugintypestatisticid

PrimaryNameAttribute

SchemaName PluginTypeStatistic

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
AverageExecuteTimeInMilliseconds
CrashContributionPercent
CrashCount
CrashPercent
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExecuteCount
FailureCount
FailurePercent
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
PluginTypeId
PluginTypeIdName
PluginTypeStatisticId
TerminateCpuContributionPercent
TerminateHandlesContributionPercent
TerminateMemoryContributionPercent
TerminateOtherContributionPercent
AverageExecuteTimeInMilliseconds
PROPERTY VALUE

Description The average execution time (in milliseconds) for the plug-in
type.

DisplayName The average execution time

Format None

IsValidForForm True

IsValidForRead True

LogicalName averageexecutetimeinmilliseconds

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired
PROPERTY VALUE

Type Integer

CrashContributionPercent
PROPERTY VALUE

Description The plug-in type percentage contribution to crashes.

DisplayName Percentage contribution to crashes

Format None

IsValidForForm True

IsValidForRead True

LogicalName crashcontributionpercent

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

CrashCount
PROPERTY VALUE

Description Number of times the plug-in type has crashed.

DisplayName Number of times crashed

Format None

IsValidForForm True

IsValidForRead True

LogicalName crashcount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

CrashPercent
PROPERTY VALUE

Description Percentage of crashes for the plug-in type.

DisplayName Percentage of crashes

Format None

IsValidForForm True

IsValidForRead True

LogicalName crashpercent

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the plug-in type
statistic.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the plug-in type statistic was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the plug-in
type statistic.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ExecuteCount
PROPERTY VALUE

Description Number of times the plug-in type has been executed.

DisplayName Execution Count

Format None

IsValidForForm True

IsValidForRead True

LogicalName executecount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

FailureCount
PROPERTY VALUE

Description Number of times the plug-in type has failed.

DisplayName Failure Count

Format None

IsValidForForm True

IsValidForRead True

LogicalName failurecount

MaxValue 2147483647

MinValue 0

RequiredLevel SystemRequired

Type Integer

FailurePercent
PROPERTY VALUE

Description Percentage of failures for the plug-in type.

DisplayName Failure Percent

Format None

IsValidForForm True

IsValidForRead True

LogicalName failurepercent

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the plug-in
type statistic.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the plug-in type statistic was last
modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the plug-
in type statistic.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby
PROPERTY VALUE

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization with which the plug-in


type statistic is associated.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

PluginTypeId
PROPERTY VALUE

Description Unique identifier of the plug-in type associated with this plug-
in type statistic.

DisplayName Plugin Type

IsValidForForm True

IsValidForRead True

LogicalName plugintypeid

RequiredLevel SystemRequired

Targets plugintype

Type Lookup

PluginTypeIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName plugintypeidname

MaxLength 100

RequiredLevel None

Type String

PluginTypeStatisticId
PROPERTY VALUE

Description Unique identifier of the plug-in type statistic.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName plugintypestatisticid

RequiredLevel SystemRequired

Type Uniqueidentifier

TerminateCpuContributionPercent
PROPERTY VALUE

Description The plug-in type percentage contribution to Worker process


termination due to excessive CPU usage.

DisplayName Terminate CPU Contribution Percent

Format None

IsValidForForm True

IsValidForRead True

LogicalName terminatecpucontributionpercent
PROPERTY VALUE

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

TerminateHandlesContributionPercent
PROPERTY VALUE

Description The plug-in type percentage contribution to Worker process


termination due to excessive handle usage.

DisplayName Terminate Handles Contribution Percent

Format None

IsValidForForm True

IsValidForRead True

LogicalName terminatehandlescontributionpercent

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

TerminateMemoryContributionPercent
PROPERTY VALUE

Description The plug-in type percentage contribution to Worker process


termination due to excessive memory usage.

DisplayName Terminate Memory Contribution Percent

Format None

IsValidForForm True

IsValidForRead True

LogicalName terminatememorycontributionpercent

MaxValue 100
PROPERTY VALUE

MinValue 0

RequiredLevel SystemRequired

Type Integer

TerminateOtherContributionPercent
PROPERTY VALUE

Description The plug-in type percentage contribution to Worker process


termination due to unknown reasons.

DisplayName Terminate Other Contribution Percent

Format None

IsValidForForm True

IsValidForRead True

LogicalName terminateothercontributionpercent

MaxValue 100

MinValue 0

RequiredLevel SystemRequired

Type Integer

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_plugintypestatisticbase_modifiedonbehalfby
createdby_plugintypestatistic
lk_plugintypestatisticbase_createdonbehalfby
organization_plugintypestatistic
modifiedby_plugintypestatistic
plugintype_plugintypestatistic
lk_plugintypestatisticbase_modifiedonbehalfby
See systemuser Entity lk_plugintypestatisticbase_modifiedonbehalfby One-To-Many relationship.
createdby_plugintypestatistic
See systemuser Entity createdby_plugintypestatistic One-To-Many relationship.
lk_plugintypestatisticbase_createdonbehalfby
See systemuser Entity lk_plugintypestatisticbase_createdonbehalfby One-To-Many relationship.
organization_plugintypestatistic
See organization Entity organization_plugintypestatistic One-To-Many relationship.
modifiedby_plugintypestatistic
See systemuser Entity modifiedby_plugintypestatistic One-To-Many relationship.
plugintype_plugintypestatistic
See plugintype Entity plugintype_plugintypestatistic One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
plugintypestatistic EntityType
Position Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Position of a user in the hierarchy

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/positions CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/positions(positionid) Delete
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/positions(positionid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/positions RetrieveMultipleRequest or


See Query Data RetrieveMultiple

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/positions(positionid)
Update statecode and statuscode
properties.

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/positions(positionid) Update
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Positions

DisplayCollectionName Positions

DisplayName Position

EntitySetName positions

IsBPFEntity False

LogicalCollectionName positions

LogicalName position
PROPERTY VALUE

OwnershipType OrganizationOwned

PrimaryIdAttribute positionid

PrimaryNameAttribute name

SchemaName Position

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Description
ImportSequenceNumber
Name
OverriddenCreatedOn
ParentPositionId
PositionId
statecode
StatusCode
TimeZoneRuleVersionNumber
TransactionCurrencyId
UTCConversionTimeZoneCode
Description
PROPERTY VALUE

Description The description of the position.

DisplayName Description

FormatName TextArea

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName description

MaxLength 100

RequiredLevel None

Type String

ImportSequenceNumber
PROPERTY VALUE

Description Sequence number of the import that created this record.

DisplayName Import Sequence Number

Format None

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName importsequencenumber

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

Name
PROPERTY VALUE

Description The name of the position.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel ApplicationRequired

Type String

OverriddenCreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal
PROPERTY VALUE

Description Date and time that the record was migrated.

DisplayName Record Created On

Format DateOnly

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName overriddencreatedon

RequiredLevel None

Type DateTime

ParentPositionId
PROPERTY VALUE

Description Parent position.

DisplayName Parent Position

IsValidForForm True

IsValidForRead True

LogicalName parentpositionid

RequiredLevel None

Targets position

Type Lookup

PositionId
PROPERTY VALUE

Description Unique identifier for position entity instances

DisplayName Position

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName positionid

RequiredLevel SystemRequired

Type Uniqueidentifier

statecode
PROPERTY VALUE

Description Status of the Position

DisplayName Status

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

statecode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Active 1 Active

1 Inactive 2 Inactive

StatusCode
PROPERTY VALUE

Description Reason for the status of the Position

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode

RequiredLevel None

Type Status

StatusCode Options
VALUE LABEL STATE

1 Active 0

2 Inactive 1

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

TransactionCurrencyId
PROPERTY VALUE

Description Unique identifier of the currency associated with the position.

DisplayName Currency

IsValidForForm True

IsValidForRead True

LogicalName transactioncurrencyid

RequiredLevel None

Targets transactioncurrency

Type Lookup

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExchangeRate
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
ParentPositionIdName
TransactionCurrencyIdName
VersionNumber
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser
PROPERTY VALUE

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ExchangeRate
PROPERTY VALUE

Description Exchange rate for the currency associated with the position
with respect to the base currency.

DisplayName Exchange Rate

IsValidForForm True

IsValidForRead True

LogicalName exchangerate

MaxValue 100000000000

MinValue 0.0000000001

Precision 10

RequiredLevel None

Type Decimal

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None
PROPERTY VALUE

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier for the organization

DisplayName Organization Id

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel None

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

ParentPositionIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName parentpositionidname

MaxLength 100

RequiredLevel None

Type String

TransactionCurrencyIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName transactioncurrencyidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
position_AsyncOperations
position_ProcessSession
position_users
position_parent_position
Position_SyncErrors
position_connection2
position_principalobjectattributeaccess
position_connection1
position_AsyncOperations
Same as asyncoperation entity position_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName position_AsyncOperations

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

position_ProcessSession
Same as processsession entity position_ProcessSession Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName position_ProcessSession

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

position_users
Same as systemuser entity position_users Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute positionid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName position_users

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 10000

CascadeConfiguration Assign: NoCascade


Delete: Restrict
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

position_parent_position
Same as position entity position_parent_position Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity position

ReferencingAttribute parentpositionid

IsHierarchical True

IsCustomizable False

ReferencedEntityNavigationPropertyName position_parent_position

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 10000

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Position_SyncErrors
Same as syncerror entity Position_SyncErrors Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName Position_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

position_connection2
Same as connection entity position_connection2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName position_connection2

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

position_principalobjectattributeaccess
Same as principalobjectattributeaccess entity position_principalobjectattributeaccess Many-To-One relationship.
PROPERTY VALUE

ReferencingEntity principalobjectattributeaccess

ReferencingAttribute objectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName position_principalobjectattributeaccess

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

position_connection1
Same as connection entity position_connection1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName position_connection1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_position_createdby
lk_position_createdonbehalfby
lk_position_modifiedby
lk_position_modifiedonbehalfby
organization_position
position_parent_position
transactioncurrency_position
lk_position_createdby
See systemuser Entity lk_position_createdby One-To-Many relationship.
lk_position_createdonbehalfby
See systemuser Entity lk_position_createdonbehalfby One-To-Many relationship.
lk_position_modifiedby
See systemuser Entity lk_position_modifiedby One-To-Many relationship.
lk_position_modifiedonbehalfby
See systemuser Entity lk_position_modifiedonbehalfby One-To-Many relationship.
organization_position
See organization Entity organization_position One-To-Many relationship.
position_parent_position
See position Entity position_parent_position One-To-Many relationship.
transactioncurrency_position
See transactioncurrency Entity transactioncurrency_position One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
position EntityType
Post Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

An activity feed post.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/posts CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/posts(postid) Delete
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/posts(postid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/posts RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Entity Properties
PROPERTY VALUE

CollectionSchemaName Posts

DisplayCollectionName Posts

DisplayName Post

EntitySetName posts

IsBPFEntity False

LogicalCollectionName posts

LogicalName post

OwnershipType OrganizationOwned

PrimaryIdAttribute postid

PrimaryNameAttribute text

SchemaName Post
Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
PostId
RegardingObjectId
RegardingObjectIdName
RegardingObjectTypeCode
Source
Text
TimeZoneRuleVersionNumber
Type
UTCConversionTimeZoneCode
PostId
PROPERTY VALUE

Description Unique identifier for entity instances

DisplayName Post

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName postid

RequiredLevel SystemRequired

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Choose the parent record for the post to identify the
customer, opportunity, case, or other record that the post
most closely relates to.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidname

MaxLength 4000

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description Type of the RegardingObject

DisplayName RegardingObjectTypeCode

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName
Source
PROPERTY VALUE

Description Select whether the post was created manually or automatically.

DisplayName Source

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName source

RequiredLevel ApplicationRequired

Type Picklist

Source Options

VALUE LABEL

1 Auto Post

2 Manual Post

3 ActionHub Post

Text
PROPERTY VALUE

Description Shows the text of a post. If this is a manual post, it appears in


plain text. If this is an auto post, it appears in XML.

DisplayName Text

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName text

MaxLength 2000

RequiredLevel ApplicationRequired
PROPERTY VALUE

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Type
PROPERTY VALUE

Description Select the post type.

DisplayName Type

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName type

RequiredLevel ApplicationRequired

Type Picklist

Type Options

VALUE LABEL

1 Check-in
VALUE LABEL

2 Idea

3 News

4 Private Message

5 Question

6 Re-post

7 Status

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ModifiedBy
ModifiedByName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OrganizationId
OrganizationIdName
PostRegardingId
PostToYammer
RegardingObjectIdYomiName
RegardingObjectOwnerId
RegardingObjectOwnerIdType
RegardingObjectOwningBusinessUnit
YammerPostState
YammerRetryCount
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel SystemRequired

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None
PROPERTY VALUE

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who modified the record.

DisplayName Modified By

IsValidForForm False

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the


record.

DisplayName Modified By (Delegate)

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String
OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


solution.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

PostRegardingId
PROPERTY VALUE

Description Unique identifier of the post regarding with which the post is
associated.

DisplayName Post Regarding


PROPERTY VALUE

IsValidForForm False

IsValidForRead False

LogicalName postregardingid

RequiredLevel SystemRequired

Targets postregarding

Type Lookup

PostToYammer
PROPERTY VALUE

Description Internal use only.

DisplayName post to yammer

IsValidForForm False

IsValidForRead False

LogicalName posttoyammer

RequiredLevel None

Type Boolean

PostToYammer Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

RegardingObjectOwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the regarding
object.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

RegardingObjectOwnerIdType
PROPERTY VALUE

Description Type of the RegardingObjectOwnerId

DisplayName RegardingObjectOwnerIdType

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectowneridtype

RequiredLevel None

Type EntityName
RegardingObjectOwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the regarding
object.

DisplayName Regarding object owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectowningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

YammerPostState
PROPERTY VALUE

Description Internal use only.

DisplayName Yammer Post State

Format None

IsValidForForm False

IsValidForRead False

LogicalName yammerpoststate

MaxValue 5

MinValue 0

RequiredLevel None

Type Integer

YammerRetryCount
PROPERTY VALUE

Description Internal use only.

DisplayName Yammer Retry Count


PROPERTY VALUE

Format None

IsValidForForm False

IsValidForRead False

LogicalName yammerretrycount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

One-To-Many Relationships
Listed by SchemaName.
post_AsyncOperations
post_BulkDeleteFailures
Post_Comments
Post_Likes
post_AsyncOperations
Same as asyncoperation entity post_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName post_AsyncOperations

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade
post_BulkDeleteFailures
Same as bulkdeletefailure entity post_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName post_BulkDeleteFailures

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Post_Comments
Same as postcomment entity Post_Comments Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postcomment

ReferencingAttribute postid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Post_Comments

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Post_Likes
Same as postlike entity Post_Likes Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postlike

ReferencingAttribute postid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Post_Likes

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_post_createdby
lk_post_createdonbehalfby
lk_post_modifiedby
lk_post_modifiedonbehalfby
organization_post
lk_post_createdby
See systemuser Entity lk_post_createdby One-To-Many relationship.
lk_post_createdonbehalfby
See systemuser Entity lk_post_createdonbehalfby One-To-Many relationship.
lk_post_modifiedby
See systemuser Entity lk_post_modifiedby One-To-Many relationship.
lk_post_modifiedonbehalfby
See systemuser Entity lk_post_modifiedonbehalfby One-To-Many relationship.
organization_post
See organization Entity organization_post One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
post EntityType
PostComment Entity Reference
4/3/2019 • 2 minutes to read • Edit Online

A comment on an activity feed post.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/postcomments Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/postcomments(postc Delete
ommentid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/postcomments(postc Retrieve
ommentid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/postcomments RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName PostComments

DisplayCollectionName Comments

DisplayName Comment

EntitySetName postcomments

IsBPFEntity False

LogicalCollectionName postcomments

LogicalName postcomment

OwnershipType OrganizationOwned

PrimaryIdAttribute postcommentid

PrimaryNameAttribute text
PROPERTY VALUE

SchemaName PostComment

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
PostCommentId
PostId
Text
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
PostCommentId
PROPERTY VALUE

Description Shows the ID of the post comment.

DisplayName PostComment

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName postcommentid

RequiredLevel SystemRequired

Type Uniqueidentifier

PostId
PROPERTY VALUE

Description Unique identifier of the post with which the comment is


associated.

DisplayName Post

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName postid

RequiredLevel SystemRequired
PROPERTY VALUE

Targets post

Type Lookup

Text
PROPERTY VALUE

Description Text of the comment.

DisplayName Text

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName text

MaxLength 1000

RequiredLevel ApplicationRequired

Type String

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None
PROPERTY VALUE

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
OrganizationId
OrganizationIdName
PostIdName
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


solution.
PROPERTY VALUE

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

PostIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName postidname

MaxLength 100

RequiredLevel None

Type String

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_postcomment_createdby
organization_PostComment
lk_postcomment_createdonbehalfby
Post_Comments
lk_postcomment_createdby
See systemuser Entity lk_postcomment_createdby One-To-Many relationship.
organization_PostComment
See organization Entity organization_PostComment One-To-Many relationship.
lk_postcomment_createdonbehalfby
See systemuser Entity lk_postcomment_createdonbehalfby One-To-Many relationship.
Post_Comments
See post Entity Post_Comments One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
postcomment EntityType
PostFollow Entity Reference
4/3/2019 • 5 minutes to read • Edit Online

Represents a user following the activity feed of an object.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/postfollows Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/postfollows(postfollo Delete
wid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/postfollows(postfollo Retrieve
wid)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/postfollows RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Entity Properties
PROPERTY VALUE

CollectionSchemaName PostFollows

DisplayCollectionName Follows

DisplayName Follow

EntitySetName postfollows

IsBPFEntity False

LogicalCollectionName postfollows

LogicalName postfollow

OwnershipType UserOwned

PrimaryIdAttribute postfollowid

PrimaryNameAttribute regardingobjectidname
PROPERTY VALUE

SchemaName PostFollow

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
OwnerId
OwnerIdType
PostFollowId
RegardingObjectId
RegardingObjectTypeCode
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName ownerid

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description Owner Id Type

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

IsValidForUpdate False

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PostFollowId
PROPERTY VALUE

Description Shows the ID of the post follow.

DisplayName PostFollow

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName postfollowid

RequiredLevel SystemRequired

Type Uniqueidentifier

RegardingObjectId
PROPERTY VALUE

Description Choose the parent record for the followed post to identify the
customer, opportunity, case, or other record type that the
post most closely relates to.

DisplayName Regarding

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectid

RequiredLevel SystemRequired

Targets account,appointment,contact,knowledgearticle,phonecall,proce
sssession,queue,recurringappointmentmaster,systemuser,task
PROPERTY VALUE

Type Lookup

RegardingObjectTypeCode
PROPERTY VALUE

Description Type of the RegardingObject

DisplayName RegardingObjectTypeCode

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.
PROPERTY VALUE

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
PostToYammer
RegardingObjectIdName
RegardingObjectIdYomiName
VersionNumber
YammerPostState
YammerRetryCount
CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel SystemRequired

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup
CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description Name of the owner


PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description Yomi name of the owner

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier for the business unit that owns the record.

DisplayName Owning Business Unit

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the follow.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier for the user who owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

PostToYammer
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

IsValidForForm False

IsValidForRead False

LogicalName posttoyammer

RequiredLevel None

Type Boolean

PostToYammer Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
RegardingObjectIdName
PROPERTY VALUE

Description Display name of the type of entity that the user followed.

DisplayName Regarding Entity Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidname

MaxLength 4000

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName regardingobjectidyominame

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of post follow.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

YammerPostState
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

Format None
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName yammerpoststate

MaxValue 5

MinValue 0

RequiredLevel None

Type Integer

YammerRetryCount
PROPERTY VALUE

Description Internal Use Only

DisplayName Internal Use Only

Format None

IsValidForForm False

IsValidForRead False

LogicalName yammerretrycount

MaxValue 2147483647

MinValue 0

RequiredLevel None

Type Integer

One-To-Many Relationships
Listed by SchemaName.
PostFollow_AsyncOperations
PostFollow_SyncErrors
PostFollow_AsyncOperations
Same as asyncoperation entity PostFollow_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName PostFollow_AsyncOperations

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

PostFollow_SyncErrors
Same as syncerror entity PostFollow_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName PostFollow_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
task_PostFollows
appointment_PostFollows
phonecall_PostFollows
recurringappointmentmaster_PostFollows
lk_PostFollow_createdby
account_PostFollows
contact_PostFollows
systemuser_PostFollows
business_unit_postfollows
OwningTeam_postfollows
user_owner_postfollows
lk_postfollow_createdonbehalfby
processsession_PostFollows
queue_PostFollows
knowledgearticle_PostFollows
task_PostFollows
See task Entity task_PostFollows One-To-Many relationship.
appointment_PostFollows
See appointment Entity appointment_PostFollows One-To-Many relationship.
phonecall_PostFollows
See phonecall Entity phonecall_PostFollows One-To-Many relationship.
recurringappointmentmaster_PostFollows
See recurringappointmentmaster Entity recurringappointmentmaster_PostFollows One-To-Many relationship.
lk_PostFollow_createdby
See systemuser Entity lk_PostFollow_createdby One-To-Many relationship.
account_PostFollows
See account Entity account_PostFollows One-To-Many relationship.
contact_PostFollows
See contact Entity contact_PostFollows One-To-Many relationship.
systemuser_PostFollows
See systemuser Entity systemuser_PostFollows One-To-Many relationship.
business_unit_postfollows
See businessunit Entity business_unit_postfollows One-To-Many relationship.
OwningTeam_postfollows
See team Entity OwningTeam_postfollows One-To-Many relationship.
user_owner_postfollows
See systemuser Entity user_owner_postfollows One-To-Many relationship.
lk_postfollow_createdonbehalfby
See systemuser Entity lk_postfollow_createdonbehalfby One-To-Many relationship.
processsession_PostFollows
See processsession Entity processsession_PostFollows One-To-Many relationship.
queue_PostFollows
See queue Entity queue_PostFollows One-To-Many relationship.
knowledgearticle_PostFollows
See knowledgearticle Entity knowledgearticle_PostFollows One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
postfollow EntityType
PostLike Entity Reference
4/3/2019 • 2 minutes to read • Edit Online

A like on an activity feed post.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/postlikes CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/postlikes(postlikeid) Delete
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/postlikes(postlikeid) Retrieve
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/postlikes RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Entity Properties
PROPERTY VALUE

CollectionSchemaName PostLikes

DisplayCollectionName Likes

DisplayName Like

EntitySetName postlikes

IsBPFEntity False

LogicalCollectionName postlikes

LogicalName postlike

OwnershipType OrganizationOwned

PrimaryIdAttribute postlikeid

PrimaryNameAttribute

SchemaName PostLike
Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
PostId
PostLikeId
TimeZoneRuleVersionNumber
UTCConversionTimeZoneCode
PostId
PROPERTY VALUE

Description Unique identifier of the post with which the like is associated.

DisplayName Post

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName postid

RequiredLevel SystemRequired

Targets post

Type Lookup

PostLikeId
PROPERTY VALUE

Description Shows the ID of the post like.

DisplayName PostLikeId

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName postlikeid

RequiredLevel SystemRequired

Type Uniqueidentifier

TimeZoneRuleVersionNumber
PROPERTY VALUE

Description For internal use only.

DisplayName Time Zone Rule Version Number

Format None

IsValidForForm False

IsValidForRead True

LogicalName timezoneruleversionnumber

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

UTCConversionTimeZoneCode
PROPERTY VALUE

Description Time zone code that was in use when the record was created.

DisplayName UTC Conversion Time Zone Code

Format None

IsValidForForm False

IsValidForRead True

LogicalName utcconversiontimezonecode

MaxValue 2147483647

MinValue -1

RequiredLevel None

Type Integer

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CreatedBy
CreatedByName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
OrganizationId
OrganizationIdName
PostIdName
CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the record was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the record.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OrganizationId
PROPERTY VALUE

Description Unique identifier of the organization associated with the


solution.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired
PROPERTY VALUE

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName organizationidname

MaxLength 100

RequiredLevel SystemRequired

Type String

PostIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName postidname

MaxLength 100

RequiredLevel None

Type String
Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
lk_postlike_createdonbehalfby
Post_Likes
lk_postlike_createdby
organization_postlike
lk_postlike_createdonbehalfby
See systemuser Entity lk_postlike_createdonbehalfby One-To-Many relationship.
Post_Likes
See post Entity Post_Likes One-To-Many relationship.
lk_postlike_createdby
See systemuser Entity lk_postlike_createdby One-To-Many relationship.
organization_postlike
See organization Entity organization_postlike One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
postlike EntityType
PrincipalObjectAttributeAccess Entity Reference
4/3/2019 • 3 minutes to read • Edit Online

Defines CRM security principals (users and teams) access rights to secured field for an entity instance.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/principalobjectattribu Create
teaccessset
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/principalobjectattribu Delete
teaccessset(principalobjectattributeacce
ssid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/principalobjectattribu Retrieve
teaccessset(principalobjectattributeacce
ssid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/principalobjectattribu RetrieveMultiple
teaccessset
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/principalobjectattribu Update
teaccessset(principalobjectattributeacce
ssid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName PrincipalObjectAttributeAccesses

DisplayCollectionName Field Sharing

DisplayName Field Sharing

EntitySetName principalobjectattributeaccessset

IsBPFEntity False
PROPERTY VALUE

LogicalCollectionName principalobjectattributeaccesses

LogicalName principalobjectattributeaccess

OwnershipType OrganizationOwned

PrimaryIdAttribute principalobjectattributeaccessid

PrimaryNameAttribute

SchemaName PrincipalObjectAttributeAccess

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AttributeId
ObjectId
ObjectTypeCode
PrincipalId
PrincipalIdType
PrincipalObjectAttributeAccessId
ReadAccess
UpdateAccess
AttributeId
PROPERTY VALUE

Description Unique identifier of the shared secured field

DisplayName Secured field

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName attributeid

RequiredLevel SystemRequired

Type Uniqueidentifier

ObjectId
PROPERTY VALUE

Description Unique identifier of the entity instance with shared secured


field

DisplayName Entity instance

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName objectid

RequiredLevel SystemRequired

Targets account,appointment,businessunit,channelaccessprofile,connec
tion,contact,customeraddress,email,fax,feedback,goal,holidaywr
apper,kbarticle,knowledgearticle,knowledgearticleviews,knowle
dgebaserecord,letter,mailmergetemplate,msdyn_connector,pho
necall,position,queue,queueitem,recurringappointmentmaster,r
eportcategory,sharepointdocumentlocation,sharepointsite,soci
alactivity,socialprofile,systemuser,task,team,territory

Type Lookup

ObjectTypeCode
PROPERTY VALUE

Description Type of the record with shared secured field

DisplayName Entity object type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName objecttypecode

RequiredLevel SystemRequired

Type EntityName

PrincipalId
PROPERTY VALUE

Description Unique identifier of the principal to which secured field is


shared
PROPERTY VALUE

DisplayName Principal

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName principalid

RequiredLevel SystemRequired

Targets systemuser,team

Type Lookup

PrincipalIdType
PROPERTY VALUE

Description Type of the principal to which secured field is shared

DisplayName Principal type

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName principalidtype

RequiredLevel SystemRequired

Type EntityName

PrincipalObjectAttributeAccessId
PROPERTY VALUE

Description Unique identifier of the shared secured field instance

DisplayName Shared secured field

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName principalobjectattributeaccessid
PROPERTY VALUE

RequiredLevel SystemRequired

Type Uniqueidentifier

ReadAccess
PROPERTY VALUE

Description Read permission for secured field instance

DisplayName Read permission

IsValidForForm False

IsValidForRead True

LogicalName readaccess

RequiredLevel SystemRequired

Type Boolean

ReadAccess Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
UpdateAccess
PROPERTY VALUE

Description Update permission for secured field instance

DisplayName Update permission

IsValidForForm False

IsValidForRead True

LogicalName updateaccess

RequiredLevel SystemRequired

Type Boolean

UpdateAccess Options
VALUE LABEL

1 Yes

0 No

DefaultValue: False

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
OrganizationId
OrganizationIdName
PrincipalIdName
VersionNumber
OrganizationId
PROPERTY VALUE

Description Unique identifier of the associated organization.

DisplayName Organization

IsValidForForm False

IsValidForRead True

LogicalName organizationid

RequiredLevel SystemRequired

Targets organization

Type Lookup

OrganizationIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName organizationidname

MaxLength 160

RequiredLevel SystemRequired

Type String

PrincipalIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName principalidname

MaxLength 160

RequiredLevel SystemRequired

Type String

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None
PROPERTY VALUE

Type BigInt

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
territory_principalobjectattributeaccess
msdyn_connector_PrincipalObjectAttributeAccesses
account_principalobjectattributeaccess
contact_principalobjectattributeaccess
lk_principalobjectattributeaccess_organizationid
team_principalobjectattributeaccess_principalid
systemuser_principalobjectattributeaccess_principalid
knowledgearticle_PrincipalObjectAttributeAccess
KnowledgeBaseRecord_PrincipalObjectAttributeAccess
team_principalobjectattributeaccess
reportcategory_principalobjectattributeaccess
mailmergetemplate_principalobjectattributeaccess
fax_principalobjectattributeaccess
socialactivity_principalobjectattributeaccess
kbarticle_principalobjectattributeaccess
phonecall_principalobjectattributeaccess
position_principalobjectattributeaccess
customeraddress_principalobjectattributeaccess
sharepointsite_principalobjectattributeaccess
systemuser_principalobjectattributeaccess
connection_principalobjectattributeaccess
appointment_principalobjectattributeaccess
goal_principalobjectattributeaccess
email_principalobjectattributeaccess
knowledgearticleview_principalobjectattributeaccess
feedback_principalobjectattributeaccess
businessunit_principalobjectattributeaccess
sharepointdocumentlocation_principalobjectattributeaccess
queueitem_principalobjectattributeaccess
queue_principalobjectattributeaccess
recurringappointmentmaster_principalobjectattributeaccess
task_principalobjectattributeaccess
letter_principalobjectattributeaccess
socialprofile_principalobjectattributeaccess
territory_principalobjectattributeaccess
Added by: Application Common Solution
See territory Entity territory_principalobjectattributeaccess One-To-Many relationship.
msdyn_connector_PrincipalObjectAttributeAccesses
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_PrincipalObjectAttributeAccesses One-To-Many relationship.
account_principalobjectattributeaccess
See account Entity account_principalobjectattributeaccess One-To-Many relationship.
contact_principalobjectattributeaccess
See contact Entity contact_principalobjectattributeaccess One-To-Many relationship.
lk_principalobjectattributeaccess_organizationid
See organization Entity lk_principalobjectattributeaccess_organizationid One-To-Many relationship.
team_principalobjectattributeaccess_principalid
See team Entity team_principalobjectattributeaccess_principalid One-To-Many relationship.
systemuser_principalobjectattributeaccess_principalid
See systemuser Entity systemuser_principalobjectattributeaccess_principalid One-To-Many relationship.
knowledgearticle_PrincipalObjectAttributeAccess
See knowledgearticle Entity knowledgearticle_PrincipalObjectAttributeAccess One-To-Many relationship.
KnowledgeBaseRecord_PrincipalObjectAttributeAccess
See knowledgebaserecord Entity KnowledgeBaseRecord_PrincipalObjectAttributeAccess One-To-Many
relationship.
team_principalobjectattributeaccess
See team Entity team_principalobjectattributeaccess One-To-Many relationship.
reportcategory_principalobjectattributeaccess
See reportcategory Entity reportcategory_principalobjectattributeaccess One-To-Many relationship.
mailmergetemplate_principalobjectattributeaccess
See mailmergetemplate Entity mailmergetemplate_principalobjectattributeaccess One-To-Many relationship.
fax_principalobjectattributeaccess
See fax Entity fax_principalobjectattributeaccess One-To-Many relationship.
socialactivity_principalobjectattributeaccess
See socialactivity Entity socialactivity_principalobjectattributeaccess One-To-Many relationship.
kbarticle_principalobjectattributeaccess
See kbarticle Entity kbarticle_principalobjectattributeaccess One-To-Many relationship.
phonecall_principalobjectattributeaccess
See phonecall Entity phonecall_principalobjectattributeaccess One-To-Many relationship.
position_principalobjectattributeaccess
See position Entity position_principalobjectattributeaccess One-To-Many relationship.
customeraddress_principalobjectattributeaccess
See customeraddress Entity customeraddress_principalobjectattributeaccess One-To-Many relationship.
sharepointsite_principalobjectattributeaccess
See sharepointsite Entity sharepointsite_principalobjectattributeaccess One-To-Many relationship.
systemuser_principalobjectattributeaccess
See systemuser Entity systemuser_principalobjectattributeaccess One-To-Many relationship.
connection_principalobjectattributeaccess
See connection Entity connection_principalobjectattributeaccess One-To-Many relationship.
appointment_principalobjectattributeaccess
See appointment Entity appointment_principalobjectattributeaccess One-To-Many relationship.
goal_principalobjectattributeaccess
See goal Entity goal_principalobjectattributeaccess One-To-Many relationship.
email_principalobjectattributeaccess
See email Entity email_principalobjectattributeaccess One-To-Many relationship.
knowledgearticleview_principalobjectattributeaccess
See knowledgearticleviews Entity knowledgearticleview_principalobjectattributeaccess One-To-Many relationship.
feedback_principalobjectattributeaccess
See feedback Entity feedback_principalobjectattributeaccess One-To-Many relationship.
businessunit_principalobjectattributeaccess
See businessunit Entity businessunit_principalobjectattributeaccess One-To-Many relationship.
sharepointdocumentlocation_principalobjectattributeaccess
See sharepointdocumentlocation Entity sharepointdocumentlocation_principalobjectattributeaccess One-To-Many
relationship.
queueitem_principalobjectattributeaccess
See queueitem Entity queueitem_principalobjectattributeaccess One-To-Many relationship.
queue_principalobjectattributeaccess
See queue Entity queue_principalobjectattributeaccess One-To-Many relationship.
recurringappointmentmaster_principalobjectattributeaccess
See recurringappointmentmaster Entity recurringappointmentmaster_principalobjectattributeaccess One-To-Many
relationship.
task_principalobjectattributeaccess
See task Entity task_principalobjectattributeaccess One-To-Many relationship.
letter_principalobjectattributeaccess
See letter Entity letter_principalobjectattributeaccess One-To-Many relationship.
socialprofile_principalobjectattributeaccess
See socialprofile Entity socialprofile_principalobjectattributeaccess One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
principalobjectattributeaccess EntityType
Privilege Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Permission to perform an action in Microsoft CRM. The platform checks for the privilege and rejects the attempt if
the user does not hold the privilege.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/privileges(privilegeid Retrieve
)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/privileges RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Entity Properties
PROPERTY VALUE

CollectionSchemaName Privileges

DisplayCollectionName Privileges

DisplayName Privilege

EntitySetName privileges

IsBPFEntity False

LogicalCollectionName privileges

LogicalName privilege

OwnershipType None

PrimaryIdAttribute privilegeid

PrimaryNameAttribute name

SchemaName Privilege

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
AccessRight
CanBeBasic
CanBeDeep
CanBeEntityReference
CanBeGlobal
CanBeLocal
CanBeParentEntityReference
IntroducedVersion
Name
PrivilegeId
PrivilegeRowId
AccessRight
PROPERTY VALUE

Description Rights a user has to an instance of an entity.

DisplayName

Format None

IsValidForForm False

IsValidForRead True

LogicalName accessright

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

CanBeBasic
PROPERTY VALUE

Description Information that specifies whether the privilege applies to the


user, the user's team, or objects shared by the user.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName canbebasic

RequiredLevel None
PROPERTY VALUE

Type Boolean

CanBeBasic Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CanBeDeep
PROPERTY VALUE

Description Information that specifies whether the privilege applies to child


business units of the business unit associated with the user.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName canbedeep

RequiredLevel None

Type Boolean

CanBeDeep Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CanBeEntityReference
PROPERTY VALUE

Description Information that specifies whether the privilege applies to the


local reference of an external party.

DisplayName

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName canbeentityreference

RequiredLevel None

Type Boolean

CanBeEntityReference Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CanBeGlobal
PROPERTY VALUE

Description Information that specifies whether the privilege applies to the


entire organization.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName canbeglobal

RequiredLevel None

Type Boolean

CanBeGlobal Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CanBeLocal
PROPERTY VALUE

Description Information that specifies whether the privilege applies to the


user's business unit.

DisplayName
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName canbelocal

RequiredLevel None

Type Boolean

CanBeLocal Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
CanBeParentEntityReference
PROPERTY VALUE

Description Information that specifies whether the privilege applies to


parent reference of the external party.

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName canbeparententityreference

RequiredLevel None

Type Boolean

CanBeParentEntityReference Options

VALUE LABEL

1 Yes

0 No

DefaultValue: False
IntroducedVersion
PROPERTY VALUE

Description Version in which the component is introduced.

DisplayName Introduced Version

FormatName VersionNumber

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName introducedversion

MaxLength 48

RequiredLevel None

Type String

Name
PROPERTY VALUE

Description Name of the privilege.

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName name

MaxLength 100

RequiredLevel None

Type String

PrivilegeId
PROPERTY VALUE

Description Unique identifier of the privilege.


PROPERTY VALUE

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName privilegeid

RequiredLevel SystemRequired

Type Uniqueidentifier

PrivilegeRowId
PROPERTY VALUE

Description Unique identifier of the Privilege used when synchronizing


customizations for the Microsoft Dynamics CRM client for
Outlook

DisplayName App Module Unique Id

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName privilegerowid

RequiredLevel SystemRequired

Type Uniqueidentifier

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
IsDisabledWhenIntegrated
IsManaged
OverwriteTime
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

IsDisabledWhenIntegrated
PROPERTY VALUE

Description Specifies whether the privilege is disabled.

DisplayName

IsValidForForm False

IsValidForRead False

LogicalName isdisabledwhenintegrated

RequiredLevel SystemRequired

Type Boolean

IsDisabledWhenIntegrated Options

VALUE LABEL

1 Yes

0 No
DefaultValue: False
IsManaged
PROPERTY VALUE

Description Information that specifies whether this component is


managed.

DisplayName State

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None
PROPERTY VALUE

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
Privilege_AsyncOperations
Privilege_BulkDeleteFailures
Privilege_AsyncOperations
Same as asyncoperation entity Privilege_AsyncOperations Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity asyncoperation

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Privilege_AsyncOperations

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Privilege_BulkDeleteFailures
Same as bulkdeletefailure entity Privilege_BulkDeleteFailures Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity bulkdeletefailure

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName Privilege_BulkDeleteFailures
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-Many Relationships
Relationship details provided where the Privilege entity is the first entity in the relationship. Listed by
SchemaName.
roleprivileges_association
IntersectEntityName: roleprivileges
Entity 1

PROPERTY VALUE

IntersectAttribute privilegeid

IsCustomizable False

LogicalName privilege

NavigationPropertyName roleprivileges_association

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

Entity 2

PROPERTY VALUE

LogicalName role

IntersectAttribute roleid

NavigationPropertyName roleprivileges_association

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

See also
About the Entity Reference
Web API Reference
privilege EntityType
ProcessSession Entity Reference
4/3/2019 • 13 minutes to read • Edit Online

Information that is generated when a dialog is run. Every time that you run a dialog, a dialog session is created.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Assign PATCH [org AssignRequest


URI]/api/data/v9.0/processsessions(proc
esssessionid)
Update ownerid property.

Create POST [org CreateRequest or


URI]/api/data/v9.0/processsessions Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/processsessions(proc Delete
esssessionid)
See Delete

GrantAccess GrantAccess Action GrantAccessRequest

ModifyAccess ModifyAccess Action ModifyAccessRequest

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/processsessions(proc Retrieve
esssessionid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/processsessions RetrieveMultiple
See Query Data

RetrievePrincipalAccess RetrievePrincipalAccess Function RetrievePrincipalAccessRequest

RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequ


Function est

RevokeAccess RevokeAccess Action RevokeAccessRequest

SetState PATCH [org SetStateRequest


URI]/api/data/v9.0/processsessions(proc
esssessionid)
Update statecode and statuscode
properties.
MESSAGE WEB API OPERATION SDK ASSEMBLY

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/processsessions(proc Update
esssessionid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ProcessSession

DisplayCollectionName Process Sessions

DisplayName Process Session

EntitySetName processsessions

IsBPFEntity False

LogicalCollectionName processsessions

LogicalName processsession

OwnershipType UserOwned

PrimaryIdAttribute processsessionid

PrimaryNameAttribute name

SchemaName ProcessSession

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ActivityName
CanceledOn
Comments
CompletedOn
ErrorCode
ExecutedBy
InputArguments
Name
NextLinkedSessionId
OriginatingSessionId
OwnerId
OwnerIdType
PreviousLinkedSessionId
ProcessId
ProcessSessionId
ProcessStageName
ProcessState
RegardingObjectId
RegardingObjectIdName
RegardingObjectIdYomiName
RegardingObjectTypeCode
StartedOn
StateCode
StatusCode
StepName
ActivityName
PROPERTY VALUE

Description Name of the activity that is being executed.

DisplayName Activity Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName activityname

MaxLength 256

RequiredLevel None

Type String

CanceledOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the dialog session was canceled.

DisplayName Canceled On

Format DateAndTime

IsValidForCreate False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName canceledon

RequiredLevel None

Type DateTime

Comments
PROPERTY VALUE

Description User comments.

DisplayName Comments

Format Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName comments

MaxLength 2000

RequiredLevel None

Type Memo

CompletedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the dialog session was completed.

DisplayName Completed On

Format DateAndTime

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName completedon
PROPERTY VALUE

RequiredLevel None

Type DateTime

ErrorCode
PROPERTY VALUE

Description Error code related to the dialog session.

DisplayName Error Code

Format None

IsValidForForm True

IsValidForRead True

LogicalName errorcode

MaxValue 2147483647

MinValue -2147483648

RequiredLevel None

Type Integer

ExecutedBy
PROPERTY VALUE

Description Unique identifier of the user who ran the dialog process.

DisplayName Executed By

IsValidForForm True

IsValidForRead True

LogicalName executedby

RequiredLevel None

Targets systemuser

Type Lookup

InputArguments
PROPERTY VALUE

Description Input arguments for the child dialog process.

DisplayName Input Arguments

Format TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName inputarguments

MaxLength 1073741823

RequiredLevel None

Type Memo

Name
PROPERTY VALUE

Description Name of the dialog session.

DisplayName Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName name

MaxLength 256

RequiredLevel None

Type String

NextLinkedSessionId
PROPERTY VALUE

Description Unique identifier of the succeeding linked dialog session.


PROPERTY VALUE

DisplayName Next Linked Session

IsValidForForm True

IsValidForRead True

LogicalName nextlinkedsessionid

RequiredLevel None

Targets processsession

Type Lookup

OriginatingSessionId
PROPERTY VALUE

Description Unique identifier of the originating dialog session.

DisplayName Originating Session

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName originatingsessionid

RequiredLevel None

Targets processsession

Type Lookup

OwnerId
PROPERTY VALUE

Description Unique identifier of the user or team who owns the dialog
session.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid
PROPERTY VALUE

RequiredLevel SystemRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

PreviousLinkedSessionId
PROPERTY VALUE

Description Unique identifier of the preceding linked dialog session.

DisplayName Previous Linked Session

IsValidForForm True

IsValidForRead True

IsValidForUpdate False

LogicalName previouslinkedsessionid

RequiredLevel None

Targets processsession

Type Lookup

ProcessId
PROPERTY VALUE
PROPERTY VALUE

Description Select the process activation record that is related to the


dialog session.

DisplayName Process

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName processid

RequiredLevel None

Targets workflow

Type Lookup

ProcessSessionId
PROPERTY VALUE

Description Unique identifier of the dialog session.

DisplayName Dialog Session

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName processsessionid

RequiredLevel SystemRequired

Type Uniqueidentifier

ProcessStageName
PROPERTY VALUE

Description Name of the dialog stage.

DisplayName Dialog Stage

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm True

IsValidForRead True

LogicalName processstagename

MaxLength 256

RequiredLevel None

Type String

ProcessState
PROPERTY VALUE

Description State of the dialog process.

DisplayName Process State

FormatName TextArea

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName processstate

MaxLength 1073741823

RequiredLevel None

Type String

RegardingObjectId
PROPERTY VALUE

Description Unique identifier of the object with which the dialog session is
associated.

DisplayName Regarding

IsValidForForm False

IsValidForRead True

IsValidForUpdate False
PROPERTY VALUE

LogicalName regardingobjectid

RequiredLevel None

Targets account,annotation,appointment,businessunit,businessunitnew
sarticle,channelaccessprofile,channelaccessprofilerule,connectio
n,connectionrole,contact,convertrule,customeraddress,custome
rrelationship,email,expiredprocess,externalparty,externalpartyit
em,fax,goal,goalrollupquery,holidaywrapper,kbarticle,kbarticlec
omment,kbarticletemplate,knowledgearticle,knowledgebaserec
ord,letter,mailbox,mailmergetemplate,metric,msdyn_connector,
newprocess,phonecall,position,queue,queueitem,recurringappo
intmentmaster,relationshiprole,report,rollupfield,routingrule,ro
utingruleitem,sharepointdocumentlocation,sharepointsite,sla,s
ocialactivity,socialprofile,subject,systemuser,task,team,template,
territory,theme,transactioncurrency,translationprocess,userma
pping

Type Lookup

RegardingObjectIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidname

MaxLength 400

RequiredLevel None

Type String

RegardingObjectIdYomiName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjectidyominame

MaxLength 400

RequiredLevel None

Type String

RegardingObjectTypeCode
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName regardingobjecttypecode

RequiredLevel None

Type EntityName

StartedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the dialog session was started.

DisplayName Started On

Format DateAndTime

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

IsValidForUpdate False

LogicalName startedon

RequiredLevel None

Type DateTime

StateCode
PROPERTY VALUE

Description Status of the dialog session.

DisplayName Status

IsValidForCreate False

IsValidForForm True

IsValidForRead True

LogicalName statecode

RequiredLevel SystemRequired

Type State

StateCode Options

VALUE LABEL DEFAULTSTATUS INVARIANTNAME

0 Incomplete 1 Incomplete

1 Complete 2 Complete

StatusCode
PROPERTY VALUE

Description Reason for the status of the dialog session.

DisplayName Status Reason

IsValidForForm True

IsValidForRead True

LogicalName statuscode
PROPERTY VALUE

RequiredLevel None

Type Status

StatusCode Options

VALUE LABEL STATE

1 Not Started 0

2 In Progress 0

3 Paused 0

4 Completed 1

5 Canceled 1

6 Failed 1

StepName
PROPERTY VALUE

Description Name of the dialog step.

DisplayName Step Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName stepname

MaxLength 256

RequiredLevel None

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
CanceledBy
CanceledByName
CanceledByYomiName
CompletedBy
CompletedByName
CompletedByYomiName
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
ExecutedByName
ExecutedByYomiName
ExecutedOn
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
NextLinkedSessionIdName
OriginatingSessionIdName
OwnerIdName
OwnerIdYomiName
OwningBusinessUnit
OwningTeam
OwningUser
PreviousLinkedSessionIdName
ProcessIdName
ProtectionKey
StartedBy
StartedByName
StartedByYomiName
CanceledBy
PROPERTY VALUE

Description Unique identifier of the user who canceled the dialog session.

DisplayName Canceled By

IsValidForForm True

IsValidForRead True

LogicalName canceledby

RequiredLevel None
PROPERTY VALUE

Targets systemuser

Type Lookup

CanceledByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName canceledbyname

MaxLength 100

RequiredLevel None

Type String

CanceledByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName canceledbyyominame

MaxLength 100

RequiredLevel None

Type String
CompletedBy
PROPERTY VALUE

Description Unique identifier of the user who completed the dialog


session.

DisplayName Completed By

IsValidForForm True

IsValidForRead True

LogicalName completedby

RequiredLevel None

Targets systemuser

Type Lookup

CompletedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName completedbyname

MaxLength 100

RequiredLevel None

Type String

CompletedByYomiName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName completedbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedBy
PROPERTY VALUE

Description Unique identifier of the user who started the dialog session.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True
PROPERTY VALUE

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the dialog session was created.

DisplayName Created On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None
PROPERTY VALUE

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who created the dialog
session.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

ExecutedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName executedbyname

MaxLength 100

RequiredLevel None

Type String

ExecutedByYomiName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName executedbyyominame

MaxLength 100

RequiredLevel None

Type String

ExecutedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the dialog process was run.

DisplayName Executed On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName executedon

RequiredLevel None

Type DateTime

ModifiedBy
PROPERTY VALUE

Description Unique identifier of the user who last modified the dialog
session.

DisplayName Modified By

IsValidForForm True

IsValidForRead True
PROPERTY VALUE

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Date and time when the dialog session was last modified.

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Unique identifier of the delegate user who modified the dialog
session.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

NextLinkedSessionIdName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName nextlinkedsessionidname

MaxLength 100

RequiredLevel None

Type String

OriginatingSessionIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName originatingsessionidname

MaxLength 100

RequiredLevel None

Type String

OwnerIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName owneridname

MaxLength 100

RequiredLevel SystemRequired

Type String

OwnerIdYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName owneridyominame

MaxLength 100

RequiredLevel SystemRequired

Type String

OwningBusinessUnit
PROPERTY VALUE

Description Unique identifier of the business unit that owns the dialog
session.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit
PROPERTY VALUE

RequiredLevel None

Targets businessunit

Type Lookup

OwningTeam
PROPERTY VALUE

Description Unique identifier of the team who owns the dialog session.

DisplayName Owning Team

IsValidForForm False

IsValidForRead True

LogicalName owningteam

RequiredLevel None

Targets team

Type Lookup

OwningUser
PROPERTY VALUE

Description Unique identifier of the user who owns the dialog session.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel None

Targets systemuser

Type Lookup

PreviousLinkedSessionIdName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName previouslinkedsessionidname

MaxLength 100

RequiredLevel None

Type String

ProcessIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName processidname

MaxLength 160

RequiredLevel None

Type String

ProtectionKey
PROPERTY VALUE

Description For internal use only.

DisplayName Protection Key

FormatName TextArea
PROPERTY VALUE

IsLocalizable False

IsValidForForm False

IsValidForRead False

LogicalName protectionkey

MaxLength 256

RequiredLevel None

Type String

StartedBy
PROPERTY VALUE

Description Unique identifier of the user who started the dialog session.

DisplayName Started By

IsValidForForm True

IsValidForRead True

LogicalName startedby

RequiredLevel None

Targets systemuser

Type Lookup

StartedByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName startedbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

StartedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName startedbyyominame

MaxLength 100

RequiredLevel None

Type String

One-To-Many Relationships
Listed by SchemaName.
lk_workflowlog_processsession
lk_workflowlog_processsession_childworkflow
lk_processsession_previouslinkedsessionid
lk_processsession_nextlinkedsessionid
lk_processsession_originatingsessionid
processsession_connections2
ProcessSession_SyncErrors
processsession_connections1
processsession_PostFollows
lk_workflowlog_processsession
Same as workflowlog entity lk_workflowlog_processsession Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog
PROPERTY VALUE

ReferencingAttribute asyncoperationid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_workflowlog_processsession

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

lk_workflowlog_processsession_childworkflow
Same as workflowlog entity lk_workflowlog_processsession_childworkflow Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity workflowlog

ReferencingAttribute childworkflowinstanceid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_workflowlog_processsession_childworkflow

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_processsession_previouslinkedsessionid
Same as processsession entity lk_processsession_previouslinkedsessionid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession
PROPERTY VALUE

ReferencingAttribute previouslinkedsessionid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_processsession_previouslinkedsessionid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_processsession_nextlinkedsessionid
Same as processsession entity lk_processsession_nextlinkedsessionid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession

ReferencingAttribute nextlinkedsessionid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_processsession_nextlinkedsessionid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_processsession_originatingsessionid
Same as processsession entity lk_processsession_originatingsessionid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity processsession
PROPERTY VALUE

ReferencingAttribute originatingsessionid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName lk_processsession_originatingsessionid

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: RemoveLink
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processsession_connections2
Same as connection entity processsession_connections2 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record2id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName processsession_connections2

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ProcessSession_SyncErrors
Same as syncerror entity ProcessSession_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ProcessSession_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

processsession_connections1
Same as connection entity processsession_connections1 Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity connection

ReferencingAttribute record1id

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName processsession_connections1

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order: 100

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processsession_PostFollows
Same as postfollow entity processsession_PostFollows Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity postfollow
PROPERTY VALUE

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processsession_PostFollows

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: Cascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
Territory_ProcessSessions
msdyn_connector_ProcessSession
theme_ProcessSession
usermapping_ProcessSession
knowledgearticle_ProcessSession
position_ProcessSession
KnowledgeBaseRecord_ProcessSession
SharePointSite_ProcessSessions
MailMergeTemplate_ProcessSessions
Annotation_ProcessSessions
BusinessUnitNewsArticle_ProcessSessions
Appointment_ProcessSessions
QueueItem_ProcessSessions
lk_processsession_previouslinkedsessionid
lk_processsession_nextlinkedsessionid
lk_processsession_originatingsessionid
Team_ProcessSessions
Goal_ProcessSessions
mailbox_processsessions
TranslationProcess_ProcessSessions
SystemUser_ProcessSessions
BusinessUnit_ProcessSessions
KbArticleComment_ProcessSessions
lk_processsession_canceledby
goalrollupquery_ProcessSessions
rollupfield_ProcessSessions
SharePointDocumentLocation_ProcessSessions
lk_processsession_startedby
Account_ProcessSessions
PhoneCall_ProcessSessions
slabase_ProcessSessions
lk_processsession_createdby
lk_processsessionbase_modifiedonbehalfby
Template_ProcessSessions
NewProcess_ProcessSessions
Report_ProcessSessions
Owning_businessunit_processsessions
CustomerAddress_ProcessSessions
Connection_ProcessSessions
lk_processsession_executedby
team_processsession
metric_ProcessSessions
ExpiredProcess_ProcessSessions
KbArticle_ProcessSessions
SocialActivity_ProcessSessions
Task_ProcessSessions
lk_processsession_processid
lk_processsession_modifiedby
ConnectionRole_ProcessSessions
TransactionCurrency_ProcessSessions
Fax_ProcessSessions
KbArticleTemplate_ProcessSessions
Letter_ProcessSessions
RecurringAppointmentMaster_ProcessSessions
Email_ProcessSessions
lk_processsession_completedby
Contact_ProcessSessions
Queue_ProcessSessions
lk_processsessionbase_createdonbehalfby
Subject_ProcessSessions
SocialProfile_ProcessSessions
Territory_ProcessSessions
Added by: Application Common Solution
See territory Entity Territory_ProcessSessions One-To-Many relationship.
msdyn_connector_ProcessSession
Added by: Power Connector Solution Solution
See msdyn_connector Entity msdyn_connector_ProcessSession One-To-Many relationship.
theme_ProcessSession
See theme Entity theme_ProcessSession One-To-Many relationship.
usermapping_ProcessSession
See usermapping Entity usermapping_ProcessSession One-To-Many relationship.
knowledgearticle_ProcessSession
See knowledgearticle Entity knowledgearticle_ProcessSession One-To-Many relationship.
position_ProcessSession
See position Entity position_ProcessSession One-To-Many relationship.
KnowledgeBaseRecord_ProcessSession
See knowledgebaserecord Entity KnowledgeBaseRecord_ProcessSession One-To-Many relationship.
SharePointSite_ProcessSessions
See sharepointsite Entity SharePointSite_ProcessSessions One-To-Many relationship.
MailMergeTemplate_ProcessSessions
See mailmergetemplate Entity MailMergeTemplate_ProcessSessions One-To-Many relationship.
Annotation_ProcessSessions
See annotation Entity Annotation_ProcessSessions One-To-Many relationship.
BusinessUnitNewsArticle_ProcessSessions
See businessunitnewsarticle Entity BusinessUnitNewsArticle_ProcessSessions One-To-Many relationship.
Appointment_ProcessSessions
See appointment Entity Appointment_ProcessSessions One-To-Many relationship.
QueueItem_ProcessSessions
See queueitem Entity QueueItem_ProcessSessions One-To-Many relationship.
lk_processsession_previouslinkedsessionid
See processsession Entity lk_processsession_previouslinkedsessionid One-To-Many relationship.
lk_processsession_nextlinkedsessionid
See processsession Entity lk_processsession_nextlinkedsessionid One-To-Many relationship.
lk_processsession_originatingsessionid
See processsession Entity lk_processsession_originatingsessionid One-To-Many relationship.
Team_ProcessSessions
See team Entity Team_ProcessSessions One-To-Many relationship.
Goal_ProcessSessions
See goal Entity Goal_ProcessSessions One-To-Many relationship.
mailbox_processsessions
See mailbox Entity mailbox_processsessions One-To-Many relationship.
TranslationProcess_ProcessSessions
See translationprocess Entity TranslationProcess_ProcessSessions One-To-Many relationship.
SystemUser_ProcessSessions
See systemuser Entity SystemUser_ProcessSessions One-To-Many relationship.
BusinessUnit_ProcessSessions
See businessunit Entity BusinessUnit_ProcessSessions One-To-Many relationship.
KbArticleComment_ProcessSessions
See kbarticlecomment Entity KbArticleComment_ProcessSessions One-To-Many relationship.
lk_processsession_canceledby
See systemuser Entity lk_processsession_canceledby One-To-Many relationship.
goalrollupquery_ProcessSessions
See goalrollupquery Entity goalrollupquery_ProcessSessions One-To-Many relationship.
rollupfield_ProcessSessions
See rollupfield Entity rollupfield_ProcessSessions One-To-Many relationship.
SharePointDocumentLocation_ProcessSessions
See sharepointdocumentlocation Entity SharePointDocumentLocation_ProcessSessions One-To-Many
relationship.
lk_processsession_startedby
See systemuser Entity lk_processsession_startedby One-To-Many relationship.
Account_ProcessSessions
See account Entity Account_ProcessSessions One-To-Many relationship.
PhoneCall_ProcessSessions
See phonecall Entity PhoneCall_ProcessSessions One-To-Many relationship.
slabase_ProcessSessions
See sla Entity slabase_ProcessSessions One-To-Many relationship.
lk_processsession_createdby
See systemuser Entity lk_processsession_createdby One-To-Many relationship.
lk_processsessionbase_modifiedonbehalfby
See systemuser Entity lk_processsessionbase_modifiedonbehalfby One-To-Many relationship.
Template_ProcessSessions
See template Entity Template_ProcessSessions One-To-Many relationship.
NewProcess_ProcessSessions
See newprocess Entity NewProcess_ProcessSessions One-To-Many relationship.
Report_ProcessSessions
See report Entity Report_ProcessSessions One-To-Many relationship.
Owning_businessunit_processsessions
See businessunit Entity Owning_businessunit_processsessions One-To-Many relationship.
CustomerAddress_ProcessSessions
See customeraddress Entity CustomerAddress_ProcessSessions One-To-Many relationship.
Connection_ProcessSessions
See connection Entity Connection_ProcessSessions One-To-Many relationship.
lk_processsession_executedby
See systemuser Entity lk_processsession_executedby One-To-Many relationship.
team_processsession
See team Entity team_processsession One-To-Many relationship.
metric_ProcessSessions
See metric Entity metric_ProcessSessions One-To-Many relationship.
ExpiredProcess_ProcessSessions
See expiredprocess Entity ExpiredProcess_ProcessSessions One-To-Many relationship.
KbArticle_ProcessSessions
See kbarticle Entity KbArticle_ProcessSessions One-To-Many relationship.
SocialActivity_ProcessSessions
See socialactivity Entity SocialActivity_ProcessSessions One-To-Many relationship.
Task_ProcessSessions
See task Entity Task_ProcessSessions One-To-Many relationship.
lk_processsession_processid
See workflow Entity lk_processsession_processid One-To-Many relationship.
lk_processsession_modifiedby
See systemuser Entity lk_processsession_modifiedby One-To-Many relationship.
ConnectionRole_ProcessSessions
See connectionrole Entity ConnectionRole_ProcessSessions One-To-Many relationship.
TransactionCurrency_ProcessSessions
See transactioncurrency Entity TransactionCurrency_ProcessSessions One-To-Many relationship.
Fax_ProcessSessions
See fax Entity Fax_ProcessSessions One-To-Many relationship.
KbArticleTemplate_ProcessSessions
See kbarticletemplate Entity KbArticleTemplate_ProcessSessions One-To-Many relationship.
Letter_ProcessSessions
See letter Entity Letter_ProcessSessions One-To-Many relationship.
RecurringAppointmentMaster_ProcessSessions
See recurringappointmentmaster Entity RecurringAppointmentMaster_ProcessSessions One-To-Many
relationship.
Email_ProcessSessions
See email Entity Email_ProcessSessions One-To-Many relationship.
lk_processsession_completedby
See systemuser Entity lk_processsession_completedby One-To-Many relationship.
Contact_ProcessSessions
See contact Entity Contact_ProcessSessions One-To-Many relationship.
Queue_ProcessSessions
See queue Entity Queue_ProcessSessions One-To-Many relationship.
lk_processsessionbase_createdonbehalfby
See systemuser Entity lk_processsessionbase_createdonbehalfby One-To-Many relationship.
Subject_ProcessSessions
See subject Entity Subject_ProcessSessions One-To-Many relationship.
SocialProfile_ProcessSessions
See socialprofile Entity SocialProfile_ProcessSessions One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
processsession EntityType
ProcessStage Entity Reference
4/3/2019 • 4 minutes to read • Edit Online

Stage associated with a process.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/processstages(proces Retrieve
sstageid)
See Retrieve

RetrieveActivePath RetrieveActivePath Function RetrieveActivePathRequest

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/processstages RetrieveMultiple
See Query Data

Entity Properties
PROPERTY VALUE

CollectionSchemaName ProcessStages

DisplayCollectionName Process Stages

DisplayName Process Stage

EntitySetName processstages

IsBPFEntity False

LogicalCollectionName processstages

LogicalName processstage

OwnershipType None

PrimaryIdAttribute processstageid

PrimaryNameAttribute stagename

SchemaName ProcessStage

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
PrimaryEntityTypeCode
ProcessId
ProcessStageId
StageCategory
StageName
PrimaryEntityTypeCode
PROPERTY VALUE

Description Primary entity associated with the stage.

DisplayName Primary Entity

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName primaryentitytypecode

RequiredLevel SystemRequired

Type EntityName

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.

DisplayName Process

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName processid

RequiredLevel SystemRequired

Targets workflow

Type Lookup

ProcessStageId
PROPERTY VALUE

Description Shows the ID of the process stage record.

DisplayName Process Stage

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName processstageid

RequiredLevel SystemRequired

Type Uniqueidentifier

StageCategory
PROPERTY VALUE

Description Select the category of the sales process.

DisplayName Stage Category

IsValidForForm True

IsValidForRead True

LogicalName stagecategory

RequiredLevel None

Type Picklist

StageCategory Options

VALUE LABEL

0 Qualify

1 Develop

2 Propose

3 Close

4 Identify

5 Research

6 Resolve
VALUE LABEL

7 Approval

StageName
PROPERTY VALUE

Description Type a name for the process stage.

DisplayName Process Stage Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName stagename

MaxLength 100

RequiredLevel SystemRequired

Type String

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ClientData
OwnerId
OwnerIdType
OwningBusinessUnit
ProcessIdName
VersionNumber
ClientData
PROPERTY VALUE

Description Step metadata for process stage

DisplayName Client Data

Format TextArea

IsLocalizable False

IsValidForForm False
PROPERTY VALUE

IsValidForRead True

LogicalName clientdata

MaxLength 1073741823

RequiredLevel None

Type Memo

OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Select the business unit that owns the record.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit

RequiredLevel ApplicationRequired

Type Uniqueidentifier

ProcessIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName processidname

MaxLength 100

RequiredLevel None

Type String

VersionNumber
PROPERTY VALUE

Description Version number of the process stage.

DisplayName Version Number

IsValidForForm False

IsValidForRead True

LogicalName versionnumber
PROPERTY VALUE

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
processstage_knowledgearticle
processstage_contact
processstage_teams
ProcessStage_SyncErrors
processstage_recurringappointmentmasters
processstage_letters
processstage_faxes
processstage_tasks
processstage_account
lk_translationprocess_activestageid
processstage_systemusers
lk_newprocess_activestageid
processstage_emails
processstage_appointments
processstage_phonecalls
lk_expiredprocess_activestageid
processstage_knowledgearticle
Same as knowledgearticle entity processstage_knowledgearticle Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity knowledgearticle

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_knowledgearticle

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_contact
Same as contact entity processstage_contact Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity contact

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_contact

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_teams
Same as team entity processstage_teams Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity team

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_teams

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:
PROPERTY VALUE

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

ProcessStage_SyncErrors
Same as syncerror entity ProcessStage_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ProcessStage_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

processstage_recurringappointmentmasters
Same as recurringappointmentmaster entity processstage_recurringappointmentmasters Many-To-One
relationship.

PROPERTY VALUE

ReferencingEntity recurringappointmentmaster

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_recurringappointmentmasters
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_letters
Same as letter entity processstage_letters Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity letter

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_letters

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_faxes
Same as fax entity processstage_faxes Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity fax

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_faxes
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_tasks
Same as task entity processstage_tasks Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity task

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_tasks

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_account
Same as account entity processstage_account Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity account

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_account
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_translationprocess_activestageid
Same as translationprocess entity lk_translationprocess_activestageid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity translationprocess

ReferencingAttribute activestageid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName processstage_translationprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_systemusers
Same as systemuser entity processstage_systemusers Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity systemuser

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_systemusers
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_newprocess_activestageid
Same as newprocess entity lk_newprocess_activestageid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity newprocess

ReferencingAttribute activestageid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName processstage_newprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_emails
Same as email entity processstage_emails Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity email

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_emails
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_appointments
Same as appointment entity processstage_appointments Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity appointment

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_appointments

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

processstage_phonecalls
Same as phonecall entity processstage_phonecalls Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity phonecall

ReferencingAttribute stageid

IsHierarchical False

IsCustomizable False

ReferencedEntityNavigationPropertyName processstage_phonecalls
PROPERTY VALUE

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

lk_expiredprocess_activestageid
Same as expiredprocess entity lk_expiredprocess_activestageid Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity expiredprocess

ReferencingAttribute activestageid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName processstage_expiredprocess

AssociatedMenuConfiguration Behavior: UseCollectionName


Group: Details
Label:
Order:

CascadeConfiguration Assign: NoCascade


Delete: NoCascade
Merge: NoCascade
Reparent: NoCascade
Share: NoCascade
Unshare: NoCascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
process_processstage
See workflow Entity process_processstage One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
processstage EntityType
ProcessTrigger Entity Reference
4/3/2019 • 6 minutes to read • Edit Online

Trigger that invoke a rule.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org CreateRequest or


URI]/api/data/v9.0/processtriggers Create
See Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/processtriggers(proc Delete
esstriggerid)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/processtriggers(proc Retrieve
esstriggerid)
See Retrieve

RetrieveMultiple GET [org RetrieveMultipleRequest or


URI]/api/data/v9.0/processtriggers RetrieveMultiple
See Query Data

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/processtriggers(proc Update
esstriggerid)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName ProcessTriggers

DisplayCollectionName Process Triggers

DisplayName Process Trigger

EntitySetName processtriggers

IsBPFEntity False

LogicalCollectionName processtriggers

LogicalName processtrigger
PROPERTY VALUE

OwnershipType None

PrimaryIdAttribute processtriggerid

PrimaryNameAttribute

SchemaName ProcessTrigger

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
ControlName
ControlType
Event
FormId
IsCustomizable
MethodId
PipelineStage
PrimaryEntityTypeCode
ProcessId
ProcessTriggerId
Scope
ControlName
PROPERTY VALUE

Description Name of the control.

DisplayName Control Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName controlname

MaxLength 100

RequiredLevel None

Type String

ControlType
PROPERTY VALUE

Description Type of the control to which this trigger is bound

DisplayName Control Type

IsValidForForm False

IsValidForRead True

LogicalName controltype

RequiredLevel None

Type Picklist

ControlType Options

VALUE LABEL

1 Attribute

2 Form Tab

Event
PROPERTY VALUE

Description Indicates the event.

DisplayName Event

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName event

MaxLength 100

RequiredLevel SystemRequired

Type String

FormId
PROPERTY VALUE

Description Unique identifier of the form associated with the trigger.


PROPERTY VALUE

DisplayName Form

IsValidForForm True

IsValidForRead True

LogicalName formid

RequiredLevel None

Targets systemform

Type Lookup

IsCustomizable
PROPERTY VALUE

Description Indicates whether this component can be customized.

DisplayName Customizable

IsValidForForm False

IsValidForRead True

LogicalName iscustomizable

RequiredLevel SystemRequired

Type ManagedProperty

MethodId
PROPERTY VALUE

Description Displays StageID to which the PBL rule belongs to

DisplayName MethodId

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName methodid

RequiredLevel None

Type Uniqueidentifier
PipelineStage
PROPERTY VALUE

Description Pipeline Stage to Execute Workflow Event Plugin.

DisplayName PipelineStage

IsValidForForm False

IsValidForRead True

LogicalName pipelinestage

RequiredLevel SystemRequired

Type Picklist

PipelineStage Options

VALUE LABEL

0 Default Value

20 Before Main Operation

40 After Main Operation

PrimaryEntityTypeCode
PROPERTY VALUE

Description Primary entity for the process which is invoked by the event.

DisplayName Primary Entity

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName primaryentitytypecode

RequiredLevel SystemRequired

Type EntityName

ProcessId
PROPERTY VALUE

Description Shows the ID of the process.


PROPERTY VALUE

DisplayName Process

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName processid

RequiredLevel SystemRequired

Targets workflow

Type Lookup

ProcessTriggerId
PROPERTY VALUE

Description Unique identifier of the process trigger record.

DisplayName Process Trigger

IsValidForForm False

IsValidForRead True

IsValidForUpdate False

LogicalName processtriggerid

RequiredLevel SystemRequired

Type Uniqueidentifier

Scope
PROPERTY VALUE

Description Scope level for PBL rules.

DisplayName Scope

IsValidForForm False

IsValidForRead True

LogicalName scope

RequiredLevel SystemRequired
PROPERTY VALUE

Type Picklist

Scope Options

VALUE LABEL

1 Form

2 Entity

Read-only attributes
These attributes return false for both IsValidForCreate or IsValidForUpdate. Listed by SchemaName.
ComponentState
CreatedBy
CreatedByName
CreatedByYomiName
CreatedOn
CreatedOnBehalfBy
CreatedOnBehalfByName
CreatedOnBehalfByYomiName
FormIdName
IsManaged
ModifiedBy
ModifiedByName
ModifiedByYomiName
ModifiedOn
ModifiedOnBehalfBy
ModifiedOnBehalfByName
ModifiedOnBehalfByYomiName
OverwriteTime
OwnerId
OwnerIdType
OwningBusinessUnit
OwningUser
ProcessIdName
ProcessTriggerIdUnique
SolutionId
SupportingSolutionId
VersionNumber
ComponentState
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Component State

IsValidForForm False

IsValidForRead True

LogicalName componentstate

RequiredLevel SystemRequired

Type Picklist

ComponentState Options

VALUE LABEL

0 Published

1 Unpublished

2 Deleted

3 Deleted Unpublished

CreatedBy
PROPERTY VALUE

Description Shows who created the record.

DisplayName Created By

IsValidForForm True

IsValidForRead True

LogicalName createdby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedByName
PROPERTY VALUE

Description

DisplayName
PROPERTY VALUE

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyname

MaxLength 100

RequiredLevel None

Type String

CreatedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdbyyominame

MaxLength 100

RequiredLevel None

Type String

CreatedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was created. The
date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.

DisplayName Created On
PROPERTY VALUE

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName createdon

RequiredLevel None

Type DateTime

CreatedOnBehalfBy
PROPERTY VALUE

Description Shows who created the record on behalf of another user.

DisplayName Created By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName createdonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

CreatedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyname

MaxLength 100
PROPERTY VALUE

RequiredLevel None

Type String

CreatedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName createdonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

FormIdName
PROPERTY VALUE

Description Name for the Form associated with this trigger.

DisplayName Form Name

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName formidname

MaxLength 200

RequiredLevel None

Type String
IsManaged
PROPERTY VALUE

Description Indicates whether the solution component is part of a


managed solution.

DisplayName Is Managed

IsValidForForm False

IsValidForRead True

LogicalName ismanaged

RequiredLevel SystemRequired

Type Boolean

IsManaged Options

VALUE LABEL

1 Managed

0 Unmanaged

DefaultValue: False
ModifiedBy
PROPERTY VALUE

Description Shows who last updated the record.

DisplayName Modified By

IsValidForForm True

IsValidForRead True

LogicalName modifiedby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedByName
PROPERTY VALUE

Description
PROPERTY VALUE

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyname

MaxLength 100

RequiredLevel None

Type String

ModifiedByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedbyyominame

MaxLength 100

RequiredLevel None

Type String

ModifiedOn
PROPERTY VALUE

DateTimeBehavior UserLocal

Description Shows the date and time when the record was last updated.
The date and time are displayed in the time zone selected in
Microsoft Dynamics 365 options.
PROPERTY VALUE

DisplayName Modified On

Format DateAndTime

IsValidForForm True

IsValidForRead True

LogicalName modifiedon

RequiredLevel None

Type DateTime

ModifiedOnBehalfBy
PROPERTY VALUE

Description Shows who last updated the record on behalf of another user.

DisplayName Modified By (Delegate)

IsValidForForm True

IsValidForRead True

LogicalName modifiedonbehalfby

RequiredLevel None

Targets systemuser

Type Lookup

ModifiedOnBehalfByName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyname
PROPERTY VALUE

MaxLength 100

RequiredLevel None

Type String

ModifiedOnBehalfByYomiName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName modifiedonbehalfbyyominame

MaxLength 100

RequiredLevel None

Type String

OverwriteTime
PROPERTY VALUE

DateTimeBehavior UserLocal

Description For internal use only.

DisplayName Record Overwrite Time

Format DateOnly

IsValidForForm False

IsValidForRead True

LogicalName overwritetime

RequiredLevel SystemRequired

Type DateTime
OwnerId
PROPERTY VALUE

Description Enter the user or team who is assigned to manage the record.
This field is updated every time the record is assigned to a
different user.

DisplayName Owner

IsValidForForm False

IsValidForRead True

LogicalName ownerid

RequiredLevel ApplicationRequired

Targets systemuser,team

Type Owner

OwnerIdType
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName owneridtype

RequiredLevel SystemRequired

Type EntityName

OwningBusinessUnit
PROPERTY VALUE

Description Select the business unit that owns the record.

DisplayName Owning Business Unit

IsValidForForm False

IsValidForRead True

LogicalName owningbusinessunit
PROPERTY VALUE

RequiredLevel ApplicationRequired

Type Uniqueidentifier

OwningUser
PROPERTY VALUE

Description Unique identifier for the user that owns the record.

DisplayName Owning User

IsValidForForm False

IsValidForRead True

LogicalName owninguser

RequiredLevel ApplicationRequired

Type Uniqueidentifier

ProcessIdName
PROPERTY VALUE

Description

DisplayName

FormatName Text

IsLocalizable False

IsValidForForm False

IsValidForRead True

LogicalName processidname

MaxLength 100

RequiredLevel None

Type String

ProcessTriggerIdUnique
PROPERTY VALUE

Description For internal use only.


PROPERTY VALUE

DisplayName Process Id

IsValidForForm False

IsValidForRead True

LogicalName processtriggeridunique

RequiredLevel SystemRequired

Type Uniqueidentifier

SolutionId
PROPERTY VALUE

Description Unique identifier of the associated solution.

DisplayName Solution

IsValidForForm False

IsValidForRead True

LogicalName solutionid

RequiredLevel SystemRequired

Type Uniqueidentifier

SupportingSolutionId
PROPERTY VALUE

Description For internal use only.

DisplayName Solution

IsValidForForm False

IsValidForRead False

LogicalName supportingsolutionid

RequiredLevel None

Type Uniqueidentifier

VersionNumber
PROPERTY VALUE

Description

DisplayName

IsValidForForm False

IsValidForRead True

LogicalName versionnumber

MaxValue 9223372036854775807

MinValue -9223372036854775808

RequiredLevel None

Type BigInt

One-To-Many Relationships
Listed by SchemaName.
ProcessTrigger_SyncErrors
Same as syncerror entity ProcessTrigger_SyncErrors Many-To-One relationship.

PROPERTY VALUE

ReferencingEntity syncerror

ReferencingAttribute regardingobjectid

IsHierarchical False

IsCustomizable True

ReferencedEntityNavigationPropertyName ProcessTrigger_SyncErrors

AssociatedMenuConfiguration Behavior: DoNotDisplay


Group: Details
Label:
Order:

CascadeConfiguration Assign: Cascade


Delete: Cascade
Merge: Cascade
Reparent: Cascade
Share: Cascade
Unshare: Cascade

Many-To-One Relationships
Each Many-To-One relationship is defined by a corresponding One-To-Many relationship with the related entity.
Listed by SchemaName.
process_processtrigger
lk_processtriggerbase_createdby
lk_processtriggerbase_createdonbehalfby
processtrigger_systemform
lk_processtriggerbase_modifiedonbehalfby
lk_processtriggerbase_modifiedby
process_processtrigger
See workflow Entity process_processtrigger One-To-Many relationship.
lk_processtriggerbase_createdby
See systemuser Entity lk_processtriggerbase_createdby One-To-Many relationship.
lk_processtriggerbase_createdonbehalfby
See systemuser Entity lk_processtriggerbase_createdonbehalfby One-To-Many relationship.
processtrigger_systemform
See systemform Entity processtrigger_systemform One-To-Many relationship.
lk_processtriggerbase_modifiedonbehalfby
See systemuser Entity lk_processtriggerbase_modifiedonbehalfby One-To-Many relationship.
lk_processtriggerbase_modifiedby
See systemuser Entity lk_processtriggerbase_modifiedby One-To-Many relationship.
See also
About the Entity Reference
Web API Reference
processtrigger EntityType
Publisher Entity Reference
4/3/2019 • 12 minutes to read • Edit Online

A publisher of a CRM solution.

Messages
MESSAGE WEB API OPERATION SDK ASSEMBLY

Create POST [org URI]/api/data/v9.0/publishers CreateRequest or


See Create Create

Delete DELETE [org DeleteRequest or


URI]/api/data/v9.0/publishers(publisheri Delete
d)
See Delete

Retrieve GET [org RetrieveRequest or


URI]/api/data/v9.0/publishers(publisheri Retrieve
d)
See Retrieve

RetrieveMultiple GET [org URI]/api/data/v9.0/publishers RetrieveMultipleRequest or


See Query Data RetrieveMultiple

Update PATCH [org UpdateRequest or


URI]/api/data/v9.0/publishers(publisheri Update
d)
See Update

Entity Properties
PROPERTY VALUE

CollectionSchemaName Publishers

DisplayCollectionName Publishers

DisplayName Publisher

EntitySetName publishers

IsBPFEntity False

LogicalCollectionName publishers

LogicalName publisher

OwnershipType OrganizationOwned
PROPERTY VALUE

PrimaryIdAttribute publisherid

PrimaryNameAttribute friendlyname

SchemaName Publisher

Writable attributes
These attributes return true for either IsValidForCreate or IsValidForUpdate (usually both). Listed by
SchemaName.
Address1_AddressId
Address1_AddressTypeCode
Address1_City
Address1_Country
Address1_County
Address1_Fax
Address1_Latitude
Address1_Line1
Address1_Line2
Address1_Line3
Address1_Longitude
Address1_Name
Address1_PostalCode
Address1_PostOfficeBox
Address1_ShippingMethodCode
Address1_StateOrProvince
Address1_Telephone1
Address1_Telephone2
Address1_Telephone3
Address1_UPSZone
Address1_UTCOffset
Address2_AddressId
Address2_AddressTypeCode
Address2_City
Address2_Country
Address2_County
Address2_Fax
Address2_Latitude
Address2_Line1
Address2_Line2
Address2_Line3
Address2_Longitude
Address2_Name
Address2_PostalCode
Address2_PostOfficeBox
Address2_ShippingMethodCode
Address2_StateOrProvince
Address2_Telephone1
Address2_Telephone2
Address2_Telephone3
Address2_UPSZone
Address2_UTCOffset
CustomizationOptionValuePrefix
CustomizationPrefix
Description
EMailAddress
EntityImage
FriendlyName
PublisherId
SupportingWebsiteUrl
UniqueName
Address1_AddressId
PROPERTY VALUE

Description Unique identifier for address 1.

DisplayName Address 1: ID

IsValidForForm False

IsValidForRead True

LogicalName address1_addressid

RequiredLevel None

Type Uniqueidentifier

Address1_AddressTypeCode
PROPERTY VALUE

Description Type of address for address 1, such as billing, shipping, or


primary address.

DisplayName Address 1: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address1_addresstypecode

RequiredLevel None
PROPERTY VALUE

Type Picklist

Address1_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address1_City
PROPERTY VALUE

Description City name for address 1.

DisplayName City

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_city

MaxLength 80

RequiredLevel None

Type String

Address1_Country
PROPERTY VALUE

Description Country/region name for address 1.

DisplayName Country/Region

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_country

MaxLength 80
PROPERTY VALUE

RequiredLevel None

Type String

Address1_County
PROPERTY VALUE

Description County name for address 1.

DisplayName Address 1: County

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_county

MaxLength 50

RequiredLevel None

Type String

Address1_Fax
PROPERTY VALUE

Description Fax number for address 1.

DisplayName Address 1: Fax

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_fax

MaxLength 50

RequiredLevel None

Type String
Address1_Latitude
PROPERTY VALUE

Description Latitude for address 1.

DisplayName Address 1: Latitude

IsValidForForm True

IsValidForRead True

LogicalName address1_latitude

MaxValue 90

MinValue -90

Precision 5

RequiredLevel None

Type Double

Address1_Line1
PROPERTY VALUE

Description First line for entering address 1 information.

DisplayName Street 1

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line1

MaxLength 50

RequiredLevel None

Type String

Address1_Line2
PROPERTY VALUE

Description Second line for entering address 1 information.


PROPERTY VALUE

DisplayName Street 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line2

MaxLength 50

RequiredLevel None

Type String

Address1_Line3
PROPERTY VALUE

Description Third line for entering address 1 information.

DisplayName Street 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_line3

MaxLength 50

RequiredLevel None

Type String

Address1_Longitude
PROPERTY VALUE

Description Longitude for address 1.

DisplayName Address 1: Longitude

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_longitude

MaxValue 180

MinValue -180

Precision 5

RequiredLevel None

Type Double

Address1_Name
PROPERTY VALUE

Description Name to enter for address 1.

DisplayName Address 1: Name

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_name

MaxLength 100

RequiredLevel None

Type String

Address1_PostalCode
PROPERTY VALUE

Description ZIP Code or postal code for address 1.

DisplayName ZIP/Postal Code

FormatName Text

IsLocalizable False

IsValidForForm True
PROPERTY VALUE

IsValidForRead True

LogicalName address1_postalcode

MaxLength 20

RequiredLevel None

Type String

Address1_PostOfficeBox
PROPERTY VALUE

Description Post office box number for address 1.

DisplayName Address 1: Post Office Box

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_postofficebox

MaxLength 20

RequiredLevel None

Type String

Address1_ShippingMethodCode
PROPERTY VALUE

Description Method of shipment for address 1.

DisplayName Address 1: Shipping Method

IsValidForForm True

IsValidForRead True

LogicalName address1_shippingmethodcode

RequiredLevel None

Type Picklist
Address1_ShippingMethodCode Options

VALUE LABEL

1 Default Value

Address1_StateOrProvince
PROPERTY VALUE

Description State or province for address 1.

DisplayName State/Province

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_stateorprovince

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone1
PROPERTY VALUE

Description First telephone number associated with address 1.

DisplayName Phone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone1

MaxLength 50

RequiredLevel None

Type String
Address1_Telephone2
PROPERTY VALUE

Description Second telephone number associated with address 1.

DisplayName Address 1: Telephone 2

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone2

MaxLength 50

RequiredLevel None

Type String

Address1_Telephone3
PROPERTY VALUE

Description Third telephone number associated with address 1.

DisplayName Address 1: Telephone 3

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_telephone3

MaxLength 50

RequiredLevel None

Type String

Address1_UPSZone
PROPERTY VALUE

Description United Parcel Service (UPS) zone for address 1.


PROPERTY VALUE

DisplayName Address 1: UPS Zone

FormatName Text

IsLocalizable False

IsValidForForm True

IsValidForRead True

LogicalName address1_upszone

MaxLength 4

RequiredLevel None

Type String

Address1_UTCOffset
PROPERTY VALUE

Description UTC offset for address 1. This is the difference between local
time and standard Coordinated Universal Time.

DisplayName Address 1: UTC Offset

Format TimeZone

IsValidForForm True

IsValidForRead True

LogicalName address1_utcoffset

MaxValue 1500

MinValue -1500

RequiredLevel None

Type Integer

Address2_AddressId
PROPERTY VALUE

Description Unique identifier for address 2.

DisplayName Address 2: ID
PROPERTY VALUE

IsValidForForm False

IsValidForRead True

LogicalName address2_addressid

RequiredLevel None

Type Uniqueidentifier

Address2_AddressTypeCode
PROPERTY VALUE

Description Type of address for address 2. such as billing, shipping, or


primary address.

DisplayName Address 2: Address Type

IsValidForForm True

IsValidForRead True

LogicalName address2_addresstypecode

RequiredLevel None

Type Picklist

Address2_AddressTypeCode Options

VALUE LABEL

1 Default Value

Address2_City
PROPERTY VALUE

Description City name for address

Вам также может понравиться